(adattato dai commenti sopra)
A seconda dei codec utilizzati (alcuni codec non sono compatibili con alcuni contenitori), è sempre possibile semplicemente copiare gli stream ( -codec copy
). Questo è il modo migliore per evitare cambiamenti di qualità, poiché non stai ricodificando i flussi, ma semplicemente riconfezionandoli in un contenitore diverso.
Quando si tratta di file audio / video, è importante tenere presente che i contenitori sono per lo più indipendenti dai codec utilizzati. È comune vedere persone che si riferiscono a file come "video AVI" o "video MP4", ma questi sono contenitori e ci dicono poco sul fatto che un lettore sarà in grado di riprodurre i flussi, come, a parte le limitazioni tecniche (ad esempio, AVI potrebbe avere problemi con h264 e Ogg Vorbis ), è possibile utilizzare qualsiasi codec.
-same_quant
sembra essere un modo per dire a ffmpeg di provare a ottenere una qualità simile, ma non appena ricodificherai il video (almeno con i codec con perdita), non avrai modo di ottenere la stessa qualità. Se sei interessato alla qualità, una buona regola empirica è quella di evitare la ricodifica dei flussi quando possibile.
Quindi, per copiare i flussi con ffmpeg, dovresti:
ffmpeg -i video.mp4 -codec copy video.avi
( Come accennato da @ Peter.O , l'ordine delle opzioni è importante, quindi è lì che -codec copy
devi andare. Potresti comunque continuare -same_quant
, ma non avrà alcun effetto poiché non stai ricodificando i flussi.)
-codec copy
). Questo è il modo migliore per evitare cambiamenti di qualità, poiché non stai ricodificando i flussi, ma semplicemente riconfezionandoli in un contenitore diverso.