gpt4 book ai didi

ffmpeg - ffprobe - 随机帧元数据

转载 作者:行者123 更新时间:2023-12-04 22:56:55 25 4
gpt4 key购买 nike

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

mkvmerge --timestamps 0:timestamps.txt input_video.mp4 -o output_video.mkv
文本文件在哪里 timestamps.txt是 v2 时间戳格式。这是前几个条目
# timecode format v2
0
6
21
36
53
71
87
103
123
我正在尝试将这些时间戳打印出来
ffprobe -v 0 -show_entries packet=pts,duration -of compact=p=0:nk=1 -select_streams v output_video.mkv
但我收到打乱的条目
0|6
6|15
21|15
36|17
53|18
123|15
87|16
71|16
103|20
如果我用 PyAV 读取帧例如,我以正确的顺序获取值。
import av
c = av.open("output_video.mkv")
for frame in c.decode(video=0):
print(frame.pts)
输出:
0
6
21
36
53
71
87
103
123
我是否错误地使用了ffprobe?非常欢迎任何帮助!

最佳答案

如果视频流具有 B 帧,则作为 B 帧引用的 future P 帧首先被编码并按该顺序存储。它们在解码后重新排序。
对于 ffprobe,packet 中的条目按解码或存储顺序排列。在 frames ,它们被解码并按呈现顺序排列。

关于ffmpeg - ffprobe - 随机帧元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70437124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com