Hallo,
wie kann man mittels eines Kommandozeilentools (vorzugsweise ffmpeg) unter Linux mehrere FLVs zu einer einzigen zusammenfügen?
Mit mencoder geht es zwar auf nem Testsystem sehr schnell und gut, aber das kann ich nicht auf dem Zielsystem installieren, weil ich nichts auf dem installieren darf / sollte ....
Diesen Code habe ich aus der ffmpeg - Hilfe, aber er liefert nen Pipe error:
mkfifo temp1.a
mkfifo temp1.v
mkfifo temp2.a
mkfifo temp2.v
mkfifo all.a
mkfifo all.v
#only audio (disable video recording by -vn)
ffmpeg -i input1.flv -vn -f u16le -acodec mp3 -ac 2 -ar 22050 - > temp1.a < /dev/null &
ffmpeg -i input2.flv -vn -f u16le -acodec mp3 -ac 2 -ar 22050 - > temp2.a < /dev/null &
#only video (disable audio recording by -an)
ffmpeg -i input1.flv -an -f yuv4mpegpipe - > temp1.v < /dev/null &
ffmpeg -i input2.flv -an -f yuv4mpegpipe - > temp2.v < /dev/null &
cat temp1.a temp2.a > all.a &
cat temp1.v temp2.v > all.v &
ffmpeg -f u16le -acodec mp3 -ac 2 -ar 22050 -i all.a \
-f yuv4mpegpipe -i all.v \
-sameq -y output.flv
rm temp[12].[av] all.[av]
exit 0
Alles anzeigen
Teste ich es manuell Schritt für Schritt auf der Kommandozeile funktioniert das Umwandeln von flv in mpeg ganz gut.
Das erste Problem taucht dann beim zusammenfügen mittels "cat" auf. Es wird zwar eine Datei geschrieben, die in Größe und Abspieldauer der Summe der beiden Dateien entspricht, aber nur der Erste Film wird tatsächlich abgespielt. Nach dem ersten bricht das Video ab.
Das zweite Problem ist, dass rießige temporäre Dateien (>100 MB pro Filmminute!!) erzeugt werden das ist aber jetzt erstmal noch nicht so wichtig...
Vielleicht hat ja jemand ne Idee.
Grüße