5

我正在尝试提取有关 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 数据包传输哪种帧类型?

谢谢你。

4

1 回答 1

8

只需以 ts 形式捕获所有内容并在其上运行 ffprobe。

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

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

只要它是有效的视频文件,它将适用于任何格式。

于 2012-08-26T16:58:31.113 回答