Como converter de um container .avi para .mp4

1

Eu tenho um arquivo .avi contendo os seguintes fluxos:

Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 608x256 [PAR 1:1 DAR 19:8], 23.98 tbn, 23.98 tbc

Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16p, 128 kb/s

Eu quero reproduzir esse filme em um iPhone que deveria oferecer suporte a fluxos de vídeo mpeg4, conforme declarado em uma pergunta anterior aqui . Por enquanto, eu não me importo com o fluxo de áudio (mp3 não parece ser suportado pelo Iphone)

Como consequência, estou procurando uma maneira de simplesmente converter o formato "contêiner" do meu arquivo de .avi para .mp4 exigido pelo Iphone. É factível e, se sim, como devo fazer isso?

    
por Manuel Selva 23.09.2014 / 22:04

5 respostas

2

Provavelmente, adicione também a maneira de fazer isso com avconv :

avconv -i input.avi -c:v copy -c:a copy output.mp4

Se você está compilando libav da fonte para fazer isso, você precisa ter certeza que você ativou o muxer mp4. Você pode fazer isso com

./configure [your other options] --enable-muxer=mp4

Normalmente, ele está habilitado por padrão de qualquer forma, mas eu estou fornecendo aqui caso você esteja usando --disable-everything ou --disable-muxers em algum lugar nas opções regulares.

    
por 09.11.2014 / 11:14
4

Usando ffmpeg , é fácil alterar apenas o formato do contêiner e apenas copiar o fluxo (re -mux) todos os seus fluxos sem reencodificar:

ffmpeg -i input.avi -map 0 -codec copy output.mov

Se você especificar a extensão .mov , poderá omitir -f mov , porque ffmpeg adivinha a partir da extensão. Se você realmente quiser remover alguns fluxos, verifique a opção -map e leia sobre a seleção de fluxo padrão .

    
por 24.09.2014 / 09:47
0

Você sempre pode usar o mencoder

Leia mais aqui: Codificando vídeo para iPhone com mencoder

    
por 24.09.2014 / 07:07
0

Isso é o que eu uso:

ffmpeg -y -i %INFILE% -vcodec mpeg4 -r 65535/2733 -vb 600k -acodec libvo_aacenc -ac 1 -ab 94000 -ar 16000 -s 480x320 %OUTFILE%.new.mp4

É retirado de um script em lote do DOS, portanto você pode precisar atualizar um pouco as variáveis.

A resolução da tela é otimizada para o meu telefone, portanto, talvez seja necessário alterar isso também. Ou você pode simplesmente deixar de fora.

O -vb é a taxa de bits do vídeo. Não preciso de vídeo super rápido, então costumo redimensioná-lo para esse valor. Mais uma vez, você pode deixar isso para fora, se desejar.

    
por 24.09.2014 / 07:13
0
ffmpeg -i input.avi -c:v libx264 -profile:v baseline -level 3.0 -c:a copy output.mp4

Isso recodifica seu vídeo com h.264, mas deve funcionar em todos os iphones.

    
por 25.09.2014 / 20:35