Transcodificación de viejos mjpeg avi a h264

Transcodificación de viejos mjpeg avi a h264

Tengo una colección de archivos jpeg y avi (formato mjpeg) privados grabados con la cámara Olympus u5000. Como mjpeg no es un formato adecuado para reproducir en xbmc, me gustaría transcodificarlo al formato h264. Lo más lejos que he llegado es la siguiente línea:

avconv -i P3040001.AVI -strict experimental -c:v libx264 -b:v 8000k -c:a ac3 -b:a 192k output.mp4

Esta línea convierte:

avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
  built on Mar 24 2014 06:12:33 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu1)
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, avi, from 'P3040001.AVI':
  Metadata:
    creation_time   : 2013-03-04 12:21:39
    encoder         : OLYMPUS u5000
  Duration: 00:00:01.99, start: 0.000000, bitrate: 12920 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 fps, 30 tbr, 30 tbn
    Stream #0.1: Audio: pcm_u8, 8000 Hz, mono, u8, 64 kb/s

a

avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
  built on Mar 24 2014 06:12:33 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2013-03-04 12:21:39
    encoder         : Lavf54.20.3
  Duration: 00:00:02.09, start: 0.000000, bitrate: 35 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 640x480, 17 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      creation_time   : 2013-03-04 12:21:39
    Stream #0.1(und): Audio: aac, 8000 Hz, mono, fltp, 9 kb/s
    Metadata:
      creation_time   : 2013-03-04 12:21:39

Como puedes ver, tengo un problema con el audio. En output.mp4 no hay ningún audio. Me gustaría usar avconv porque tengo muchos archivos en mi servidor xubuntu 14.04.

¿Que estoy haciendo mal?

Saludos.

Respuesta1

En tu comando no especificabas qué se debía hacer con la pista de audio.

Prueba esto:

avconv -i P3040001.AVI -strict experimental -c:v libx264 -b:v 8000k -c:a ac3 -b:a 192k output.mp4.

Siéntete libre de modificar las tasas de bits como quieras. Puede utilizarlo avinfopara tener una idea sobre la tasa de bits original y transcodificarla a una similar.

También puedes utilizar un programa GUI como Avidemux.

Respuesta2

Prueba esto:

 avconv -i input.avi -c:v libx264 -b 800k output.mp4

esto recodificará el video usando el códec libx264 con una velocidad de 800k y permitirá que el codificador decida qué hacer con el audio para asegurar la compatibilidad con el contenedor mp4. Ajuste las velocidades de bits según sus preferencias de calidad. A fin de cuentas, debería permitir velocidades de bits más altas para películas más grandes. (por ejemplo, una película de 1280x960 necesitaría aproximadamente 4 veces la tasa de bits de una de 640x480 para mantener una calidad similar)

Respuesta3

Quizás la mejor opción sería utilizar unPreestablecidopara la codificación x264 y especifique el factor de velocidad constante (CRF) en lugar de una tasa de bits fija. El sonido de la fuente no es el mejor para empezar, pero tal vez una conversión a un mp3 VBR con una tasa de bits relativamente baja pueda sonar bien. Pruebe lo siguiente:

avconv -i P3040001.AVI \
   -c:v libx264 -preset slow -crf 22 -tune film \
   -c:a libmp3lame -qscale:a 7 -ar 44100 \
   output.mp4

y esto podría proporcionar una calidad de vídeo razonable y quizás un mejor sonido. Ajustar el-escalaq:a 7configuración para un mejor sonido, un número más bajo dará un objetivo de tasa de bits más alta.

Si avconv se bloquea en x264 o libmp3lame, deberá agregar el archivo apropiadolibavcodec-extra* paquete apropiado para su versión de Ubuntu.

información relacionada