An experiment with Theora and Ogg for DVB

Yesterday I have been testing the DVB setup using Theora encoded video in Ogg container instead of the H.264/MPEG-TS I have been using so far. Initial tests looked promising, but at the end the link was rather choppy and broken.

On this first screen shot I am running the simulator (i.e. no USRP) with a test pattern as video source. This setup was very stable and I was surprised to see that mplayer got synced much faster than when using H.264/MPEG-TS.

The GNU Radio DVB setup running in simulator mode using Theora codec in Ogg container.


The second screen shot shows the setup running with the GMSK transceiver and again using a video test pattern as source. I have let it run for over 2 hours during which it was very stable. Of course, I was playing with the RF settings while it was running to make it loose the signal and force it to resync – no problems there.

The GNU Radio DVB transceiver using Theora codec in Ogg container running with a videotestsrc.

Finally, I replaced the video test pattern with the Logitech Webcam Pro 9000 as video source and this is when things have started to become bad. The video came up all right but already after a few minutes, the playback becomes choppy and mplayer starts spitting “Ogg: bad packet in stream 0” messages out in the console. At the same time, the frame rate drops to about 1 fps. So this is not very useful.

The GNU Radio DVB transceiver using Theora codec in Ogg container running with the Logitech Webcam Pro 9000

For now, I will stick to H.264/MPEG-TS.

Author: Alexandru Csete

Embedded software engineer in the satcom industry during the day. Radio amateur and SDR hacker during the night.