Você sempre perde um pouco de qualidade sempre que transcodifica de um codec para outro, vídeo ou áudio, mas talvez você possa evitá-lo se quiser mudar apenas do tipo de contêiner MP4 para um contêiner AVI. codec:copy
pode ser útil se você não tiver um motivo para transcodificar (e deve ser mais rápido).
Se você precisar transcodificar porque precisa usar um codec de vídeo específico, espero que você possa usar a sugestão de zetah acima em seu comentário e usar a -sameq
opção Como alternativa, você pode usar a qscale
opção para definir a qualidade manualmente. Quanto menor o número, melhor a qualidade, mas mais espaço o seu arquivo terá.
A última vez que transcodifiquei o vídeo, usei qscale=8.0
, mas sugiro que você experimente o melhor para corresponder à qualidade da sua entrada.
Marty Jay menciona com presteza que sameq significa o mesmo quantizador da entrada, o que pode não resultar na mesma qualidade. O artigo que ele cita menciona o uso da conversão multipass, que é uma boa maneira de obter melhor compactação sem sacrificar a qualidade.
-sameq
switch, que colocará o mesmo codec de vídeo (assumindo H264) no contêiner AVI. Se o seu player não suporta H264 no AVI, é necessário transcodificar o melhor formato de vídeo possível (H264) para algum formato medíocre, o que não é bom. Em seguida, você atribui uma taxa de bits de vídeo mais alta XVID (digamos 2000 Kb / s). Áudio não importa que muito IMHO, mas melhor para converter para MP3, em seguida, AC3