Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于FFmpeg的GOP结构_Ffmpeg_H.264_Mpeg 4 - Fatal编程技术网

基于FFmpeg的GOP结构

基于FFmpeg的GOP结构,ffmpeg,h.264,mpeg-4,Ffmpeg,H.264,Mpeg 4,关于MPEG4视频中的图片组(GOP),我有两个问题(对于MPEG4 Part2和H.264): 如何使用FFmpeg提取视频序列的GOP结构和大小?我知道AVPicturestruct的av\u get\u picture\u type\u char函数为每一帧生成图片类型,但我想知道是否有更直接的方法来获取GOP信息 我如何检测序列是否具有打开的GOP或关闭的GOP,即是否允许来自一个GOP的B帧引用相邻GOP中的I和p帧 这些都不是直接以ffmpeg格式导出的,因此您必须自己解决这些问题。

关于MPEG4视频中的图片组(GOP),我有两个问题(对于MPEG4 Part2和H.264):

  • 如何使用FFmpeg提取视频序列的GOP结构和大小?我知道
    AVPicture
    struct的
    av\u get\u picture\u type\u char
    函数为每一帧生成图片类型,但我想知道是否有更直接的方法来获取GOP信息

  • 我如何检测序列是否具有打开的GOP或关闭的GOP,即是否允许来自一个GOP的B帧引用相邻GOP中的I和p帧


  • 这些都不是直接以ffmpeg格式导出的,因此您必须自己解决这些问题。因此,1的简短答案是“不”。如果解析帧(不需要解码)并获得帧类型,则应该能够在AVPacket.pos中识别文件中的位置(偏移量,以字节为单位)。对于序列中的每个I帧,搜索其后的数据包并记录。和。。如果B(pos)>I(pos),但B(pts)
    解析循环将是()。

    谢谢。如果B(pos)>I(pos)但B(pts)