web-dev-qa-db-fra.com

Transcodage de vieux AVIJ mjpeg en h264

J'ai une collection de jpeg et avi privés (format mjpeg) enregistrés avec l'appareil photo Olympus u5000. Comme mjpeg n’est pas un format approprié pour jouer en xbmc, j’aimerais le transcoder au format h264. Le plus éloigné que j'ai est la ligne suivante:

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

Cette ligne convertit:

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

à

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

Comme vous pouvez le constater, j'ai un problème d’audio. Dans output.mp4, il n’ya pas d’audio. J'aimerais utiliser avconv car j'ai un tas de fichiers sur mon serveur xubuntu 14.04.

Qu'est ce que je fais mal?

Cordialement.

3
user3225309

Dans votre commande, vous ne précisiez pas ce qu'il fallait faire avec la piste audio.

Essaye ça:

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

N'hésitez pas à modifier les débits comme vous le souhaitez. Vous pouvez utiliser avinfo pour vous faire une idée du débit original et le transcoder en un fichier similaire.

Vous pouvez également utiliser un programme graphique comme Avidemux.

1
Cornelius

Essaye ça:

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

cela réencodera la vidéo en utilisant le codec libx264 avec un débit de 800 Ko et laissera l'encodeur décider quoi faire avec l'audio pour assurer la compatibilité avec le conteneur mp4. Ajustez les débits selon votre préférence de qualité. Tout bien considéré, vous devriez autoriser des débits plus élevés pour les grands films. (Par exemple, un film au format 1280x960 aurait besoin d'environ 4 fois le débit binaire d'un fichier 640x480 pour conserver une qualité similaire)

1
Elder Geek

La meilleure option serait peut-être d'utiliser un préréglé pour le codage x264 et de spécifier le facteur de débit constant (CRF) au lieu d'un débit binaire fixe. Le son de la source n’est pas le meilleur choix pour commencer, mais une conversion en un format MP3 à débit binaire relativement faible pourrait bien paraître correcte. Essayez ce qui suit:

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

et cela pourrait donner une qualité vidéo raisonnable et peut-être un meilleur son. Ajustez le réglage - qscale: a 7 pour obtenir un meilleur son. Un nombre inférieur donnera un objectif de débit plus élevé.

Si avconv étouffe x264 ou libmp3lame, vous devrez ajouter le package libavcodec-extra * approprié à votre version d'Ubuntu.

0
andrew.46