ffmpeg:从图片生成视频

时间:2013-10-15 14:22:09

标签: video ffmpeg

我正在尝试从单张图片生成视频(1980 * 1024)
这是我的cmd:

ffmpeg -threads 8 -r 1 -loop 1 -i "C:\Library\Titling\__Resources\1.jpg" -t 5.00 -pix_fmt yuv420p -vcodec libx264 -b:v 1500k -s 720:576 -aspect 1.0000 -y "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary_WithtoutAudio1.mp4"

这里是cmd执行:

ffmpeg version N-56297-g7ac6c63 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 15 2013 18:02:28 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu
ray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 43.100 / 52. 43.100
libavcodec 55. 31.101 / 55. 31.101
libavformat 55. 16.102 / 55. 16.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 84.100 / 3. 84.100
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Input #0, image2, from 'C:\Library\Titling\__Resources\1.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc), 1920x1080 [SAR 96:96 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
[swscaler @ 025bec00] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 025b7ce0] using SAR=4/5
[libx264 @ 025b7ce0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 025b7ce0] profile High, level 2.2
[libx264 @ 025b7ce0] 264 - core 135 r2345 f0c1c53 - 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 subm
e=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=12 lookahead_threads=2 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
=abr mbtree=1 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary_WithtoutAudio1.mp4':
Metadata:
encoder : Lavf55.16.102
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x576 [SAR 4:5 DAR 1:1], q=-1--1, 1500 kb/s, 16384 tbn, 1 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
Press [q] to stop, [?] for help
frame= 5 fps=0.0 q=-1.0 Lsize= 64kB time=00:00:03.00 bitrate= 174.0kbits/s
video:63kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.355758%
[libx264 @ 025b7ce0] frame I:1 Avg QP: 0.00 size: 63203
[libx264 @ 025b7ce0] frame P:1 Avg QP: 0.00 size: 250
[libx264 @ 025b7ce0] frame B:3 Avg QP: 0.00 size: 64
[libx264 @ 025b7ce0] consecutive B-frames: 20.0% 0.0% 0.0% 80.0%
[libx264 @ 025b7ce0] mb I I16..4: 78.8% 4.0% 17.2%
[libx264 @ 025b7ce0] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 1.2% 0.0% 0.1% 0.0% 0.0% skip:98.6%
[libx264 @ 025b7ce0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.9% 0.0% 0.0% direct: 0.0% skip:99.0% L0:12.8% L1:87.2% BI: 0.0%
[libx264 @ 025b7ce0] final ratefactor: -14.43
[libx264 @ 025b7ce0] 8x8 transform intra:4.0% inter:0.0%
[libx264 @ 025b7ce0] coded y,uvDC,uvAC intra: 22.8% 24.1% 24.1% inter: 0.2% 0.0% 0.0%
[libx264 @ 025b7ce0] i16 v,h,dc,p: 93% 1% 4% 2%
[libx264 @ 025b7ce0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 19% 13% 6% 6% 7% 7% 12% 4%
[libx264 @ 025b7ce0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 15% 11% 7% 7% 9% 7% 14% 6%
[libx264 @ 025b7ce0] i8c dc,h,v,p: 85% 4% 6% 5%
[libx264 @ 025b7ce0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 025b7ce0] kb/s:101.83

在这一步我有两个问题:
首先是执行期间的警告
已弃用的像素格式,请确保您已正确设置范围
第二个是视频在VLC中无法正常工作(视频为“黑色”),但它在wmp中工作...

然后我添加一个空的音轨:

ffmpeg -threads 8 -f lavfi -i aevalsrc=0 -i "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary_WithtoutAudio1.mp4" -vcodec copy -b:v 1500k -acodec aac -map 1:0 -map 0:0 -shortest -strict experimental -y "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary1.mp4"

之后,我使用复杂的过滤器将此视频连结给其他人 当我结束我的视频时,我收到了这样的信息:

[output stream 0:1 @ 0451d3a0] 100 buffers queued in output stream 0:1, something may be wrong.


当我观看结果时,我的视频在图像插入后冻结,大约是一个借调 也许它没有相关性 我不知道......

这里我的concat命令和执行日志

D:\test>ffmpeg.exe -threads 8 -i "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary0.mp4" -i "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary1.mp4" -i "D:\Records\2013-10-11_115
453\PublishingDirectory\Temporary2.mp4" -filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a] concat=n=3:v=1:a=1 [v] [a] " -map "[v]" -map "[a]" -vcodec libx264 -b 1500000 -s 720:576 -y "D:\Records\
2013-10-11_115453\PublishingDirectory\EditedVideo.mp4"

...

ffmpeg version N-56297-g7ac6c63 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 15 2013 18:02:28 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu
ray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 43.100 / 52. 43.100
libavcodec 55. 31.101 / 55. 31.101
libavformat 55. 16.102 / 55. 16.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 84.100 / 3. 84.100
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary0.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Wildlife in HD
encoder : Lavf54.22.100
comment : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
copyright : ┬® 2008 Microsoft Corporation
Duration: 00:00:13.70, start: 0.000000, bitrate: 1914 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 4:5 DAR 1:1], 1778 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary1.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.16.102
Duration: 00:00:05.00, start: 0.023220, bitrate: 106 kb/s
Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 4:5 DAR 1:1], 102 kb/s, 1 fps, 1 tbr, 16384 tbn, 2 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #1:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 1 kb/s (default)
Metadata:
handler_name : SoundHandler
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary2.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Wildlife in HD
encoder : Lavf54.22.100
comment : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
copyright : ┬® 2008 Microsoft Corporation
Duration: 00:00:16.47, start: 0.000000, bitrate: 2761 kb/s
Stream #2:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 4:5 DAR 1:1], 2625 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #2:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Please use -b:a or -b:v, -b is ambiguous
[libx264 @ 04c748e0] using SAR=4/5
[libx264 @ 04c748e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 04c748e0] profile High, level 3.1
[libx264 @ 04c748e0] 264 - core 135 r2345 f0c1c53 - 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 subm
e=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=12 lookahead_threads=2 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 r
c=abr mbtree=1 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'D:\Records\2013-10-11_115453\PublishingDirectory\EditedVideo.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Wildlife in HD
copyright : ┬® 2008 Microsoft Corporation
comment : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
encoder : Lavf55.16.102
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x576 [SAR 4:5 DAR 1:1], q=-1--1, 1500 kb/s, 30k tbn, 29.97 tbc
Stream #0:1: Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
Stream mapping:
Stream #0:0 (h264) -> concat:in0:v0
Stream #0:1 (aac) -> concat:in0:a0
Stream #1:0 (h264) -> concat:in1:v0
Stream #1:1 (aac) -> concat:in1:a0
Stream #2:0 (h264) -> concat:in2:v0
Stream #2:1 (aac) -> concat:in2:a0
concat:out:v0 -> Stream #0:0 (libx264)
concat:out:a0 -> Stream #0:1 (libvo_aacenc)
Press [q] to stop, [?] for help
[output stream 0:1 @ 0451d3a0] 100 buffers queued in output stream 0:1, something may be wrong.
frame= 1054 fps=101 q=-1.0 Lsize= 7676kB time=00:00:35.23 bitrate=1784.7kbits/s dup=146 drop=0
video:7083kB audio:552kB subtitle:0 global headers:0kB muxing overhead 0.543084%
[libx264 @ 04c748e0] frame I:10 Avg QP:18.41 size: 52713
[libx264 @ 04c748e0] frame P:456 Avg QP:24.04 size: 11772
[libx264 @ 04c748e0] frame B:588 Avg QP:26.20 size: 2308
[libx264 @ 04c748e0] consecutive B-frames: 2.8% 67.9% 1.1% 28.1%
[libx264 @ 04c748e0] mb I I16..4: 23.1% 52.7% 24.2%
[libx264 @ 04c748e0] mb P I16..4: 0.6% 4.3% 1.0% P16..4: 35.8% 18.5% 11.9% 0.0% 0.0% skip:27.8%
[libx264 @ 04c748e0] mb B I16..4: 0.1% 0.8% 0.2% B16..8: 34.2% 5.0% 1.3% direct: 1.3% skip:57.0% L0:37.3% L1:53.3% BI: 9.3%
[libx264 @ 04c748e0] final ratefactor: 23.46
[libx264 @ 04c748e0] 8x8 transform intra:67.7% inter:60.0%
[libx264 @ 04c748e0] coded y,uvDC,uvAC intra: 67.1% 69.5% 30.5% inter: 17.0% 11.0% 0.4%
[libx264 @ 04c748e0] i16 v,h,dc,p: 50% 20% 6% 24%
[libx264 @ 04c748e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 16% 18% 6% 8% 10% 7% 9% 8%
[libx264 @ 04c748e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 16% 14% 7% 10% 12% 8% 8% 7%
[libx264 @ 04c748e0] i8c dc,h,v,p: 53% 20% 19% 8%
[libx264 @ 04c748e0] Weighted P-Frames: Y:0.4% UV:0.0%
[libx264 @ 04c748e0] ref P L0: 63.9% 19.2% 11.1% 5.7% 0.0%
[libx264 @ 04c748e0] ref B L0: 90.4% 9.0% 0.6%
[libx264 @ 04c748e0] ref B L1: 97.8% 2.2%
[libx264 @ 04c748e0] kb/s:1649.69

那么如何修复我的“图片”视频呢? 它会在连接视频后修复冻结问题吗? 如果没有,我该如何解决?

提前致谢!

1 个答案:

答案 0 :(得分:3)

我找到了解决方案!

由于视频帧速率,Vlc无法成功读取它。

要快速生成一个小文件,我将帧速率设置为1(-r 1),但VLC不喜欢它。 使用-r 25可以正常工作。

移动,连接过程中的冻结也是由于此帧速率。

我怀疑ffmpeg使用我的图片的帧率(每秒1帧)直到帧的“当前周期”结束(在我的情况下为25帧),当它试图连接我的两个视频时。< / p>