Streaming Video With RaspberryPi
Contents
Video streaming is currently a problem in the world of free software.
The RaspberryPi camera offers an interesting solution to this problem. It is a very well integrated module of the Pi with one huge advantage: h264 encoding can be performed directly by the CPU as the camera uses the Serial Camera Interface protocol.
So theorically, solving the video problem with the Pi is easy but there are many subtle problems.
Problems
Audio As we use video webstreaming mostly for conferences broadcasting, good audio quality is necessary.
Slides It would be interesting to include slides of conferences while filming.
File It is important to have a file at the end of the filming.
Web It is important to have a large viewer base, therefore a well supported format.
Solution 1 : OGG/VORBIS + Icecast
Basic idea use the PI to capture MP4, stream it locally to a laptop. Merge audio in the laptop with ffmpeg and push the resulting ogg/vorbis stream to an icecast server.
CON Mandatory local network between pi and laptop for socket,
PRO Icecast is simple, open, and handles authentification. The file is saved on the server. Vorbis is HTML5 compatible.
Sources
http://sirlagz.net/2013/01/07/how-to-stream-a-webcam-from-the-raspberry-pi-part-3/
Solution 2 : FLVSTR + PHP Streamer
Basic idea the Octopuce company has a solution to convert live MP4 to F4V. With an USB audio card, we could mux the MP4 and AAC audio and have a standalone solution.
CON authentification is hard, F4V means Flash,
PRO the pi can be autonomous
Solution 3 : RTSP
Basic idea Use an RTSP stream with VLC and the V4L driver
CON Non commercial RTSP server are not the norm, requires VLC or Flash player
PRO Easy to work out
Sources
http://www.ics.com/blog/raspberry-pi-camera-module#.VJFhbyvF-b8
References
http://techzany.com/2013/09/live-streaming-video-using-avconv-and-a-raspberry-pi/