Thank you so much for your prompt answer Ross,
I exposed my problems with VLC to explain why I am looking for an
alternative; I was not looking here for help with VLC... sorry if I
didn't explain myself clearly.
The main reason I originally chose to use UDP broadcast instead of
multicast was that I have a network recorder that can be setup to record
all the activity in an specific UDP port, and then replay it at will. I
was not sure that it could record multicast transmissions so I decided
to go the safe way (as always delivery time was too short) and after I
had something working and the client happy, I would have time to test
better technologies and optimizations.
Yes, the cameras use H.264. I started dealing with digital cameras and
digital video barely two months ago so please excuse my utter lack of
knowledge in video technologies. Some questions that may seem obvious
but I don't know the answers:
- My idea is to reduce as much as possible the bandwidth usage in the
network, so probably the ideal scenario would be to program the camera
to multicast its stream and have the clients connect directly to that
one... am I right?
- If the camera or video server is not programmable for multicasting, is
it at all possible to open a single connection to the camera from one
client and then direct my clients to "tap" on the RTP video stream to
that single client without creating a duplicate UDP video stream for each?
- I had modified the proxyServer application to rebroadcast the camera
streams but that was not very useful since still each client had to open
an RTSP connection to the specific IP address of my server, so I guess
that also created duplicated streams in the network. I will follow your
advise to try and multicast with the "testH264VideoStreamer" app and see
how it goes. I think I can use the "input" part of proxyServer and
combine it with textH264VideoStreamer to be able to re-stream a live
stream via multicast, am I right?
Thanks again,
Marco.
*Ing. Marco A. Pérez López*
Software Development
Xanatos Marine Ltd.
#370 18 Gostick Place
North Vancouver, B.C., V7M 3G3
Phone: +1 604 904 2200
www.xanatosmarine.com <http://www.xanatosmarine.com/>
This electronic transmission (including any and all attachments) is
intended solely for the use of the individual or entity to which it is
addressed and may contain information that is privileged and/or
confidential. If you are not the intended recipient of this electronic
transmission, you are hereby notified that any disclosure, copying, or
distribution, or the taking of any action in reliance upon the contents
of this electronic transmission, is strictly prohibited, and you are
further requested to purge this electronic transmission and all copies
thereof from your computer system.
Post by Ross FinlaysonPost by Marco (Xanatos Marine)I am building an application where several clients should be able to
watch a video stream from a CCTV IP camera.
I think that the best solution bandwidth-wise is to have a single
computer in the network connect to the rtsp stream from the camera,
and then broadcast this stream via UDP (to some address like
255.255.255.255) so all other computers in the network only need to
"tap" that UDP port to get the video stream.
First, you shouldnt be sending to the broadcast address
255.255.255.255, because that will cause the packets to get received
(and then discarded, if inappropriate) by all computers on your LAN.
Instead, you should be using an IP multicast address - which will
cause the packets to get delivered only to the computer(s) that have
subscribed to that address, and also (with appropriate routing) allows
for the possibility of the packets being forwarded beyond a single LAN.
And, of course, you should be using the standard RTP protocol (over
UDP), rather than raw UDP.
We have several demo applications - in the testProgs directory -
that will stream (from a video file) via IP multicast. You didnt say
what video codec you are using, but if youre using H.264 (the most
commonly-used video codec these days), then you can use our
testH264VideoStreamer application.
Then, once you have demonstrated multicast streaming from a file
(using an appropriate test*Streamer demo application), then see here
http://live555.com/liveMedia/faq.html#liveInput
for tips on how to adapt this to stream from a live video source.
Post by Marco (Xanatos Marine)I implemented this with VLC and it works, but... as the network gets
more load from several devices, the VLC instances start falling
behind the real time stream from the camera. With one Full HD camera
and four standard cameras in the network, VLC (the "source" or
re-streaming instance mainly) falls behind at an astonishing rate and
after some 10 minutes the output stream is like 5 minutes behind real
time!
We cant help you with VLC problems (because VLC is not our problem),
but I wonder if perhaps youre running into network capacity problems.
Note that if any of your cameras are streaming over WiFi, then
broadcast (or multicast) over WiFi is notoriously slow.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
http://lists.live555.com/mailman/listinfo/live-devel