我正在制作一个分段程序来干预ffmpeg的write_frame函数,并将输出数据写入不同的文件。每个分段文件包含大约3秒的视频片段。
守则如下:
1 - Get transcoded packet
2 - Check if it contains key frame data, if yes goto 3.
3 - Check the duration of current segment, if it exceed 3 seconds, goto 4
4 - Close file, and create new segment, write packet to segment file, goto-1一般来说,每个片段至少包含3秒的视频数据,它从一个关键帧开始。
问题是输出视频的持续时间是非常不同的,有些包含3秒,有些包含5或6。
我怀疑这个问题是因为ffmpeg如何在代码转换过程中生成关键帧。如果两个相邻的关键帧之间的“距离”是6s,我有6秒段。
以下是我的问题:
发布于 2013-01-02 11:32:13
-g (FFmpeg)关键帧间隔,又称GOP长度。这决定了i帧之间的最大距离.非常高的GOP长度将导致稍微更有效的压缩,但将使在视频中寻找更多的困难。
-keyint_min (FFmpeg)最小GOP长度,i帧间的最小距离.
https://stackoverflow.com/questions/14117757
复制相似问题