2 votes

La conversion ffmpeg saute l'audio

Lors de la conversion d'une vidéo au format mp4 à l'aide de ffmpeg, le son est sauté, ce qui désynchronise le son de la vidéo.

On peut regarder la vidéo suivante : https://vialogues.com/vialogues/play/486

J'utilise les options suivantes pour la conversion

/usr/local/bin/ffmpeg -y -i $inputfile -acodec libfaac -ar 44100 -ab 96k -vcodec libx264 -level 41 -bufsize 20000k -maxrate 25000k -g 250 -r 20 -s 480x270 -coder 1 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +dct8x8+bpyramid -me_method umh -subq 7 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -rc_eq 'blurCplx^(1-qComp)' -bf 16 -b_strategy 1 -bidir_refine 1 -refs 6 -crf 25 -deblockalpha 0 -vpre medium -deblockbeta 0 $outputfile

La version de ffmpeg est aussi

ffmpeg
FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
  built on Feb 19 2011 19:03:56 with gcc 4.4.5
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder

Avez-vous une idée de la raison pour laquelle cela se produit ?

0voto

Dmitry Points 538

Votre réponse est une solution qui a bien fonctionné pour moi aussi, lorsque j'ai été confronté au même problème. Cependant, copier la piste audio n'était pas une option pour moi parce que je veux qu'elle soit compressée, et les originaux peuvent avoir des pistes de 384kbps.

Mais la chose importante que vous avez mentionnée est le problème du sous-échantillonnage. Cela, et ce fil de discussion (http://doom10.org/index.php?topic=1639.0) m'ont fait réfléchir et m'ont incité à essayer le codec AAC. C'est considéré comme expérimental, mais ça a bien marché pour moi ! -async, -vsync n'ont rien fait, mais -acodec aac -strict experimental (pour que ffmpeg ne vous avertisse pas que c'est expérimental) a fait des merveilles ! Je recommande vivement cette solution à tous ceux qui ont des problèmes de synchronisation audio/vidéo et pour lesquels copier l'audio n'est pas une option et les solutions ordinaires ne fonctionnent pas. aac est un excellent codec. Je vais toujours utiliser libfaac comme codec aac principal parce que aac est expérimental mais je suis sûr que maintenant acc peut produire de bons résultats en production et être cohérent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X