C++ 传输流-信息提取

C++ 传输流-信息提取,c++,video-streaming,video-capture,transport-stream,C++,Video Streaming,Video Capture,Transport Stream,我在一个*.ts文件中转储了四个通道的整个mux。 我正在解复用,我找不到任何关于如何提取分辨率、帧率、编解码器、语言、通道等的信息 我应该读宏块,还是做其他事情 Thnx.如果您只是在解复用,读取PAT和PMT并根据其PID拆分流,并为流创建新的PAT和PMT就足够了 像gstreamer或vlc这样的东西可能会有帮助,因为它已经有很多用于操作传输流的代码。如果您只是在解复用,读取PAT和PMT就足够了,可以根据它们的PID拆分流,并为流创建新的PAT和PMT 像gstreamer或vlc这样

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

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


Thnx.

如果您只是在解复用,读取PAT和PMT并根据其PID拆分流,并为流创建新的PAT和PMT就足够了


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

如果您只是在解复用,读取PAT和PMT就足够了,可以根据它们的PID拆分流,并为流创建新的PAT和PMT


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

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

  • 程序数量及其说明等:PAT和PMT

  • 音频、语言和附加信息的数量:SDT、BAT等

  • 编解码器-参考PES标头-流id,并在MPEG 2系统标准中查找

  • 分辨率和帧速率,4.2.0/4.2.2-MPEG 2视频基本流中的序列头

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


  • 附加您的问题以了解更多具体字段。

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

  • 程序数量及其说明等:PAT和PMT

  • 音频、语言和附加信息的数量:SDT、BAT等

  • 编解码器-参考PES标头-流id,并在MPEG 2系统标准中查找

  • 分辨率和帧速率,4.2.0/4.2.2-MPEG 2视频基本流中的序列头

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


  • 附加您的问题以获得更具体的字段。

    您是对的,解复用本身并不取决于我要提取的数据,例如分辨率、帧率等。。。但是,由于我正在解复用,我想知道里面到底是什么。只是为了解复用原始TS数据包,是的。但是,对于其他信息,如分辨率、音频格式等。。。PAT和PMT不会有帮助,因为这些表不包含这些信息。也许我应该读序列头…你是对的,解复用本身并不取决于我想提取的数据,如分辨率、帧率等。。。但是,由于我正在解复用,我想知道里面到底是什么。只是为了解复用原始TS数据包,是的。但是,对于其他信息,如分辨率、音频格式等。。。PAT和PMT不会有帮助,因为这些表不包含这些信息。也许我应该读一下序列头。。。