
Wenn ich dies verwende, sieht die Qualität nicht schlecht aus.
ffmpeg -same_quant -i video.mp4 video.avi
In der ffmpeg
Dokumentation steht: „Beachten Sie, dass dies NICHT DIE GLEICHE QUALITÄT ist. Verwenden Sie diese Option nicht, es sei denn, Sie wissen, dass Sie sie benötigen.“
Bekomme ich -same_quant
die beste Qualität oder gibt es eine Option, die die gleiche Qualität wie die Eingabe liefert und eher zu empfehlen ist?
Antwort1
(angepasst aus den obigen Kommentaren)
Abhängig von den verwendeten Codecs (einige Codecs sind mit einigen Containern nicht kompatibel) können Sie die Streams auch einfach kopieren ( -codec copy
). Das ist die beste Methode, um Qualitätsveränderungen zu vermeiden, da Sie die Streams nicht neu kodieren, sondern nur in einem anderen Container neu verpacken.
Beim Umgang mit Audio-/Videodateien ist zu beachten, dassBehältersind größtenteils unabhängig von den verwendeten Codecs. Es ist üblich, dass Leute Dateien als "AVI-Video" oder "MP4-Video" bezeichnen, aber das sind Container und sagen wenig darüber aus, ob ein Player die Streams abspielen kann, da abgesehen von technischen Einschränkungen (z. B.AVI hat möglicherweise Probleme mit h264 und Ogg Vorbis), können Sie jeden beliebigen Codec verwenden.
-same_quant
scheint eine Möglichkeit zu sein, ffmpeg anzuweisen, eine ähnliche Qualität zu erreichen, aber sobald Sie das Video neu kodieren (zumindest bei verlustbehafteten Codecs), haben Sie keine Möglichkeit mehr, die gleiche Qualität zu erreichen. Wenn Ihnen die Qualität wichtig ist, ist eine gute Faustregel, die Neukodierung der Streams nach Möglichkeit zu vermeiden.
Um die Streams mit ffmpeg zu kopieren, gehen Sie folgendermaßen vor:
ffmpeg -i video.mp4 -codec copy video.avi
(Wie @Peter.O erwähnte, die Reihenfolge der Optionen ist wichtig, also -codec copy
muss sie dort hin. Sie könnten auch beibehalten -same_quant
, aber das hätte keine Auswirkungen, da Sie die Streams nicht neu kodieren.)
Antwort2
Unter FreeBSD 8.2 habe ich -codec copy versucht, aber auch hier die Meldung unknown decoded erhalten. Nach einigem Ausprobieren habe ich die Version gefunden, die unter FreeBSD funktioniert:
ffmpeg -i video.mp4 -vcodec copy video.avi