首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >F探测-混叠帧元数据

F探测-混叠帧元数据
EN

Stack Overflow用户
提问于 2021-12-21 14:33:43
回答 1查看 296关注 0票数 1

我使用mkvmerge将mp4 CFR视频与包含VFR时间戳的文本文件结合起来。使用的命令是

代码语言:javascript
复制
mkvmerge --timestamps 0:timestamps.txt input_video.mp4 -o output_video.mkv

其中文本文件timestamps.txt是v2时间戳格式。以下是前几个条目

代码语言:javascript
复制
# timecode format v2
0
6
21
36
53
71
87
103
123

我想把这些时间戳印回来

代码语言:javascript
复制
ffprobe -v 0 -show_entries packet=pts,duration -of compact=p=0:nk=1 -select_streams v output_video.mkv

但我收到了杂乱的参赛作品

代码语言:javascript
复制
0|6
6|15
21|15
36|17
53|18
123|15
87|16
71|16
103|20

例如,如果我用PyAV读取框架,我将得到正确的顺序值。

代码语言:javascript
复制
import av
c = av.open("output_video.mkv")
for frame in c.decode(video=0):
     print(frame.pts)

输出:

代码语言:javascript
复制
0
6
21
36
53
71
87
103
123

我用得不对吗?任何帮助都是非常欢迎的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-22 04:41:36

如果视频流具有B帧,那么作为B帧参考的未来P帧首先被编码并按该顺序存储。它们在解码后被重新排序。

对于or探针,packet中的条目按解码或存储顺序排列。在frames中,它们被解码并按表示顺序排列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70437124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档