Unless you plan on performing the computation on another computer[not the camera's], multicast is not the solution your looking for. Multicast refers to using RTP to transfer the data from the camera to other computers. http://en.wikipedia.org/wiki/Real-time_Transport_Protocol

A basic television is a good example of RTP/Multicast. If you turn your television on to a specific channel at 10PM and start watching a show, and I turn on my camera at 10:15PM to the same channel - we will both see the same show at the same time, I will simply have missed the first 15 minutes. The show is being "multicast" to all devices that choose to receive the show.

So using multicast in your use case, if you had 3 different processes that yield different results, and you wanted them to all be done in realtime on different computers, you could stream the recording to those machines[the multicast function] and each machine could apply it's own different program to the data and store it.[or rebroadcast, etc]...and by the same token, if you have a single machine is fast enough, it could run 3 different programs each of which connect to the RTP/multicast stream and process the data...

See http://wiki.elphel.com/index.php?title=Camera_software#mencoder and the section on mencoder for how you can run a program on an seperate network connected system to capture the video as it is broadcast. See the mplayer website for how you can add additional commands to mencoder to process the video as it is captured.

I'm not sure if all of this would really be necessary however, as the Elphel is running a linux operating system and can multitask, so I would imagine you should be able to run mencoder locally to process the video at the same time, or very nearly the same time, as your capturing it. I suppose the benefit of designing your entire process/workflow to use mencoder in conjunction with RTP/multicast would be that you could do it all on the camera....and if you run into performance issues it is incredibly easy to move the processing to an external system since the same commands that run locally can run remotely.

Interestingly[to me at least], I just checked to 2 main libraries mencoder uses to process/encode video[libavcodec and x264] and neither of them are able to use a GPU for video encoding. Their all pure CPU based with no plans on adding OpenCL/GPU enhancements. So if you are planning on using additional systems for processing the video, adding a GPU to the system won't provide any benefit if using mencoder.

-Gary

_______________________________________________
Support-list mailing list
[email protected]
http://support.elphel.com/mailman/listinfo/support-list_support.elphel.com

Reply via email to