(adaptado dos comentários acima)
Dependendo dos codecs usados (alguns codecs são incompatíveis com alguns contêineres), você sempre pode simplesmente copiar os fluxos ( -codec copy
). Essa é a melhor maneira de evitar alterações na qualidade, pois você não está reencodificando os fluxos, apenas reembalando os em um contêiner diferente.
Ao lidar com arquivos de áudio / vídeo, é importante ter em mente que os contêineres são principalmente independentes dos codecs usados. É comum ver pessoas se referindo a arquivos como "vídeo AVI" ou "vídeo MP4", mas esses são contêineres e nos dizem pouco sobre se um jogador poderá reproduzir os fluxos, além de limitações técnicas (por exemplo, AVI pode ter problemas com h264 e Ogg Vorbis ), você pode usar qualquer codec.
-same_quant
parece ser uma maneira de dizer ao ffmpeg para tentar obter uma qualidade semelhante, mas assim que você recodifica o vídeo (pelo menos com codecs com perdas), você não tem como obter a mesma qualidade. Se você se preocupa com a qualidade, uma boa regra é evitar recodificar os fluxos sempre que possível.
Portanto, para copiar os fluxos com ffmpeg, você deve:
ffmpeg -i video.mp4 -codec copy video.avi
( Como o @ Peter.O mencionou , a ordem das opções é importante, então é para onde -codec copy
deve ir. Você ainda pode mantê- -same_quant
lo, mas isso não terá nenhum efeito, pois você não está recodificando os fluxos.)
-codec copy
). Essa é a melhor maneira de evitar alterações na qualidade, pois você não está reencodificando os fluxos, apenas reembalando os em um contêiner diferente.