可能重复:
Ffmpeg 同步错误,第一张图像显示得非常快
我正在使用 Windows 和适用于 Windows 的 FFmpeg。
我的素材是 8 张图片,名称如下:
product0001img01.png
product0001img02.png
product0001img03.png
- 等等
当我使用 KMPplayer 或 GOM 时,它只显示product0001img02.png
到product0001img08.png
。我尝试将其上传到 YouTube,但结果相同。
但是当使用 KliteMegaCodec 播放时,所有图像都能够正常加载。
我使用以下命令:
ffmpeg -r 1/7 -i "C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\WBAY\WBAY\bin\Debug\data\tempimages/product0001img%02d.png" -vcodec libx264 -y "C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\WBAY\WBAY\bin\Debug\data\temp/product0001.mp4"
以下是日志:
ffmpeg version N-48228-gceee440 Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 27 2012 01:53:09 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 50.102 / 54. 50.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 30.101 / 3. 30.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, image2, from 'C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\WBAYdevWITHSHORTENER\WBAY\bin\Debug\data\tempimages/product0001img%02d.png':
Duration: 00:00:00.32, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgba, 640x360, 25 fps, 25 tbr, 25 tbn, 25 tbc
[libx264 @ 02625020] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 02625020] profile High, level 2.2
[libx264 @ 02625020] 264 - core 129 r2230 1cffe9f - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - 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=1 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 'C:\Documents and Settings\admin\My Documents\Visual Studio 2008\Projects\WBAYdevWITHSHORTENER\WBAY\bin\Debug\data\temp/product0001.mp4':
Metadata:
encoder : Lavf54.50.102
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x360, q=-1--1, 16384 tbn, 0.14 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> libx264)
Press [q] to stop, [?] for help
frame= 8 fps=0.0 q=2292935.0 Lsize= 165kB time=00:00:42.00 bitrate= 32.1kbits/s
video:164kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.501697%
[libx264 @ 02625020] frame I:2 Avg QP:15.47 size: 34494
[libx264 @ 02625020] frame P:6 Avg QP:15.49 size: 16319
[libx264 @ 02625020] mb I I16..4: 39.6% 18.0% 42.3%
[libx264 @ 02625020] mb P I16..4: 20.0% 10.7% 21.8% P16..4: 5.3% 3.5% 2.9% 0.0% 0.0% skip:35.7%
[libx264 @ 02625020] 8x8 transform intra:19.4% inter:28.2%
[libx264 @ 02625020] coded y,uvDC,uvAC intra: 54.8% 46.1% 38.8% inter: 13.4% 13.6% 10.4%
[libx264 @ 02625020] i16 v,h,dc,p: 82% 9% 5% 4%
[libx264 @ 02625020] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 30% 20% 5% 4% 3% 6% 5% 10%
[libx264 @ 02625020] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 28% 10% 4% 5% 5% 5% 4% 5%
[libx264 @ 02625020] i8c dc,h,v,p: 64% 20% 12% 4%
[libx264 @ 02625020] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 02625020] ref P L0: 32.5% 5.5% 51.9% 10.1%
[libx264 @ 02625020] kb/s:23.84
这里是 YouTube 链接Youtube链接
答案1
如果最终目标是从一系列图像中获得可用的 mp4,那么除了编写自己的解决方案并使用 FFmpeg 之外,您还可以使用免费的Windows Movie Maker(适用于 Win7 和 8)。2012 版(没有前一版的“live”)输出 MP4(用于网络和 YouTube)或 AVI。它可以将一系列静态图像转换为 mp4。安装 Movie Maker 后,启动一个新项目并添加您的 PNG。默认帧速率为每张静态图像 7 秒,但您可以手动输入任何值(.01 或更大)。我很高兴发现这比其他一些“图像到视频”转换工具更容易使用,质量更好。(ImageMagick 是另一个,类似于 FFmpeg)。
答案2
正如 Karan 所说,它的 FFMPEG 问题(CMIW)FFmpeg 正在将第一幅图像添加到视频中,只是延迟太短而看不见。
因此我将此标记为我的问题的答案:)