我有一个播放时间为00:01:41.46的视频,并使用ffmpeg-2.1.1将其转码完美,但是当我将FFmpeg版本升级到3.3.2并使用相同的编译选项和相同的转码选项进行编译时2.1.1使用的版本,我得到了00:03:21.82长的视频,我播放了该视频,看看1:41.46之后添加了什么,并发现它只是从头开始重复视频而没有音频,我发现不知道这个问题,它似乎是FFmpeg介绍的一个错误,任何人都可以帮助我!
这是我用ffmpeg 3.3.2代码转换的日志:
ffmpeg -i natural.mp4 -c:v libx264 -c:a copy output.mp4
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2)
configuration: --enable-gpl --enable-nonfree --yasmexe=release/bin/yasm -- prefix=release --cc= --enable-static --disable-shared --disable-debug --extra-cflags=-Irelease/include --extra-ldflags='-Lrelease/lib -lm -ldl' --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libspeex --enable-pthreads --extra->libs=-lpthread --enable-encoders --enable-decoders --enable-avfilter --enable->muxers --enable-demuxers
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'natural.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
creation_time : 2009-07-11T08:32:34.000000Z
encoder : mp4creator 1.6.1d
Duration: 00:01:41.46, start: 0.000000, bitrate: 9063 kb/s
Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 8976 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 2997 tbc (default)
Metadata:
creation_time : 2009-07-11T08:32:34.000000Z
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2009-07-11T08:33:09.000000Z
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[libx264 @ 0x2d951e0] using SAR=4/3
[libx264 @ 0x2d951e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
[libx264 @ 0x2d951e0] profile High, level 4.0
[libx264 @ 0x2d951e0] 264 - core 138 r1+3473M a37a143 - H.264/MPEG-4 AVC codec >- Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 >ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 >mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 >fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 >nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 >b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 >keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf >mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
encoder : Lavf57.71.100
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc (default)
Metadata:
creation_time : 2009-07-11T08:32:34.000000Z
encoder : Lavc57.89.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2009-07-11T08:33:09.000000Z
frame= 4842 fps= 27 q=-1.0 Lsize= 107608kB time=00:03:21.82
bitrate=4367.8kbits/s speed=1.11x
video:105973kB audio:1556kB subtitle:0kB other streams:0kB global headers:0kB >muxing overhead: 0.074199%
[libx264 @ 0x2d951e0] frame I:54 Avg QP:19.81 size: 77248
[libx264 @ 0x2d951e0] frame P:3960 Avg QP:22.01 size: 25371
[libx264 @ 0x2d951e0] frame B:828 Avg QP:23.01 size: 4680
[libx264 @ 0x2d951e0] consecutive B-frames: 75.2% 4.6% 4.3% 15.9%
[libx264 @ 0x2d951e0] mb I I16..4: 17.0% 79.0% 3.9%
[libx264 @ 0x2d951e0] mb P I16..4: 2.1% 7.8% 0.2% P16..4: 43.9% 9.7% 6.4% 0.0% 0.0% skip:29.9%
[libx264 @ 0x2d951e0] mb B I16..4: 0.2% 1.1% 0.0% B16..8: 29.2% 1.2% 0.2% direct: 0.7% skip:67.3% L0:49.0% L1:47.7% BI: 3.3%
[libx264 @ 0x2d951e0] 8x8 transform intra:78.1% inter:81.6%
[libx264 @ 0x2d951e0] coded y,uvDC,uvAC intra: 52.3% 66.4% 11.9% inter: 20.5% >24.2% 0.8%
[libx264 @ 0x2d951e0] i16 v,h,dc,p: 32% 22% 28% 18%
[libx264 @ 0x2d951e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 19% 43% 3% 3% 3% 5% 2% 4%
[libx264 @ 0x2d951e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 12% 4% 8% 7% 11% 4% 5%
[libx264 @ 0x2d951e0] i8c dc,h,v,p: 50% 23% 23% 4%
[libx264 @ 0x2d951e0] Weighted P-Frames: Y:1.5% UV:0.3%
[libx264 @ 0x2d951e0] ref P L0: 71.9% 17.0% 8.5% 2.5% 0.0%
[libx264 @ 0x2d951e0] ref B L0: 89.7% 9.2% 1.2%
[libx264 @ 0x2d951e0] ref B L1: 97.5% 2.5%
[libx264 @ 0x2d951e0] kb/s:4298.67
这是使用ffmpeg -i natural.mp4 -c copy out.mp4时的输出,输出仍然是最后两倍的输出:
./ffmpeg -i natural.mp4 -c copy out.mp4
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2)
configuration: --enable-gpl --enable-nonfree --yasmexe=release/bin/yasm --prefix=release --cc= --enable-static --disable-shared --disable-debug --extra-cflags=-Irelease/include --extra-ldflags='-Lrelease/lib -lm -ldl' --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libspeex --enable-pthreads --extra-libs=-lpthread --enable-encoders --enable-decoders --enable-avfilter --enable-muxers --enable-demuxers
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'natural.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
creation_time : 2009-07-11T08:32:34.000000Z
encoder : mp4creator 1.6.1d
Duration: 00:01:41.46, start: 0.000000, bitrate: 9063 kb/s
Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 8976 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 2997 tbc (default)
Metadata:
creation_time : 2009-07-11T08:32:34.000000Z
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2009-07-11T08:33:09.000000Z
Output #0, mp4, to 'out.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
encoder : Lavf57.71.100
Stream #0:0(eng): Video: mpeg4 (Simple Profile) ( [0][0][0] / 0x0020), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 8976 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2009-07-11T08:32:34.000000Z
Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2009-07-11T08:33:09.000000Z
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 4842 fps=2243 q=-1.0 Lsize= 222944kB time=00:03:21.91
bitrate=9045.4kbits/s speed=93.5x
video:221299kB audio:1556kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.039627%
这是ffmpeg-2.1.1生成的输出,它已正确执行:
./ffmpeg -i natural.mp4 -c copy output2.mp4
ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Mar 10 2017 13:56:14 with gcc 4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2)
configuration: --enable-gpl --enable-nonfree --yasmexe=release/bin/yasm --prefix=release --cc= --enable-static --disable-shared --disable-debug --extra-cflags='-I${ffmpeg_exported_release_dir}/include' --extra-ldflags='-L${ffmpeg_exported_release_dir}/lib -lm -ldl' --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libspeex --enable-pthreads --extra-libs=-lpthread --enable-encoders --enable-decoders --enable-avfilter --enable-muxers --enable-demuxers
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
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2d2e900] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'natural.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
creation_time : 2009-07-11 08:32:34
encoder : mp4creator 1.6.1d
Duration: 00:01:41.46, start: 0.000000, bitrate: 9063 kb/s
Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 8976 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 2997 tbc (default)
Metadata:
creation_time : 2009-07-11 08:32:34
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2009-07-11 08:33:09
Output #0, mp4, to 'output2.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
encoder : Lavf55.19.104
Stream #0:0(eng): Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 8976 kb/s, 23.98 fps, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2009-07-11 08:32:34
Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 125 kb/s (default)
Metadata:
creation_time : 2009-07-11 08:33:09
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 2421 fps=0.0 q=-1.0 Lsize= 112273kB time=00:01:41.49 bitrate=9062.0kbits/s
video:110650kB audio:1556kB subtitle:0 global headers:0kB muxing overhead 0.060302%
以下是视频link