[Live-devel] RTSP Client and multicast with AXIS cameras

Ross Finlayson finlayson at live555.com
Wed Nov 2 10:02:18 PST 2005


>The first problem is in RTSPClient::setupMediaSubsession, when 
>building the SETUP message: transportTypeStr = 
>IsMulticastAddress(connectionAddress) ? ";multicast" : ";unicast";
>
>This line is not working well. The function IsMulticastAddress() 
>recognizes the null direction in the sdp (c= IN IP4 0.0.0.0) as an 
>unicast address and sends a unicast transmission SETUP, instead of a 
>multicast SETUP. So, after the PLAY, the server starts streaming unicast.
>
>I added a bool parameter as input to the 
>RTSPClient::setupMediaSubsession(.... ,bool useMulticast)

I have now installed a new version (2005.11.02a) of the code that 
includes such a parameter.  This (optional) parameter is called 
"forceMulticastOnUnspecified"; see 
"liveMedia/include/RTSPClient.hh".  (Note that if you set this 
parameter to True, then the previous parameters - "streamOutgoing" 
and "streamUsingTCP" must be False.)

>Second problem: I've been loking at the new parsing of the 
>"destination=" field. I dont understand why you are assigning it to 
>the foundServerAddressStr variable.

This is just a hack - don't worry about it.  (What actually ends up 
getting set is the 'connection endpoint' address, which - for a 
multicast stream - is the multicast address, not the address of the server.)

>I think you are missing also the port: field whis comes in the same 
>message, and specifies the RTP/RTCP port pair for multicast. e.g. 
>"port: 3456-3457".

Yes, I've now updated the "parseTransportResponse()" function to 
recognize the "port=" field in the "Transport:" header (for multicast streams).


	Ross Finlayson
	Live Networks, Inc. (LIVE555.COM)
	<http://www.live555.com/>



More information about the live-devel mailing list