ffmpeg-Befehl hinzugefügt
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
LOGFILE="/home/sandro/m3u/livetv_log.txt"
|
||||
ARGS=("$@")
|
||||
IS_LIVE=false
|
||||
MODIFIED="NEIN"
|
||||
|
||||
for arg in "${ARGS[@]}"; do
|
||||
if [[ "$arg" == rtsp://* ]] || [[ "$arg" == http://* && "$arg" == *m3u8* ]]; then
|
||||
IS_LIVE=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$IS_LIVE" = true ]; then
|
||||
# Wir bauen die ARGS komplett neu, um die Positionierung zu garantieren
|
||||
NEW_ARGS=()
|
||||
FOUND_AUDIO=false
|
||||
|
||||
for i in "${!ARGS[@]}"; do
|
||||
# Wenn wir das Ziel-File erreichen (letztes Argument),
|
||||
# fügen wir unsere Spezial-Parameter davor ein.
|
||||
if [ $i -eq $((${#ARGS[@]} - 1)) ]; then
|
||||
# Wenn bisher kein Audio-Codec gefunden wurde, erzwingen wir Video + Audio Mapping
|
||||
if [ "$FOUND_AUDIO" = false ]; then
|
||||
# -map 0:v:0 -> Nimm das erste Video-Signal
|
||||
# -map 0:a:0? -> Nimm das erste Audio-Signal (falls vorhanden)
|
||||
NEW_ARGS+=("-map" "0:v:0" "-map" "0:a:0?" "-codec:a:0" "libfdk_aac" "-b:a" "128k")
|
||||
MODIFIED="JA (Full Map + fdk_aac)"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Aktuelles Argument hinzufügen
|
||||
NEW_ARGS+=("${ARGS[$i]}")
|
||||
|
||||
# Prüfen, ob Jellyfin schon Audio-Parameter liefert (falls ja, ersetzen wir sie)
|
||||
if [[ "${ARGS[$i]}" == "-codec:a:0" || "${ARGS[$i]}" == "-c:a" ]]; then
|
||||
# Der Codec ist immer das NÄCHSTE Element im Array
|
||||
# Das wird im nächsten Schleifendurchlauf durch den Check oben überschrieben oder wir machen es hier:
|
||||
# Da das Skript komplexer wird, belassen wir es beim "Erzwingen"-Ansatz,
|
||||
# da dein Log zeigt, dass Jellyfin es eh vergisst.
|
||||
FOUND_AUDIO=true
|
||||
fi
|
||||
done
|
||||
ARGS=("${NEW_ARGS[@]}")
|
||||
fi
|
||||
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Live: $IS_LIVE | Mod: $MODIFIED | Cmd: ${ARGS[*]}" >> "$LOGFILE"
|
||||
|
||||
exec /usr/lib/jellyfin-ffmpeg/ffmpeg.original "${ARGS[@]}"
|
||||
Reference in New Issue
Block a user