我正在尝试编写一个24 fps视频的脚本,它接近正确的事情,除了在我寻找的每个片段的开头两个丢失的帧。
我发现索引帧(关键帧)可能会成为搜索的问题,因此我首先使用以下行创建一个中间文件,每个帧都作为索引帧:
ffmpeg -i input.mov -c:v libx264 -g 1 -c:a copy intermediate.mp4
然后我继续用这条线切割。请注意,我正在绘制一些文本:
ffmpeg -hide_banner -y -i intermediate.mp4 -ss 00:00:02.083333333333 -to 00:00:02.875000000000 -vf drawtext=fontfile=DroidSans.ttf:fontsize=48:text="segment2":fontcolor=yellow:box=1:boxborderw=16:boxcolor=black@0.5:x=w/32:y=h/18 output.mp4
无论段的长度如何,前两帧都会被丢弃。
我正在使用python do control ffmpeg。
有什么想法吗?
编辑:
使用ffprobe -hide_banner Nixing_0010_0010.mp4
在其中一个生成的细分受众群上运行ffprobe,说明如下:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Nixing_0010_0010.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.82.101
Duration: 00:00:02.11, start: 0.000000, bitrate: 4717 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4751 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
Metadata:
handler_name : VideoHandler
timecode : 00:00:00:00
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
handler_name : TimeCodeHandler
timecode : 00:00:00:00