Talk:Simple DVB with Gstreamer and GNU Radio

From MyLabWiki
Revision as of 21:16, 4 September 2010 by Alex (Talk | contribs)

Jump to: navigation, search



  • Building on the success of transferring data between GNU Radio and multimon using a named pipe, I decided to try the same trick to send real time video from Gstreamer to GNU Radio. It worked!


  • Implemented a simple video transmission simulator by sending the video through a GMSK modulator, adding noise, then GMSK demodulator. See recorded video.


  • Although the MPEG-TS muxer available in Gstreamer can not deliver CBR, sending the GMSK modulated video to the USRP didn't seem to be a problem.
  • Having only one USRP I didn't try to receive and decode the video.


  • Successful on the air tests of the DVB setup using a videotestsrc
  • Location: OZ7SAT



  • At Høm for the weekend and only brought one USRP and one laptop
  • Created a full duplex transceiver version of the GMSK TX+RX so that I could run both transmitter and receiver using only one USRP and computer:
  • The transceiver was running stable for more than 4.5 hours, see last screenshot.
  • With this setup, the video appeared to be more choppy than with the two-computer setup.



  • GMSK modulator generates 2 samples/symbol and I have 1 bit/symbol. Therefore, the input data rate to the GMSK modulator should be 500 kbps for a 1 Msps stream to the USRP.
  • The packet encoder adds 12 bytes overhead to each packet – at least when using default access code. With a payload size of 4000, this overhead corresponds to 1.5 kbps.
  • Setting H-264 encoder bitrate to 498 kbps (didn't make much difference).



  • Tried to make a simple video input switcher based on the example and although I can switch between the inputs, I can not have both local monitor and H.264 encoder attached to the output (using a splitter of course). This is weir since I have done pretty much the same in my webcam example in the Gstreamer Cheat Sheet.


  • Found out the problem is connecting the splitter to H.264 -- the setup works fine using theoraenc!


  • Found out that on Ubuntu 9.10 the also works with H.264
  • The Gstreamer packages are the same on 9.10 and 10.04 (I use PPA), but, the x264enc plugin is in the plugins-ugly-universe, which is Ubuntu and not PPA package. So it could be either due to libx264 or x264enc plugin or both.
  • The input-selector appears to cause 100% CPU load on one core. Confirmed by executing two equivalent pipelines without input-selector which had much lower CPU load.


  • Created a mapping between Pixel formats for camera, fourcc and gstreamer.


  • Tested Theora in Ogg container using videotestsrc and the simulator. Worked very well.


  • Tested the Theora version using the gmsk_trx script. Worked well and very stable for 2+ hours using the videotestsrc.
  • With camera it looses sync after a few minutes and mplayer spits out "Ogg: bad packet in stream 0" messages.