How to stream your webcam videos live online using Ubuntu
If you are planning to conduct an event but the participants can't physically attend it, then what do you do? You take the event to them of course!! In more technical terms this is called live streaming. In this post we are going to show you how to live stream an event using a handycam, a web connection and of course the tools found in Ubuntu!!
To start streaming
- We need to capture the video from the camcorder
- Convert the raw video into a suitable format to be transmitted over the web
- A web server that can host the video so that users can view it via a link in their browser
We can stream video from either a webcam or a handycam. Handycams are much preferred as they are compact and handy and of course support better resolutions. Here we will see how to stream videos from a handycam. The tool used to capture video or audio from camcorders is called dvgrab.
dvgrab can be installed using the command in Ubuntu
sudo apt-get install dvgrab
From the camcorder we can grab video using the following command
#dvgrab --format raw
In addition to dvgrab, we need two other tools named ffmpeg2theora and oggfwd. To install these packages, use the following command.
sudo apt-get install ffmpeg2theora oggfwd
Now with the video inputs taken care of, all that is left is to broadcast the video to the rest of the world via the web. For that you need to have a streaming video server. If you do not own one you can use
Giss tv is a free tool for for free media which means that you can use their services to stream events related to Free Software and non copyrighted stuff, perfect for an Ubuntu release party, not good for viewing the security cam of your house :-D. If you have our own streaming icecast server you can use it for the same purpose.
Coming back to giss, the next step is to create a mount point in Giss tv (http://giss.tv) service.
Add mount point from the link given below
Once you have created your mount point you will get mount point details that include a password to your email id.
Now connect the camera and the computer with a firewire cable and execute the command below.
#sudo dvgrab --format raw - | ffmpeg2theora -a 0 -v 5 -f dv -x 320 -y 240 -o /dev/stdout - | oggfwd icecastserver 8000 pwd /theora.ogg
Here 320x240 is the resolution, icecast server is the streaming server(in our case it is giss.tv), pwd is the password and theor.ogg is the mount point.
Now all that is needed it to send the link of the live video to your viewers. Distribute the following url to your viewers.
http://gist.tv:8000/<mountpoint> where <mountpoint> should be replaced with the uniquemountpoint supplied to you by gist.tv.
Yep, thats it. If all goes well, you should have the vide up and running on the website.
Video Streaming in Ubuntu can be done using the above commands. If you prefer a more user friendly method without having to resort to typing all those commands, we recommend that you use an alternative, Theora Streaming Studio.
Theora Streaming Studio is a GUI for streaming which can be downloaded from http://gollum.artefacte.org/tss/ .There is a deb package available for Ubuntu and Debian users.
Theora Streaming Studio
Input camera configuration screen
Streaming server configuration screen
( Giss tv service cannot be used for commercial purpose. Please make sure that you read terms and conditions of Giss tv) .
Hope you found the article useful. If you have any questions, please post them in the comment box below. We will be posting a thorough howto on setting up a live streaming environemnt using Theora Streaming Studio soon.