Ogg Theora Cook Book

Saving a Theora Stream

If you are running GNU/Linux it is easy to rip an Ogg Theora stream. This is because Theora uses HTTP to stream, hence you can use the wget software, which is usually included in linux distributions. You direct wget to capture the stream like so:

wget http://streamingserver:8000/streamname

For example, if the server was icecast.streamingsuitcase.com and the stream name was theora.ogg, you would use the following command for archiving:

wget http://icecast.streaminguitcase.com:8000/theora.ogg

This is good but if wget buffers, it will quit the archiving. However you can try this:

while true; do wget http://icecast.streaminguitcase.com:8000/theora.ogg;done
This can be run as a command on one line of a shell, or you can make it into a handy little script.

Another bonus from using wget to archive is that it will increment the file names. So if you archive the stream in the example above the file would be saved as theora.ogg if you stopped wget and started it again the next file would be called theora.ogg.1 etc. This means you don't overwrite the existing archive file.

Extracting parts of a video

For non live videos, it is sometimes possible to extract parts of the video as well. This only works if the hosting provider has oggz-chop installed to allow server-side seeking. If it is installed you can specify an 'in' and 'out' point. So if you just want to download the video from second 23 to second 42, you add ?t=23/42 at the end of the URL:

wget http://example.org/theora.ogv?t=23.0/42.0

With Firefox 3.5 you can also open the URL in the browser and save it with right click Save Video As...