2016-10-12 359 views
1

我已经尝试了许多可能的命令行选项与ffmpeg,但没有得到此工作。我想将一系列webp图像转换为mp4视频。 我尝试了一些命令如下:如何使用ffmpeg将webp图像转换为MP4视频

ffmpeg -i img%04d.webp out.mp4 

ffmpeg -i img%04d.webp -c:v libx264 out.mp4 

ffmpeg -i img%04d.webp -pix_fmt yuv420p out.mp4 

ffmpeg -i img%04d.webp -c:v libx264 -pix_fmt yuv420p -crf 25 out.mp4 

ffmpeg -i img%04d.webp -c:v libx264 -pix_fmt yuv420p -crf 25 -b:v 0 out.mp4 

他们没有创建一个MP4视频。然而,一个mp4文件被创建,但是它是0秒。下面是执行的一个样本输出:从上面的

ffmpeg -i img%04d.webp -c:v libx264 -pix_fmt yuv420p -crf 25 -y out.mp4 

ffmpeg version N-81045-g450cf40 Copyright (c) 2000-2016 the FFmpeg developers 
    built with gcc 5.4.0 (GCC) 
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib 
libavutil  55. 28.100/55. 28.100 
libavcodec  57. 50.100/57. 50.100 
libavformat 57. 42.100/57. 42.100 
libavdevice 57. 0.102/57. 0.102 
libavfilter  6. 47.100/6. 47.100 
    libswscale  4. 1.100/4. 1.100 
libswresample 2. 1.100/2. 1.100 
    libpostproc 54. 0.100/54. 0.100 
Input #0, image2, from 'img%04d.webp': 
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A 
Stream #0:0: Video: webp, yuva420p(tv, bt470bg/unknown/unknown), 320x568, 25 tbr, 25 tbn, 25 tbc 
[libx264 @ 00000000006dbbc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 
[libx264 @ 00000000006dbbc0] profile High, level 2.1 
[libx264 @ 00000000006dbbc0] 264 - core 148 r2705 3f5ed56 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=25.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 
[mp4 @ 00000000006d8700] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. 
Output #0, mp4, to 'out.mp4': 
Metadata: 
encoder : Lavf57.42.100 
Stream #0:0: Video: h264 (libx264) ([33][0][0][0]/0x0021), yuv420p, 320x568, q=-1--1, 25 fps, 12800 tbn, 25 tbc 
Metadata: 
encoder : Lavc57.50.100 libx264 
Side data: 
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 
Stream mapping: 
Stream #0:0 -> #0:0 (webp (native) -> h264 (libx264)) 
Press [q] to stop, [?] for help 
frame= 1 fps=0.0 q=30.0 Lsize= 3kB time=00:00:00.00 bitrate=265435.9kbits/s speed=0.011x video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 44.661823% 
[libx264 @ 00000000006dbbc0] frame I:1  Avg QP:23.37 size: 1100 
[libx264 @ 00000000006dbbc0] mb I I16..4: 24.4% 71.5% 4.0% 
[libx264 @ 00000000006dbbc0] 8x8 transform intra:71.5% 
[libx264 @ 00000000006dbbc0] coded y,uvDC,uvAC intra: 6.1% 5.4% 4.2% 
[libx264 @ 00000000006dbbc0] i16 v,h,dc,p: 80% 14% 6% 1% 
[libx264 @ 00000000006dbbc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 46% 5% 48% 0% 0% 0% 0% 0% 0% 
[libx264 @ 00000000006dbbc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 20% 42% 2% 2% 2% 2% 2% 3% 
[libx264 @ 00000000006dbbc0] i8c dc,h,v,p: 89% 9% 1% 0% 
[libx264 @ 00000000006dbbc0] kb/s:220.00 

摘录:

frame=1 
fps=0.0 
time=00:00:00.00 
video:2kB 

这应该给什么,我想说的想法。

需要帮助,如果有人可以告诉如何将一系列webp图像转换为MP4视频。

回答

1

FFmpeg仅检测序列中的一个图像。确保您的图像序列命名是连续的。

要看到,只有第一图像被编码,运行

ffmpeg -loop 1 -i img%04d.webp -t 5 out.mp4 

这应该是所述第一图像的一个5秒的视频。

+0

你说得对。有时,当视频创建成功时,即使当我的图像依次显示时,它也只会显示第一帧。如何获得一个真正的视频(和我们使用jpg序列一样)? –

+1

你的前两个图像的全名是什么? – Mulvya

+0

img0001.webp, img0002.webp –

-1

我的不好,只是没有专注于图像序列号...在你问后,看着序列,发现它的地方破了...修复它,现在原来的命令就像一个魅力.. thanx

相关问题