FFmpeg: Qualität während der Konvertierung beibehalten [duplizieren]

15

Mögliches Duplizieren:
Konvertieren Sie AVI in MP4 bei gleicher Qualität

Ich möchte eine gute Menge von wmv-, mpg- und avi-Dateien (mit unterschiedlichen Audio- und Videocodierungen) in mp4 / x264 / aac mit gleicher Qualität konvertieren. Ich habe einige Tests mit dem folgenden Befehl durchgeführt:

ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"

(Wie Sie sehen, habe ich Optionen ausgelassen, die die Bitrate und Qualität von Audio und Video angeben.)

Mit diesem Befehl behält FFmpeg automatisch die Videodimensionen bei, aber ich bin mir immer noch nicht sicher, wie es mit Dingen wie Bitrate umgeht, wenn sie weggelassen werden. Wie kann die Qualität eines Videos am besten beibehalten werden, während es in ein anderes Format und einen anderen Codec konvertiert wird?

Ich verwende 64-Bit-Windows 7 und ffmpeg-20121230-git-518239c-win64-shared

x74x61
quelle
Ich erinnerte mich nur daran, dass gestern die gleiche Frage gestellt wurde: AVI in MP4 konvertieren und dabei die Qualität beibehalten.
Slhck

Antworten:

22

FFmpeg setzt die -crfOption standardmäßig auf 23.

Versuchen:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"

Die CRF- Option legt die Codierungsqualität fest. Die Bitrate variiert nach Bedarf, um im gesamten Video eine gleichbleibende Qualität zu erzielen. 51 ist das schlechteste bis 0 das beste - verlustfrei.

Ich neige dazu, alle meine Kodierungen auf 20 zu setzen, was zufällig die Standardeinstellung von Handbrake ist, und ich bin mit der Qualität zufrieden. Ich schlage vor, mit diesem Wert herumzuspielen, um ein für Sie akzeptables Qualitätsniveau zu finden.

Sie können die Optionen -ssund verwenden -t, um kurze Testkodierungen zu erstellen. -ssStartzeit und -tDauer - beides in Sekunden. Sie müssen wahrscheinlich nicht das gesamte Video codieren, um festzustellen, was akzeptabel ist.

So erstellen Sie einen 1-minütigen Clip ab 1 Minute im Video:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20  -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"
paulgrav
quelle
1
Vielen Dank. Ich habe ein bisschen gesucht. Laut diesem Artikel ist 23 die Standardeinstellung, während 18 als visuell verlustfrei gilt: "Es sollte genauso oder fast genauso aussehen wie die Eingabe, aber technisch gesehen ist es nicht verlustfrei."
x74x61
Noch eine Frage: Was würden Sie für Audio empfehlen?
x74x61
@ x74x61 libvo_aacencliefert im Vergleich zu libfaac, mit einer Standardqualitätseinstellung (variable Bitrate) von 100% ( -q:a 100) , eher schlechte Qualität . Probieren Sie das aus.
Slhck