通过 RTP/UDP 流式传输时损坏的 H264 视频

Corrupted H264 video when streaming via RTP/UDP

我正在尝试通过 RTP/UDP 流式传输以 H264 编码的视频。

发送中:

gst-launch-1.0 \
  videotestsrc ! \
  video/x-raw,format=RGBx,width=960,height=540,framerate=25/1 ! \
  videoconvert ! \
  x264enc bitrate=2000 ! \
  rtph264pay config-interval=1 pt=96 ! \
  udpsink port=5000

收到:

gst-launch-1.0 \
  udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! \
  rtph264depay ! \
  decodebin ! \
  videoconvert ! \
  ximagesink

如果我在发送之前就开始接收视频,那么一切都会按预期进行。

但是,如果我在发送开始后才开始接收视频,那么图像就会“中断”。

An example of a corrupted image

如何解决这个问题?

通过在 videoconvert

之后指定上限解决了问题
...
videoconvert ! video/x-raw,format=I420
...