ffprobe 读取视频数据包的最快方法

ffprobe Fastest way to read video packets

我一直在使用 ffprobe 从视频流中读取数据包进行分析。然而,它的速度非常慢。阅读 30 分钟的 720p 视频大约需要 8 分钟。 我现在正在使用以下命令:

ffprobe.exe -i video.mp4 -show_entries packet=size,pts_time,flags,duration_time

这为我提供了每个数据包的以下信息:

[PACKET]
pts_time=1981.392000
duration_time=0.032000
size=1536
flags=K_
[/PACKET]

我确实在文档中阅读了一些内容,但看起来仅此而已,或者有没有办法让它更快?

或者是否有其他 CLI 工具可以更快地从视频中获取上述信息?

花费的时间是由于在控制台上打印日志。如果您重定向到一个文件,一个 30 分钟的文件应该需要几秒钟。

ffprobe.exe -i video.mp4 -show_entries packet=size,pts_time,flags,duration_time > packets.log

(您的命令也会探测音频数据包,如果存在的话。添加 -select_streams v 仅用于视频)