Welchen FFmpeg-Befehl verwende ich, um FLV zu MP4 durchzuleiten?

5820
user338034

Ich habe eine Reihe von FLV-Dateien heruntergeladen, die ich in MP4 konvertieren möchte. Sie sind bereits im richtigen Format, so dass mir gesagt wird, dass ich nur die Video- und Audioströme mithilfe von copy / pass through in einen MP4-Container remuxen muss.

Ich bin unter Windows 7 64 Bit und habe bereits FFmpeg als Teil von get_iPlayer.

Ich habe Mühe, die Befehlszeile dafür zu erarbeiten, bitte?

Wäre es auch möglich, mehrere FLV-Dateien auf dieselbe Art und Weise zu verarbeiten?

5
Vielleicht würde [this] (http://superuser.com/q/624565/148285) oder [this] (http://superuser.com/q/483597/148285) helfen? BenjiWiebe vor 10 Jahren 0

2 Antworten auf die Frage

5
JP de la Torre

It should be something like:

ffmpeg -i yourvideo.flv -codec copy output.mp4 

You can use FOR command to loop through files (it recurses down your tree):

FOR /R C:\dir\ %%F IN (*.flv) do ffmpeg -i "%%F" -codec copy "%~nF.mp4" 

Just to clarify, %~nF returns only the name portion of the filename (without the extension).

4
Octavian Naicu

Sie haben bereits das richtige Format

.flv-Videos sind komplexe Dateien, die viele Arten von Audio und Video enthalten können. Zum Überprüfen der Audio- und Video-Codecs einer FLV-Datei können Sie Folgendes verwenden:

1. ffmpeg

ffmpeg -i video.flv 

welche (in Ihrem Fall) etwas ausgeben sollte:

Input #0, flv, from 'video.flv': Duration: 00:05:01.20, start: 0.000000, bitrate: 66 kb/s Stream #0.0: Video: h264, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 66 kb/s, 29.92 tbr, 1k tbn, 2k tbc  Stream #0.1: Audio: aac, 22050 Hz, stereo, s16 

oder

2. Medieninformationsfenster des VLC : VLC's Media Information window for a flv file with AAC and H.264

Diese FLV-Datei enthält H.264-Video und AAC-Audio, die zufällig die richtigen Formate / Codecs für den MP4-Container sind.

Hier ist die Struktur einer solchen .mp4-Datei:

mp4 file containing AAC audio and H.264 video

* Mit freundlicher Genehmigung der Konvertierung von FLV in MP4 mit FFmpeg The Ultimate Guide

Wenn Sie also flv in mp4 übertragen, haben wir in Abhängigkeit von den Codecs in der ursprünglichen .flv-Datei 4 Fälle:

1) Konvertieren von .flv-Dateien mit H.264-Video und AAC-Audio

Wenn die Audio- und Video-Codecs in den FLV-Dateien vom MP4-Container (AAC + H.264) unterstützt werden, können Sie die Streams ohne Transcodierung in eine MP4-Datei kopieren:

ffmpeg -i video.flv -codec copy video.mp4 

Solche .flv-Dateien sind sehr selten.

Dieser Vorgang ist MASSIV schneller als das Dekodieren und erneute Kodieren der gesamten Audio- und Videodaten.

2) Konvertieren von .flv-Dateien mit H.264-Video und Nellymoser / Speex-Audio

Wenn ein oder mehrere der Videos H.264 haben Video- und Nellymoser Asao / Speex - Audio (sehr häufig mit .flv - Dateien), dann müssen Sie Video kopieren (- v Codec statt - Codecs) und Transcodierungs (nur), um das Audio:

ffmpeg -i video.flv -vcodec copy video.mp4 

3) Konvertieren von FLV-Dateien mit Spark / VP6-Video und Nellymoser / Speex-Audio

Wenn die Video- und Audiodaten von flv nicht mit den korrekten Codecs für .mp4 codiert sind (Spark & ​​VP6-Videocodecs waren sehr häufig), müssen Sie sowohl AAC als auch H.264 erzwingen :

ffmpeg -i video.flv video.mp4 

4) Konvertieren von FLV-Dateien mit Spark / VP6-Video und AAC-Audio

Eine FLV-Datei mit anderen AAC-Audio- und -Videos als H.264 kann selten vorkommen. Nur für den Fall, wie Sie sie auf die effizienteste Weise in .mp4 umcodieren können (die Audiodaten kopieren):

ffmpeg -i video.flv -acodec copy video.mp4