1

使用 ffmpeg 将视频转换为 mp4 格式时,会跳过音频,因为音频与视频不同步。

大家可以看看以下视频: https ://vialogues.com/vialogues/play/486

我正在使用以下选项进行转换

/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

ffmpeg版本也是

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

关于为什么会发生这种情况的任何想法?

4

2 回答 2

2

我做了很多研究并使用了 ffmpeg 的异步选项,我发现由于 libfaac 对音频进行了下采样,所以出现了口型同步问题,所以我将 --acodec 的选项更改为复制,这实际上意味着不要对其进行下采样并将其放入原始格式。

在此之后,问题消失了。

/usr/local/bin/ffmpeg -y -i $inputfile -acodec copy -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

一些有助于了解更多关于 ffmpeg 的链接是:

1) 讨论 FFMPEG 的工作原理:http ://howto-pages.org/ffmpeg/ 2) 将视频转换为 quicktime:http ://ubuntuforums.org/archive/index.php/t-387640.html 3) 安装 FFMPEG在 UBUNTU 上:http ://ubuntuforums.org/showpost.php?p=6963607&postcount=360

于 2011-04-20T20:32:50.083 回答
0

当我遇到类似问题时,您的回答也是一种对我也很有效的解决方案。但是,复制音轨对我来说不是一个选项,因为我希望它被压缩,而原件可能有 384kbps 的音轨。

但是你提到的重要的事情是下采样的问题。那个,这个线程(http://doom10.org/index.php?topic=1639.0)让我思考并尝试aac编解码器。它被认为是实验性的,但对我来说效果很好!-async, -vsync 什么也没做,但是 -acodec aac -strict experimental (因为 ffmpeg 不会警告你它是实验性的)创造了奇迹!强烈推荐此解决方案给任何有音频/视频同步问题且无法复制音频且普通解决方案不起作用的人。aac 是一个很棒的编解码器。我仍然会使用 libfaac 作为我的主要 aac 编解码器,因为 aac 是实验性的,但我很确定现在 acc 可以在生产中产生很好的结果并且保持一致。

于 2012-03-10T01:26:34.817 回答