web-dev-qa-db-de.com

Wie kann ich mehrere FLV-Dateien zu einer verketten?

Ich habe eine Handvoll FLV-Dateien, die in der Tat eine einzelne Sequenz sind. Ich möchte sie zu einer einzigen Datei zusammenfassen, z. Aus part1.flv, part2.flv, part3.flv wird final.flv.

Was ist der einfachste Weg, dies zu tun, ohne die Videoqualität zu verlieren?

4
david.libremone

Ich würde mencoder vorschlagen. Dies ist ein Teil von mplyaer und kann in der Befehlszeile verwendet werden:

mencoder -oac copy -ovc copy -o final.avi part1.flv part2.flv part3.flv

Normalerweise stehen -oac Und -ovc Für spezielle Audio- und Video-Codecs. In diesem Fall wird in den Befehlen angegeben, dass sie nur kopiert (gestreamt) werden sollen. Die Option -o Gibt den Namen der Ausgabedatei an.

Die Ausgabe könnte zu FLV gezwungen werden, aber dies ist derzeit fehlerhaft, und Sie erhalten die folgende Meldung, wenn Sie versuchen, -of lavf Hinzuzufügen:

[~ # ~] erinnere dich an [~ # ~] : Das libavformat-Muxing von MEncoder ist derzeit fehlerhaft und kann [~ erzeugen # ~] falsche [~ # ~] Dateien bei Vorhandensein von B-Frames. Außerdem spielt MPlayer diese INCORRECT-Dateien aufgrund von Fehlern ab, als ob nichts falsch wäre!

Laut Ihrem Kommentar haben Sie den Fehler erhalten:

Das Audioformat 0x4134504d ist nicht mit '-oac copy' kompatibel. Versuchen Sie stattdessen '-oac pcm' oder verwenden Sie '-fafmttag', um es zu überschreiben.

Laut einem Blogeintrag wird dies durch den Versuch verursacht, AAC-Audio zu konvertieren. In diesem Fall können Sie stattdessen -oac mp3lame Versuchen.

Andernfalls fügen Sie die Option -fafmttag Sowie einen Code für Ihren Audio-Codec hinzu. Normalerweise hat mplayer eine Datei etc/codecs.conf. Dort finden Sie, welcher Code welchem ​​Codec zugeordnet ist. Diese Datei existiert nicht immer.

Wenn dies bei Ihnen nicht funktioniert, können Sie das Audio auch neu codieren. Dies ist jedoch zu komplex, um in dieser Antwort beschrieben zu werden. Sie müssen sich die Manpage ansehen oder hier eine andere Frage stellen.

5
qbi