[Live-devel] Need to implement Pan Tilt Zoom (PTZ) control over RTSP or RTP

Matt Schuckmann matt at schuckmannacres.com
Fri Oct 3 17:17:51 PDT 2008

I'm working on a pan tilt zoom (PTZ) type video server application and 
the corresponding viewer application .
I'm using the Live555 library for RTSP and RTP, and I must it is great, 
thank you very much,
Anyway I need to implement the control back channel for controlling the 
PTZ from the viewer and I'm trying to figure out the best way to do it 
within the RTSP/RTP/RTCP and Live555 framework.

The way I figure it I can go 1 of 3 ways.
1. Use the SET_PARAMETER command for RTSP to send back the commands that 
I've defined (things like pan=5 or tilt=+10, etc) using the sessionID to 
associate the command with the session. However, it appears that the 
Live555 library doesn't support the SET_PARAMETER command so I'd have to 
go about implementing it (if I did I'd submit my implementation back to 
the library) but I don't know how difficult or trivial it will be to do 

2. Use the  APP packet type for the RTCP channel to send my custom 
formated commands. This seems reasonable but I don't know if this is 
what the APP packet types in RTCP where meant for or if there would be 
any pitfalls. Also I haven't gotten deep enough into Live555 to 
determine if there is a way to send APP packets through the RTCP channel.

3. Open another RTP/RTCP connection pair with my own MIME type strictly 
dedicated to controlling the PTZ. Seems kind of overkill but it might 
make it easy to fit into the Live555 RTP sink and source framework.

I've tried to look around to see if anybody else has gone any of these 
routes but I haven't found much; the RTSP RFC does mention something 
about using the SET_PARAMETER method for PTZ control but it doesn't go 
into any great detail. Any comments or suggestions from the experts out 
there would be most appreciated.

Matt Schuckmann

More information about the live-devel mailing list