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?