Respostas:
Dependendo de como o arquivo original foi codificado, talvez não seja possível manter o tamanho do arquivo.
ffmpeg -i infile.avi youroutput.mp4
deve manter intactos os tamanhos e taxas de quadros ao criar um arquivo mp4.
ffmpeg -i infile.avi
fornecerá informações sobre o arquivo de entrada - tamanho do quadro, codecs usados, taxa de bits etc.
Você também pode brincar com as opções acodec
e vcodec
ao gerar sua saída. Lembre-se também de que os arquivos mp4 e avi podem usar vários codecs e sua milhagem pode variar de acordo com o codec que você escolher.
Eu estava muito interessado em converter arquivos avi para mp4. Lendo sua postagem, lembrei-me deste comando ffmpeg:
ffmpeg -i input.avi -strict -2 output.mp4
O comando -strict -2
é necessário pelo codec AAC, que é experimental, mas funciona (libaac), se você adicionar esses dois parâmetros. O arquivo de saída é de alta qualidade por padrão.
Tanto quanto eu entendo, é necessário substituir o avi-container por mp4 one (formalmente - formato de arquivo de mídia base ISO ISO / IEC 14496-12).
se você executar o seguinte comando:
ffmpeg -i input.avi -y output.mp4
Nesse caso, o ffmpeg recodifica os fluxos elementares no input.avi ( cahnge containers e recodificar é o modo padrão do ffmpeg ). Vale notar que a recodificação pode deteriorar a qualidade visual e / ou auditiva.
Portanto, é recomendável desativar a recodificação usando as opções de codec " c: v copy c: a copy ":
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4
No caso acima, o ffmpeg apenas muda as conchas (contêineres)
ffprobe -i infile.avi
vez deffmpeg -i infile.avi
obter informações, pois o último resulta no erro "Pelo menos um arquivo de saída deve ser especificado".