Abhängig von den in Ihrem FLV verwendeten Codecs können Sie möglicherweise davonkommen, indem Sie ihn einfach wieder in einen mp4-Container einwickeln. Du brauchst H.264
oder MPEG4 simple profile
Video und AAC
Audio. Informationen zu Ihrer Quelldatei finden Sie unterffmpeg -i input.flv
Ich bin mir nicht sicher, ob es gut genug ist, H.264 / MPEG4 Simple + AAC zu haben oder ob es bestimmte Optionen für die unterstützten Codecs gibt. Es ist leicht genug zu testen:
Versuchen Sie es mit
ffmpeg -i input.flv -c copy -copyts output.mp4
-copyts
ist copy timestamps
es wird dazu beitragen, Audio-Synchronisation.
Wenn dies nicht funktioniert, versuchen Sie, Audio- und Video-Codecs zu erzwingen. Dies wird die Datei neu codieren:
ffmpeg -i input.flv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4
Um die Videoqualität zu verbessern, können Sie einen niedrigeren CRF-Wert verwenden, z. B. einen Wert bis 18. Um eine kleinere Datei zu erhalten, verwenden Sie einen höheren CRF-Wert. Beachten Sie jedoch, dass dies die Qualität beeinträchtigt.
Verwenden Sie einen höheren Qualitätswert, um die Audioqualität zu verbessern. Bei FAAC 100
ist dies die Standardeinstellung.
Hier einige Gedanken zum Befehl ffmpeg, der in der Frage vorgeschlagen wurde.
-ar
bezieht sich auf die Audio-Abtastrate. Ich würde empfehlen, nicht damit herumzuspielen, bis Sie die Dinge besser verstanden haben. Wenn Sie mit Audiocodierung spielen möchten, passen Sie die Bitrate an (z. B. -b:a 128k
) und lassen Sie den Encoder darauf basierend auswählen, was zu tun ist.
Wenn Sie am Ende diese Straße runter gehen ...
Die CD-Qualität beträgt 44100Hz Sampling; typisches Video verwendet 48000Hz.
Sie können feststellen, dass 22050 im Beispiel der ursprünglichen Frage 1/2 der CD-Qualitäts-Samplerate ist. Wenn Sie CD-Material herunterkonvertieren, ist dies eine gute Wahl. Wenn Sie mit einer 48-KHz-Quelle beginnen (was Sie wahrscheinlich sind; dies ist wiederum in Videodateien weitaus häufiger als 44100), würde ich stattdessen 24 KHz verwenden. Es wird wahrscheinlich nicht viel ausmachen, aber es könnte ein bisschen besser klingen und etwas weniger CPU für die Konvertierung benötigen.
ffmpeg
die Unterstützung fürlibaac
. Diese Frage entweder schlägt mitffmpeg
‚nativen AAC - Codierer über-c:a aac
oder das Fraunhofer FDK AAC - Codec über-c:a libfdk_aac
(die erfordern Kompilierenffmpeg
mit Unterstützunglibfdk_aac
).