我正在使用 RTMP。我需要编写一个程序来捕获 RTMP 数据包,解析它并将 RTMP 视频保存在 flv 容器中。为此,我需要在流开始时发送的 SPS 和 PPS。但这些数据可能会在不同的流中发送。例如:
- SPS 和 PPS 在流 6 中发送,视频数据在流 7 中发送。
- SPS、PPS 和视频数据来自流 7。
如果我有3个视频流并且只有1个流包含SPS和PPS,我如何知道哪个流属于SPS和PPS?
最佳答案
"How do I know which stream belongs to SPS and PPS if i have 3 video streams and only 1 stream which contain SPS and PPS?"
SPS和PPS仅用于设置MPEG解码器。一旦设置为处理一个流,您就可以更改为解码文件中的其他流,而无需任何新的 SPS 和 PPS。
除非 3 个流完全不同(即:每个流具有不同的图片大小并拥有不同的帧速率等)。在这种情况下,您将需要新的 SPS 和 PPS。
关于video - 为什么SPS和PPS以不同的 block 流id发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42300009/