问题描述
我使用 GStreamer 1.0 通过 MGW ACE 编码器(或来自 VLC 本身)捕获和显示视频广播,我使用带有 H264 的 RTP
我了解到需要发送方的 SPS 和 PPS 信息才能进行解码。 这两个信息都添加在 sprop-parameter-sets 参数中。
但是如果我无法获得该信息,有没有什么方法可以在不添加该参数的情况下进行解码和显示?
我的有效载荷如下:
gst-launch-1.0 -vvv udpsrc port = 9001 caps = "application / x-rtp,media = (string) video"! rtph264depay! decodebin! autovideosink
我已经验证,从两个不同的主机,一个发射,另一个通过 gstreamer 接收,我没有问题,我可以毫无问题地发送和接收它。 但是当我尝试从 VLC 本身接收来自 MGW ACE 编码的视频时,我无法显示它。
解决方法
某些 RTP 流场景在每个 IDR 帧之前定期在带内重复 SPS/PPS。但是我相信他们这样做是为了方便特定情况。如果我没记错的话,RTP 定义了 SPS/PPS 传输发生在带外,通过 SDP 信息。