[Live-devel] RTSPClient WRT connection to rtsp server (camera)

Tyson, Russell A. III RUSSELL.A.TYSON.III at saic.com
Mon Apr 29 08:01:54 PDT 2013


First, I want to thank you for the great library!  I appreciate your
hard work on this!

 

I am somewhat new to Live555, and to the world of video processing, so
bear with me if I ask some silly questions.

 

I am working on a windows service (a "Manager") that starts, monitors,
and stops multiple Proxy servers.  These proxy servers are based on your
Live555 Proxy Server code. Each proxy is serving a single stream from a
single back end camera.  This manager is written in managed C#,
obviously the proxies are in unmanaged C++.  This system runs with no
user intervention outside of starting various clients to view the
streaming video.

 

This "Manager" service is responsible for starting each proxy with a
given back end rtsp address, monitoring the state of the proxies, and
shutting any or all proxies down when directed, or when the proxy's
state becomes unstable.  The manager reports its state (which is the
state of all proxies) to other services in our application.

 

During the lifetime of the proxy, I expect that the back end connection
could terminate for some reason, or not connect at all in the first
place.  I have been looking for a hook to report this state back to the
manager, but have not been successful.  Does the RTSPClient provide any
type of event, or other signal that could be used by other
processes/services for the purpose of monitoring the state of the back
end connection?  My apologies if I have overlooked it in my search.

 

Now for part 2...

 

In our system, we also have an archiving service.  This service connects
to the stream provided by the proxy and archives the data to a file.
One archiver exists for each proxy.  The Archiver uses the OpenRTSP
client to achieve this.  I have noticed that if the OpenRTSP client
terminates unexpectedly, the CPU usage of the proxy skyrockets from
about .07 average up to around 22.5 average.  We run about 25 of the
proxies, so you can imagine the hit if 4 of these clients die.  In the
case where the archiving service as a whole dies, all of the clients can
terminate, which leaves us with 25 proxies running at around a 22% CPU
usage with makes the system unusable.

 

I had considered monitoring the CPU load on all of the proxies through
the manager, and terminating/restarting any that run high on CPU usage.
But I was wondering if you could shed some light on what is going on in
the proxy to produce this effect.

 

Thanks in advance!

 

 

Russell Tyson | SAIC
Senior Software Engineer | Software Solutions Team
phone: 256-971-6640 | mobile: 256-651-9981
russell.a.tyson.iii at saic.com | saic.com <http://www.saic.com/> 

Science Applications International Corporation
6723 Odyssey Drive NW
Huntsville, AL 35806


NATIONAL SECURITY | ENERGY & ENVIRONMENT | HEALTH | CYBERSECURITY 

This email and any attachments to it are intended only for the
identified recipients. It may contain proprietary or otherwise legally
protected information of SAIC. Any unauthorized use or disclosure of
this communication is strictly prohibited. If you have received this
communication in error, please notify the sender and delete or otherwise
destroy the email and all attachments immediately.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130429/63aa1c16/attachment.html>


More information about the live-devel mailing list