Es gibt keine Parameter-Kombi, die für ca. 90% aller Sender/Einträge ein gutes/optimales Ergebnis liefert?
Sagen wir mal so. Ich bin mit den aktuellen Parametern zufrieden und sehe - für mich - keine Notwendigkeit etwas ändern zu müssen. Mit FFmpeg für Video und vlc für Radio habe ich bisher keine Probleme gehabt. Aber es gibt 2 Meldungen, bei denen eine Änderung notwendig sein könnte:
1. fps ist nicht 25/50, sondern 30 oder etwas anderes. Das Video hat dann Mikroruckler
2. Für vlc und Video gab es die Notwendigkeit (siehe #136) die Default Parameter zu ändern, damit es funktioniert.
Den Vorschlag von MarkusE würde ich gerne erweitern um sowohl eine einfache Einstellung, als auch komplizierte Scripte zu ermöglichen.
Idee (zur Diskussion):
1. Eine Ini-Datei mit der Channel Id als Section
2. Als Key/Value 2 Möglichkeiten:
a) Der komplette Aufruf für den Kanal, der selbst erstellt werden müsste. Als Platzhalter würden dann die Video- und Audio-URL angegeben werden.
b) Ein Script, das aufgerufen wird mit dem Eintrag aus der channels.conf + Video-/Audio-URL und Ausgabe wäre der komplette Aufruf. Dazu könnte man ein Script-Skelett erstellen, daß verschiedene Werte schon bestimmt. Vorteil wäre, das man auf Audio-Channels verzichten kann oder den Transcode genauso machen kann, wie man will.
Sollte die Channel Id nicht in der ini Datei zu finden sein, dann wird der aktuelle Aufruf verwendet und damit wäre das Ganze abwärtskompatibel und man könnte für bestimmte Kanäle (falls erforderlich) eben eine Sonderbehandlung vorsehen.
Beispiele:
[I-1-34-21-21]
script=/pfad/zum/script/mach_was_tolles.sh
[I-1-17-7-7]
transcode3=ffmpeg -hide_banner -re -y... -i {V} .. -i {A1} .. -i {A2} ... -i {A3} -codec copy -map 0:v -map 1:a ... usw.
transcode2=ffmpeg -hide_banner -re -y... -i {V} .. -i {A1} .. -i {A2} ... -codec copy -map 0:v -map 1:a ... usw.
transcode1=ffmpeg -hide_banner -re -y... -i {V} .. -i {A1} ... -codec copy -map 0:v -map 1:a ... usw.
Der erste Eintrag verweist auf ein Script und bekommt die Parameter:
<Eintrag aus der channels.conf> <video-url> <audio-url 1> <audio-url 2> <audio-url 3>
Der zweite Eintrag ist eine stark verkürzte Version aus #138 und enthält die Platzhalter für die Video-/Audio Urls. Wobei es 3 Versionen gibt (jeweils für die Anzahl der Audio-URL (1,2 oder 3)).
Das Ganze würde natürlich für vlc ähnlich aussehen.
Vorteile:
Es gibt sowohl eine Möglichkeit einer einfachen Konfiguration oder eben die Möglichkeit ein Script anzuwerfen, in dem so alles gemacht werden kann.
Sollte die ini-Datei nicht vorhanden sein, oder der Eintrag für die channel-id fehlen, würde der Bestandscode greifen. Niemand wird also dazu genötigt eine weitere Konfiguration zu erstellen. Es besteht aber die Möglichkeit auf bestimmte Kanäle flexibler reagieren zu können.
Nachteile:
Entwicklungsaufwand entsteht.
Dokumentationsaufwand entsteht.