次のように説明する MPEG-4 ビデオがありmediainfo
ます。
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
Overall bit rate : 6 772 Kbps
Writing application : Lavf54.6.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Bit rate : 25.0 Mbps
Frame rate mode : Constant
Frame rate : 29.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.554
Stream size : 500 MiB (98%)
Writing library : x264 core 125
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / nalyse=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=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 / rc=abr / mbtree=1 / bitrate=25000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
(不要な情報は削除しました)
私がやりたいのは、ビデオから最初の、たとえば 200 フレームを削除することです。
ただし、ffmpeg
(バージョン0.11.1、ソースからコンパイル)で試してみると
ffmpeg -i video.mp4 -vf select='gte(n\,200)' -vcodec copy -strict -2 out.mp4
それは機能しません。フレームはまったく同じです。パーツを削除する-vcodec copy
と、最初の 190 フレームはすべて同じ (190 番目のフレームと同じ) になります。したがって、それらは削除されませんが、190 番目のものに置き換えられます。
select
ビデオから単一の画像を抽出するフィルターを試してみると、
ffmpeg -i video.mp4 -vf "select=gte(n\,200)" %d.jpg
それは問題なく動作します。
なぜこれが起こるのか誰にも分かりますか?
ありがとうございました!