VLC读取RTP组播流
VLC read RTP multicast stream
我正在尝试通过以下命令使用 UDP 多播地址发送 RTP 流:
gst-launch-1.0 /dev/video0 ! video/x-raw,format='NV16',width=1280,height=720,framerate=30/1 ! queue ! \
omxh265enc control-rate=low-latency num-slices=8 gop-mode=low-delay-p periodicity-idr=30 cpb-size=350 initial-delay=250 target-bitrate=6000 ! queue ! \
rtph265pay config-interval=1 mtu=1400 pt=96 ! \
udpsink host=239.0.0.1 port=5000 auto-multicast=true multicast-iface=eth0 async=false max-lateness=-1 qos=true qos-dscp=60 max-bitrate=60000000 -v
我没有 rtsp 地址,但我使用的是用 VLC 打开的 sdp 文件:
v=0
m=video 5000/2 RTP/AVP 96
c=IN IP4 239.0.0.1
a=rtpmap:96 H265/90000
这不起作用(无图像)但是如果我使用比方说 192.168.0.1 作为 IP 地址那么一切正常。用 wireshark 监视以太网接口,我可以看到 RTP 数据包被传送到客户端,VLC 控制台说它成功打开了 sdp 文件。
虽然没有直接回答问题,但我使用 gstreamer 将多播转换为单播作为解决方法:
gst-launch-1.0 udpsrc address=239.0.0.1 port=5000 auto-multicast=true multicast-iface=eth1 ! \
queue ! \
udpsink host=127.0.0.1 port=50000 async=false max-lateness=-1 qos=true qos-dscp=60 max-bitrate=60000000
我正在尝试通过以下命令使用 UDP 多播地址发送 RTP 流:
gst-launch-1.0 /dev/video0 ! video/x-raw,format='NV16',width=1280,height=720,framerate=30/1 ! queue ! \
omxh265enc control-rate=low-latency num-slices=8 gop-mode=low-delay-p periodicity-idr=30 cpb-size=350 initial-delay=250 target-bitrate=6000 ! queue ! \
rtph265pay config-interval=1 mtu=1400 pt=96 ! \
udpsink host=239.0.0.1 port=5000 auto-multicast=true multicast-iface=eth0 async=false max-lateness=-1 qos=true qos-dscp=60 max-bitrate=60000000 -v
我没有 rtsp 地址,但我使用的是用 VLC 打开的 sdp 文件:
v=0
m=video 5000/2 RTP/AVP 96
c=IN IP4 239.0.0.1
a=rtpmap:96 H265/90000
这不起作用(无图像)但是如果我使用比方说 192.168.0.1 作为 IP 地址那么一切正常。用 wireshark 监视以太网接口,我可以看到 RTP 数据包被传送到客户端,VLC 控制台说它成功打开了 sdp 文件。
虽然没有直接回答问题,但我使用 gstreamer 将多播转换为单播作为解决方法:
gst-launch-1.0 udpsrc address=239.0.0.1 port=5000 auto-multicast=true multicast-iface=eth1 ! \
queue ! \
udpsink host=127.0.0.1 port=50000 async=false max-lateness=-1 qos=true qos-dscp=60 max-bitrate=60000000