传输流 - 提取信息

时间:2010-11-21 22:36:01

标签: c++ video-streaming video-capture transport-stream

我有一个完整的多路复用器,在一个* .ts文件中转储了四个通道。 我正在解复用它,我找不到任何关于如何提取分辨率,帧率,编解码器,语言,通道等的信息......

我应该阅读宏块还是做其他事情?

日Thnx。

2 个答案:

答案 0 :(得分:1)

以下是查找信息的位置列表:

  1. 节目数量,描述等:PAT和PMT。

  2. 音频和语言的数量及其他信息:SDT,BAT等。

  3. 编解码器 - 参考PES标题 - stream_id并查找MPEG 2系统标准。

  4. 分辨率和帧速率,4.2.0 / 4.2.2 - MPEG 2视频基本流中的序列标题。

  5. 比特率 - 您只能通过计算两个PCR数据包之间的数据包数(x 188字节)和PCR距离来估计

  6. 将您的问题附加到更具体的字段。

答案 1 :(得分:0)

如果您只是解复用,只需读取PAT和PMT并根据其PID分割流,并为流创建新的PAT和PMT。

像gstreamer或vlc这样的东西可能会有所帮助,因为它已经有很多用于操作传输流的代码。