Vamos enumerar os parâmetros para ffmpeg
então.
-
-acodec
é melhor escrito-c:a
(codec menmonico para áudio) -
-vcodec
é melhor escrito-c:v
(mesmo mnemônico) -
-i
é o arquivo de entrada (não-I
)
ffmpeg
faz uma suposição muito boa com base em extensões de arquivo, portanto:
ffmpeg -i file.wem file.mp4
Converte as coisas, mas provavelmente em uma qualidade muito ruim.
Por H264
você está após o codec libx264
, portanto deve ser:
ffmpeg -i file.avi -c:v libx264 -c:a copy file.mp4
Como teste, vamos usar o exemplo clássico webm
:
$ wget http://video.webmfiles.org/big-buck-bunny_trailer.webm
...
$ ffmpeg -i big-buck-bunny_trailer.webm -c:a copy -c:v libx264 bbb.mp4
...
$ ffprobe bbb.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:32.50, start: 0.000000, bitrate: 414 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 341 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: vorbis (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 64 kb/s (default)
Metadata:
handler_name : SoundHandler
E isso parece promissor, o stream # 0: 0 é um fluxo de vídeo codificado por H264.