是否可以通过以下方式从 MP4 文件中提取搜索点/关键帧:
关键帧 - 时间范围(以秒为单位) - 偏移量(以字节为单位)
例子:
0 - 0s - 77262
1 - 0.5s - 144183
2 - 1s - 222965
3 - 1.5s - 293303
4 - 2s - 362199
5 - 2.5s - 431178
提前致谢。
最佳答案
您可以使用 ffprobe
.也许是这样的:
ffprobe -show_frames -select_streams v:0 -show_entries frame=key_frame,coded_picture_number,pkt_pts_time,pkt_pos input.mp4 | grep -A 3 "key_frame=1"
结果是:
key_frame=1
pkt_pts_time=0.000000
pkt_pos=48
coded_picture_number=0
--
key_frame=1
pkt_pts_time=10.000000
pkt_pos=47130
coded_picture_number=250
--
key_frame=1
pkt_pts_time=20.000000
pkt_pos=92713
coded_picture_number=500
--
key_frame=1
pkt_pts_time=30.000000
pkt_pos=138159
coded_picture_number=750
key_frame=1
表示特定帧是关键帧。 section_entries
如果这个例子没有给你你想要的。见 man ffprobe
. -print_format
更改输出打印格式的选项(默认、紧凑、csv、flat、ini、json、xml)。您可能必须执行额外的处理才能获得所需的内容。 关于php - 如何从 PHP/FFmpeg/MP4Box/Anything 中提取 MP4 搜索点信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510730/