Playing RTP using VLC

lucasweb picture lucasweb · Feb 10, 2013 · Viewed 25.2k times · Source

I currently have an Android application that is capturing video from the camera and streaming it over RTP. I do not use RTSP.

I have created a SDP file that describes the RTP feed. I can open the SDP file in Quicktime 7 and can see the stream, attempting to open the SDP file in VLC does not work. I get the following error:

live555 demux error: no data received in 10s, aborting

I am monitoring the RTP packets using Wireshark and can see the packets on the network (see example below):

281956  2545.589171000  10.0.1.25   10.0.1.150  UDP 1442    Source port: 54405  Destination port: 51372

Quicktime 7 does not seem to have a problem binding to the destination port in the SDP and playing the stream but I see the following ICMP packet when attempting to use VLC:

286674  2925.162140000  10.0.1.150  10.0.1.25   ICMP    70  Destination unreachable (Port unreachable)

My SDP file contains:

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==;

What do I need to do to get the stream to play in VLC? I've tried using the argument '--rtp-client-port=51326' when starting VLC but it does not seem to make a difference.

UPDATE 1

It appears that VLC (at least the way I'm using it) does not use the client port you specify in the SDP, it always assigns it own port that it expects the RTP packets to be delivered on. I changed my approach to allow me to capture the port from VLC and start my RTP feed using that port as the destination and it worked. This is not an ideal solution.

Does any one know how to get VLC to use the destination port in the SDP file?

Answer

Vinay picture Vinay · Feb 13, 2013

VLC takes the port mentioned in the below parameter (51372) as destination port.

m=video 51372 RTP/AVP 96

I have tried it with Audio capture.

You should just need to play that sdp file without any parameter with this SDP configuration.