com várias passagens, você deve desativar o áudio no passe 1, com a opção -an, então:
avconv -y -i video.mp4 -pass 1 -vtag libxvid -an -b:v 1500k -f avi /dev/null
Eu normalmente uso o avidemux para converter mp4s em Xvid AVI para o meu Philips Streamium SLM5500. Normalmente eu seleciono MPEG-4 ASP (Xvid) no Two Pass com uma taxa de bits média de 1500kb / s para vídeo e áudio AC3 (lav) e ele converte corretamente.
No entanto, estou tentando usar o avconv para que eu possa automatizar o processo com um script, mas quando faço isso, o vídeo gagueja e pára de funcionar no meio do caminho. Eu suspeito que tenha algo a ver com uma conversão de áudio defeituosa.
Os comandos que estou usando são os seguintes:
avconv -y -i video.mp4 -pass 1 -vtag xvid -c:a ac3 -b:a 128k -b:v 1500k -f avi /dev/null
avconv -y -i video.mp4 -pass 2 -vtag xvid -c:a ac3 -b:a 128k -b:v 1500k -f avi video.avi
Existe uma série desconcertante de argumentos para o avconv. Existe algo que estou fazendo errado? Existe uma maneira que eu possa script avidemux de um servidor sem cabeçalho?
Por favor, veja a saída da linha de comando:
$ avconv -y -i video.mp4 -pass 1 -vtag xvid -an -b:v 1500k -f avi /dev/null
avconv version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
built on Jan 24 2013 14:49:20 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2013-02-04 13:53:38
Duration: 00:44:09.16, start: 0.000000, bitrate: 669 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 720x404 [PAR 1:1 DAR 180:101], 538 kb/s, 25 fps, 25 tbr, 100 tbn, 50 tbc
Metadata:
creation_time : 2013-02-04 13:53:38
Stream #0.1(und): Audio: ac3, 44100 Hz, stereo, s16, 127 kb/s
Metadata:
creation_time : 2013-02-04 13:53:42
[buffer @ 0x7f4c40] w:720 h:404 pixfmt:yuv420p
Output #0, avi, to '/dev/null':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2013-02-04 13:53:38
ISFT : Lavf53.21.1
Stream #0.0(und): Video: mpeg4, yuv420p, 720x404 [PAR 1:1 DAR 180:101], q=2-31, pass 1, 1500 kb/s, 25 tbn, 25 tbc
Metadata:
creation_time : 2013-02-04 13:53:38
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg4)
Press ctrl-c to stop encoding
frame=66227 fps=328 q=2.0 Lsize= 0kB time=2649.16 bitrate= 0.0kbits/s
video:401602kB audio:0kB global headers:0kB muxing overhead -100.000000%
$ avconv -y -i video.mp4 -pass 2 -vtag xvid -c:a ac3 -b:a 128k -b:v 1500k -f avi video.avi
avconv version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
built on Jan 24 2013 14:49:20 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2013-02-04 13:53:38
Duration: 00:44:09.16, start: 0.000000, bitrate: 669 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 720x404 [PAR 1:1 DAR 180:101], 538 kb/s, 25 fps, 25 tbr, 100 tbn, 50 tbc
Metadata:
creation_time : 2013-02-04 13:53:38
Stream #0.1(und): Audio: ac3, 44100 Hz, stereo, s16, 127 kb/s
Metadata:
creation_time : 2013-02-04 13:53:42
[buffer @ 0x12b4f00] w:720 h:404 pixfmt:yuv420p
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[mpeg4 @ 0x12b3ec0] [lavc rc] Using all of requested bitrate is not necessary for this video with these parameters.
Output #0, avi, to 'video.avi':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2013-02-04 13:53:38
ISFT : Lavf53.21.1
Stream #0.0(und): Video: mpeg4, yuv420p, 720x404 [PAR 1:1 DAR 180:101], q=2-31, pass 2, 1500 kb/s, 25 tbn, 25 tbc
Metadata:
creation_time : 2013-02-04 13:53:38
Stream #0.1(und): Audio: ac3, 44100 Hz, stereo, flt, 128 kb/s
Metadata:
creation_time : 2013-02-04 13:53:42
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg4)
Stream #0:1 -> #0:1 (ac3 -> ac3)
Press ctrl-c to stop encoding
Input stream #0:1 frame changed from rate:44100 fmt:s16 ch:2 to rate:44100 fmt:flt ch:2
frame=66227 fps=284 q=2.2 Lsize= 458486kB time=2649.13 bitrate=1417.8kbits/s
video:413716kB audio:41393kB global headers:0kB muxing overhead 0.741969%
com várias passagens, você deve desativar o áudio no passe 1, com a opção -an, então:
avconv -y -i video.mp4 -pass 1 -vtag libxvid -an -b:v 1500k -f avi /dev/null
Segundo o fabricante, o Philips SLM5500 seria melhor combinado com vídeo WMA ou MPEG .
Com base nessa suposição, você poderia facilmente usar o seguinte para o avconv:
avconv -i video.mp4 -c:v mpeg2video -b:v 1500k -c:a mp2 video.mpg
Isso deve ser o suficiente para você começar, você pode ajustar suas configurações para duas passagens como achar melhor.