检测MPEG TS流中的视频帧类型

时间:2012-08-24 15:18:42

标签: video-streaming frame mpeg

我正在尝试提取有关TS数据包中帧类型的信息。 使用FFMEPG我正在发送MPEG TS封装视频(用x264压缩),另一方面我用Wireshark记录收到的数据包。我的数据包长188个字节,对应一个MPEG TS数据包。现在我需要找出哪些TS包携带I,P或B帧数据。

我试图在我的数据中检测到图片标题(00 00 01 00),基于这篇文章: http://forum.digital-digest.com/f4/help-extract-i-frames-mpeg2-ts-89736.html 但我找不到它。我可以注册的是PES包的开始(00 00 00 01 E0)。 我对这些格式感到困惑。 PES的哪一部分说哪种帧类型的一个TS包传输?

谢谢。

1 个答案:

答案 0 :(得分:5)

只需以ts格式捕获所有内容,然后在其上运行ffprobe。

ffprobe -show_frames并在视频帧中查找pict_type。编写一个小脚本来解析输出并为您提供输出。如果你懒得这样做

ffprobe -show_frames | grep pict_type | grep -n我
应该直接给你帧号。

只要是有效的视频文件,就可以使用任何格式。