(na podstawie powyższych komentarzy)
W zależności od używanych kodeków (niektóre kodeki są niekompatybilne z niektórymi kontenerami), zawsze możesz po prostu skopiować strumienie ( -codec copy
). Jest to najlepszy sposób na uniknięcie zmian jakości, ponieważ nie ponownie kodujesz strumieni, po prostu ponownie pakujesz je w innym kontenerze.
Podczas pracy z plikami audio / wideo należy pamiętać, że kontenery są w większości niezależne od używanych kodeków. Często ludzie określają pliki jako „wideo AVI” lub „wideo MP4”, ale są to kontenery i niewiele mówią o tym, czy odtwarzacz będzie mógł odtwarzać strumienie, ponieważ oprócz ograniczeń technicznych (na przykład AVI może mieć problemy z h264 i Ogg Vorbis ), możesz użyć dowolnego kodeka.
-same_quant
wydaje się być sposobem, aby powiedzieć ffmpeg, aby spróbował osiągnąć podobną jakość, ale jak tylko ponownie kodujesz wideo (przynajmniej z kodekami stratnymi), nie masz możliwości uzyskania takiej samej jakości. Jeśli zależy Ci na jakości, dobrą zasadą jest unikanie ponownego kodowania strumieni, gdy jest to możliwe.
Aby skopiować strumienie za pomocą ffmpeg, wykonaj następujące czynności:
ffmpeg -i video.mp4 -codec copy video.avi
( Jak wspomniano @ Peter.O , kolejność opcji jest ważna, więc tam -codec copy
trzeba iść. Możesz nadal zachować -same_quant
, ale nie przyniesie to żadnego efektu, ponieważ nie będziesz ponownie kodować strumieni.)
-codec copy
). Jest to najlepszy sposób na uniknięcie zmian jakości, ponieważ nie ponownie kodujesz strumieni, po prostu ponownie pakujesz je w innym kontenerze.