Transmitting DVB-S with USRP and VLC
To transmit DVB-S signals, we need, in order, the following:
Audio/Video-source -> MPEG-TS encoder -> DVB-S encoder -> modulator/transmitter
VLC as a MPEG transport stream encoder
To create the MPEG-TS transport stream i use VLC under linux. It should be possible to use other operating systems but i havent tried that yet.
VLC is configured to send the MPEG-TS to the DVB-S encoder over the network via the RTP protocol. See Encoding PAL over MPEG-TS with VLC for details.
VLC can be used as a carrousel to play multiple movies, and also allow easy switchover to webcams and framegrabbers available when configured in a playlist.
For videosources you can use movies, framegrabbers, other network video sources, webcams etc. For example the EasyCAP DC60 or the internal webcam of your laptop. See VLC live video sources for detailed examples.
Java based DVB-S encoder
This is a java program. It receives the MPEG-TS stream over RTP and does all the digital encoding. Sending its output to a named pipe. This encoder is responsible for the null-packet insertion in order to create a constant-rate datastream. This is to keep the QPSK modulator always fed with data, so that the receiving side can maintain lock on the signal.
QPSK Modulator / USRP1
This is a simple QPSK modulator, build in gnuradio-companion. It reads from the named pipe, converting it from data into a QPSK modulated signal. This signal is then sent to the USRP1, which is fitted with a WBX board where it is converted to analog, and mixed to 1250MHz.