¿Cómo puedo convertir mis archivos mp4 a avi usando avconv?

8

Necesito convertir algunos archivos mp4 a otro formato (elegí avi: puede haber uno mejor, sugerencias bienvenidas). Intenté usar ffmpeg pero recibí el mensaje obsoleto, así que estoy usando avconv, pero nuevamente puede haber una mejor herramienta.

Esto es lo que estoy usando: avconv -i e2.mp4 -vtag libxvid -b:v 1500k e2.avi

Esto me da el siguiente resultado:

avconv version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:09:46 with gcc 4.8.1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1c677a0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'e2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf53.21.1
    media_type      : 10
    copyright       : � 2014 British Broadcasting Corporation, all rights reserved
    title           : Episode 2
    artist          : BBC Four
    album_artist    : BBC TV
    album           : The Bridge: Series 2
    composer        : BBC iPlayer
    genre           : Drama
    comment         : Online, four individuals in masks use signs to claim responsibility for the plague.
    date            : 2014-01-04T22:00:00Z
    track           : 2
    disc            : 2
    description     : Online, four individuals in masks use signs to claim responsibility for the plague.
    show            : The Bridge: Series 2
    episode_id      : s02e02
    season_number   : 2
    episode_sort    : 2
    network         : BBC Four
  Duration: 00:57:38.16, start: 0.000000, bitrate: 2399 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 2298 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 93 kb/s
[buffer @ 0x1c69260] w:1280 h:720 pixfmt:yuv420p
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
[ac3 @ 0x1c2a160] invalid bit rate
Output #0, avi, to 'e2.avi':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf53.21.1
    media_type      : 10
    copyright       : � 2014 British Broadcasting Corporation, all rights reserved
    title           : Episode 2
    artist          : BBC Four
    album_artist    : BBC TV
    album           : The Bridge: Series 2
    composer        : BBC iPlayer
    genre           : Drama
    comment         : Online, four individuals in masks use signs to claim responsibility for the plague.
    date            : 2014-01-04T22:00:00Z
    track           : 2
    disc            : 2
    description     : Online, four individuals in masks use signs to claim responsibility for the plague.
    show            : The Bridge: Series 2
    episode_id      : s02e02
    season_number   : 2
    episode_sort    : 2
    network         : BBC Four
    Stream #0.0(und): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 1500 kb/s, 90k tbn, 25 tbc
    Stream #0.1(und): Audio: ac3, 48000 Hz, stereo, flt, 200 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg4)
  Stream #0:1 -> #0:1 (aac -> ac3)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height

También recibo un archivo e2.avi que está vacío. No he usado avconv antes, ¿cuál sería la forma correcta de hacerlo? Puedo publicar más detalles si es necesario.

¡Gracias por adelantado!

microbug
fuente
Le dice "Formato de muestra incompatible 's16' para el códec 'ac3', formato de selección automática 'flt'" y "Error al abrir el codificador para el flujo de salida # 0: 1 - quizás parámetros incorrectos como bit_rate, rate, width o altura". lo que significa que descubrió su archivo de entrada, pero no pudo configurar el archivo de salida. Leer man avconv.
waltinator

Respuestas:

8

Dado que AVI es solo un contenedor para almacenar sus datos, la forma más rápida de convertir su video es simplemente copiar el flujo de audio y video ya codificado. Esto no se hace por defecto. Para forzar las secuencias de copia podemos usar la opción de la -csiguiente manera:

avconv -i infile.mp4 -c:a copy -c:v copy outfile.avi

Por supuesto, solo una codificación de video compatible con el contenedor AVI se puede copiar de esta manera.

Para volver a codificar el vídeo de salida se puede sustituir copypor cualquiera de los codecs soportados como se indica con una Ede

avconv -codecs
Takkat
fuente