使用 gstreamer 的 Jetson TX2 组播 UDP 流

Jetson TX2 multicast UDP stream with gstreamer

我正在尝试使用 Ubuntu 18.04 将其以 H264 编码的 CSI 输入流式传输到使用 gstreamer 的 UDP 多播。我浏览了(比如)整个互联网并尝试了所有代码,但我无法通过 URL 或 SDP 文件与 VLC 连接。但是,我可以使用另一个 gstreamer 实例从同一台计算机连接到它。目标是能够从浏览器连接到流,但我想让它与 VLC 一起工作会更容易。

服务器代码:

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 ! udpsink host=239.127.1.21 port=5000

收件人代码: gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! xvimagesink

这行得通,接收器代码随视频一起打开 window。当我尝试通过 VLC 接收时遇到了一些问题,但基本上没有任何效果,VLC 只是连接,我试过:

v=0
c=IN IP4 239.192.1.21
m=video 5000 RTP/AVP 96 
a=rtpmap:96 H264/90000

我尝试了各种 IP - 服务器的 IP、本地主机,我尝试从另一台计算机连接并尝试了客户端 IP 和服务器 IP 的各种组合。我也无法连接到单播,但我需要让多播工作。

所以我的问题基本上是:如何从浏览器连接到 gstreamer 流。

你可以试试吗

gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! omxh264enc ! 'video/x-h264, stream-format=(string)byte-stream' ! h264parse ! rtph264pay mtu=1400 config-interval=1 pt=96 ! udpsink host=239.127.1.21 port=5000

使用 sdp 文件

v=0
c=IN IP4 239.127.1.21
m=video 5000 RTP/AVP 96 
a=rtpmap:96 H264/90000