ffmpeg 第二遍分段错误

ffmpeg 第二遍分段错误

我正在尝试在新环境中启动并运行旧的转码服务器,但在使用经过充分测试的 ffmpeg 命令在新环境中运行时遇到了一些问题。

这是一个 2 遍编码策略,第一次传递每次都运行良好,第二次传递始终失败,并出现以下情况:

[libx264 @ 0x3925fc0] 2nd pass has more frames than 1st pass (1478)
[libx264 @ 0x3925fc0] continuing anyway, at constant QP=14
[libx264 @ 0x3925fc0] disabling adaptive B-frames
[libx264 @ 0x3925fc0] specified frame type is not compatible with max B-frames
Segmentation fault

这是我们每次传递时使用的命令:

第 1 遍:

ffmpeg -y -i input.mp4 -pass 1 -b 774000 -ab 128000 -s 640x360 -passlogfile ffmpeglog -vcodec libx264 -g 90 -bf 3 -refs 1 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp chroma -me_range 16 -me_method dia -subq 2 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -direct-pred 3 -trellis 0 -partitions -parti8x8-parti4x4-partp8x8-partb8x8 -r 30 -keyint_min 25 -wpredp 2 -rc_lookahead 50 -acodec libfaac -ar 44100 pass1.mp4

第 2 遍:

ffmpeg -y -i pass1.mp4 -pass 2 -b 774000 -ab 128000 -s 640x360 -passlogfile ffmpeglog -vcodec libx264 -g 90 -bf 3 -refs 8 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp chroma -me_range 16 -me_method umh -subq 9 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -direct-pred 3 -trellis 2 -partitions +parti8x8+parti4x4+partp8x8+partp4x4+partb8x8 -r 30 -keyint_min 25 -wpredp 2 -rc_lookahead 60 -acodec libfaac -ar 44100 pass2.mp4

...这是我的 ffmpeg 配置:

ffmpeg version 2.1.4 Copyright (c) 2000-2014 the FFmpeg developers
  built on Feb 25 2014 19:23:21 with gcc 4.6.3 (GCC) 20120306 (Red Hat 4.6.3-2)
  configuration: --enable-gpl --enable-libmp3lame --enable-libtheora --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-version3 --enable-libfaac --enable-nonfree
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

任何想法都将不胜感激!

答案1

这是我想出的解决方案,目前看来效果很好:在 #ffmepg 的好心人的帮助下,我重新开始

ffmpeg -i $inputFile -vcodec libx264 -s $widthx$height -b $videoBitrate -preset medium -crf 23 -acodec libfaac -q:a 100 -movflags +faststart -pix_fmt yuv420p -r $frameRate $outputFile

相关内容