如何将MP4摘录与视频帧相关联?

时间:2017-07-26 21:51:08

标签: video ffmpeg mp4 h.264

我有一个MP4文件,以及一个16kb的文件摘录。我想知道摘录的哪些框架匹配。我可以找到摘录的偏移量,但我相信MP4编码是可变长度的(所以我不能只说“这段摘录来自帧#(偏移/帧大小)”)这也意味着我的摘录可能没有一个有效的帧边界,所以我不能只将它重命名为“excerpt.mp4”并播放它。

有什么方法可以找出与摘录相对应的帧?

1 个答案:

答案 0 :(得分:3)

运行

ffprobe -show_entries frame=pkt_pos,pkt_size -select_streams v -of csv=p=0:nk=1 -v 0 in.mp4

它的输出将是

48|33720
54534|76
53159|974
54920|381
34070|19089
68405|520
67315|740
69279|397
55627|11356
84445|534
83571|536
85314|979

其中第一列是帧的起始字节偏移量,第二列是大小。第n行显示在第{n行。您可以使用任何shell工具..等来检查您发现的偏移值在positionposition+size之间的哪一行。位置序列可能不是单调的,因此只需检查第一列是不可靠的。