Saya mencoba untuk mengkodekan gambar-urutan ( frame0001.png
, frame0002.png
, ..., frame0160.png
) menjadi video x264 menggunakan perintah berikut:
ffmpeg -i frame%04d.png -sameq -r 24 out.mp4
Setelah pengkodean, dikatakan drop=5
dan memang ada "lompatan" nyata dalam video.
Tampaknya orang lain memiliki masalah yang sama, tetapi bagi saya jawaban yang diterima tidak terlalu berguna karena saya ingin tidak ada bingkai yang terjatuh.
Apakah sakelar hilang dari perintah? Atau apakah saya melakukan sesuatu yang salah?
Edit: Menambahkan output konsol:
ffmpeg version N-42347-g299387e Copyright (c) 2000-2012 the FFmpeg developers
built on Jul 8 2012 15:46:39 with gcc 4.7.1
configuration: --disable-static --enable-shared --enable-gpl --enable-version3
--disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzli
b --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --
enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lam
e --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc
--enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --en
able-libxavs --enable-libxvid --enable-zlib
libavutil 51. 64.100 / 51. 64.100
libavcodec 54. 33.100 / 54. 33.100
libavformat 54. 15.102 / 54. 15.102
libavdevice 54. 1.100 / 54. 1.100
libavfilter 3. 1.100 / 3. 1.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, image2, from 'frame%04d.png':
Duration: 00:00:06.40, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, rgb24, 1920x1080, 25 fps, 25 tbr, 25 tbn, 25 tbc
[graph 0 input from stream 0:0 @ 01cd1f60] w:1920 h:1080 pixfmt:rgb24 tb:1/25 fr
:25/1 sar:0/1 sws_param:flags=2
[output stream 0:0 @ 01cd2220] No opaque field provided
[auto-inserted scaler 0 @ 01cd3540] w:1920 h:1080 fmt:rgb24 sar:0/1 -> w:1920 h:
1080 fmt:yuv420p sar:0/1 flags:0x4
[libx264 @ 01cd0dc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
[libx264 @ 01cd0dc0] profile High, level 4.0
[libx264 @ 01cd0dc0] 264 - core 125 r2200 999b753 - H.264/MPEG-4 AVC codec - Cop
yleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deb
lock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 m
e_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chro
ma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 i
nterlaced=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=24 scenec
ut=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 'out.mp4':
Metadata:
encoder : Lavf54.15.102
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=-1-
-1, 24 tbn, 24 tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> libx264)
Press [q] to stop, [?] for help
frame= 8 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 15 fps= 15 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 22 fps= 14 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 29 fps= 14 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 36 fps= 14 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 43 fps= 14 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 47 fps= 11 q=0.0 size= 0kB time=00:00:00.00 bitrate= 0.0kbits/s
frame= 53 fps= 11 q=28.0 size= 111kB time=00:00:00.04 bitrate=21735.2kbits
frame= 59 fps= 11 q=28.0 size= 268kB time=00:00:00.29 bitrate=7527.8kbits/
frame= 63 fps= 10 q=28.0 size= 375kB time=00:00:00.45 bitrate=6708.1kbits/
frame= 69 fps= 10 q=28.0 size= 538kB time=00:00:00.70 bitrate=6219.6kbits/
frame= 74 fps= 10 q=28.0 size= 675kB time=00:00:00.91 bitrate=6032.7kbits/
frame= 79 fps= 10 q=28.0 size= 802kB time=00:00:01.12 bitrate=5840.7kbits/
frame= 84 fps= 10 q=28.0 size= 922kB time=00:00:01.33 bitrate=5662.9kbits/
frame= 89 fps=9.9 q=28.0 size= 1060kB time=00:00:01.54 bitrate=5633.3kbits/
frame= 94 fps=9.9 q=28.0 size= 1186kB time=00:00:01.75 bitrate=5551.2kbits/
frame= 98 fps=9.7 q=28.0 size= 1309kB time=00:00:01.91 bitrate=5594.3kbits/
frame= 103 fps=9.7 q=28.0 size= 1436kB time=00:00:02.12 bitrate=5536.4kbits/
frame= 107 fps=9.6 q=28.0 size= 1533kB time=00:00:02.29 bitrate=5481.7kbits/
frame= 112 fps=9.5 q=28.0 size= 1654kB time=00:00:02.50 bitrate=5421.3kbits/
frame= 117 fps=9.4 q=28.0 size= 1781kB time=00:00:02.70 bitrate=5386.9kbits/
frame= 123 fps=9.4 q=28.0 size= 1925kB time=00:00:02.95 bitrate=5331.5kbits/
frame= 128 fps=9.4 q=28.0 size= 2030kB time=00:00:03.16 bitrate=5250.8kbits/
frame= 133 fps=9.4 q=28.0 size= 2210kB time=00:00:03.37 bitrate=5363.8kbits/
frame= 138 fps=9.3 q=28.0 size= 2356kB time=00:00:03.58 bitrate=5386.0kbits/
frame= 142 fps=9.3 q=28.0 size= 2465kB time=00:00:03.75 bitrate=5384.3kbits/
frame= 147 fps=9.3 q=28.0 size= 2602kB time=00:00:03.95 bitrate=5385.0kbits/
frame= 151 fps=9.2 q=28.0 size= 2706kB time=00:00:04.12 bitrate=5374.3kbits/
frame= 155 fps=9.2 q=28.0 size= 2812kB time=00:00:04.29 bitrate=5367.7kbits/
frame= 155 fps=7.0 q=28.0 Lsize= 4129kB time=00:00:06.37 bitrate=5306.4kbits
/s dup=0 drop=5
video:4128kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.035320%
[libx264 @ 01cd0dc0] frame I:2 Avg QP:21.97 size: 79850
[libx264 @ 01cd0dc0] frame P:153 Avg QP:23.43 size: 26579
[libx264 @ 01cd0dc0] mb I I16..4: 9.6% 70.5% 19.9%
[libx264 @ 01cd0dc0] mb P I16..4: 7.0% 15.3% 0.7% P16..4: 45.2% 9.1% 2.2%
0.0% 0.0% skip:20.5%
[libx264 @ 01cd0dc0] 8x8 transform intra:66.7% inter:85.7%
[libx264 @ 01cd0dc0] coded y,uvDC,uvAC intra: 38.6% 58.0% 6.0% inter: 16.2% 27.2
% 0.2%
[libx264 @ 01cd0dc0] i16 v,h,dc,p: 35% 29% 17% 19%
[libx264 @ 01cd0dc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 21% 31% 3% 4% 5% 4%
4% 3%
[libx264 @ 01cd0dc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 19% 13% 5% 8% 9% 7%
6% 4%
[libx264 @ 01cd0dc0] i8c dc,h,v,p: 49% 23% 23% 5%
[libx264 @ 01cd0dc0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 01cd0dc0] ref P L0: 84.5% 10.9% 3.5% 1.1%
[libx264 @ 01cd0dc0] kb/s:5235.14
ffmpeg
mp4
video-encoding
PtrFdr
sumber
sumber
sameq
bukanlah pilihan yang harus digunakansameq
.Jawaban:
Masalah terpecahkan.
Dengan melihat output konsol, tampaknya framerate default dari urutan input adalah 25 fps:
Dari dokumentasi :
Jadi, yang perlu saya lakukan hanyalah menambahkan yang lain
-r 24
:ffmpeg
-r 24
-i frame%04d.png -r 24 out.mp4
sumber
Penyebab lain dari frame yang dijatuhkan adalah .png yang formatnya beragam. Misalnya, .png yang dibuat dari
convert
perintah ImageMagick biasanya "warna RGB", tetapi yang dengan kurang dari 256 warna dioptimalkan secara diam-diam ke dalam "colormap" atau palet, untuk mengurangi ukuran file. Ketika ffmpeg menemukan perubahan dari satu ke yang lain, ia mulai menjatuhkan bingkai:Untuk menghindari menjatuhkan bingkai seperti itu
convert -define png:color-type=2
,.sumber
fmt:
kata ffmpeg Anda bahwa ia sedang membaca?)Jawaban lainnya salah, perintah yang benar adalah:
Opsi -framerate khusus untuk input 'urutan gambar' image2, yang menentukan laju bingkai asli dari urutan gambar. Lihat: https://www.ffmpeg.org/ffmpeg-formats.html#image2-1
sumber