相关疑难解决方法(0)

使用VLC播放RTP

我目前有一个Android应用程序,它从摄像头捕获视频并通过RTP进行流式传输.我不使用RTSP.

我创建了一个描述RTP源的SDP文件.我可以在Quicktime 7中打开SDP文件并且可以看到流,尝试在VLC中打开SDP文件不起作用.我收到以下错误:

live555 demux错误:10s内没有收到数据,正在中止

我正在使用Wireshark监视RTP数据包,并且可以看到网络上的数据包(参见下面的示例):

281956  2545.589171000  10.0.1.25   10.0.1.150  UDP 1442    Source port: 54405  Destination port: 51372
Run Code Online (Sandbox Code Playgroud)

Quicktime 7似乎没有问题绑定到SDP中的目标端口并播放流但是在尝试使用VLC时我看到以下ICMP数据包:

286674  2925.162140000  10.0.1.150  10.0.1.25   ICMP    70  Destination unreachable (Port unreachable)
Run Code Online (Sandbox Code Playgroud)

我的SDP文件包含:

v=0
o=- 1360349812962 1360349812962 IN IP4 10.0.1.25
s=Unnamed
i=N/A
c=IN IP4 10.0.1.150
t=0 0
a=recvonly
m=video 51372 RTP/AVP 96
b=RR:0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=42c01e;sprop-parameter sets=Z0LAHukBQHsg,aM4G4g==;
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能让流在VLC中播放?我在启动VLC时尝试使用参数'--rtp-client-port = 51326',但它似乎没有什么区别.

更新1

看来VLC(至少我正在使用它的方式)不使用您在SDP中指定的客户端端口,它总是分配它自己的端口,它期望RTP数据包被传递.我改变了我的方法,允许我从VLC捕获端口并使用该端口作为目标启动我的RTP源并且它起作用.这不是一个理想的解决方案.

有没有人知道如何让VLC使用SDP文件中的目标端口?

vlc rtp sdp

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

rtp ×1

sdp ×1

vlc ×1