问 1.我应该使用哪个ffmpeg
命令来提取与其时间戳(从视频开始算起的毫秒时间)相关联的每个帧号?
预期结果 :
frame, ts
1, 34
2, 67
3, 101
4, 123
...
问2.这些时间戳是否可以安全地用作指向框架的密钥?
换句话说,如果我使用其他工具ffmpeg
来做同样的事情,我是否会得到完全相同的时间戳。
材料:http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
答案1
A1。您可以通过运行
ffprobe video.mp4 -select_streams v -show_entries frame=coded_picture_number,pkt_pts_time -of csv=p=0:nk=1 -v 0
输出为
0.000000,0
0.040000,3
0.080000,2
0.120000,4
0.160000,1
0.200000,7
0.240000,6
0.280000,8
0.320000,5
所呈现的帧n
位于线上n
(从 1 开始)。
第一列是时间戳,单位为秒;第二列是帧的编码解码和文件存储顺序。
A2。应该是。其他软件可能会删除起始偏移量 - ffprobe 不会。其他软件可能会根据音频延迟或编辑列表调整时间……等等。