Skip to content

Removes Video and Audio from a DVB-T stream (pads with zeros)

Notifications You must be signed in to change notification settings

markwallsgrove/PadVA_DVBT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

 Pad Video Audio
=================

Pads all video and audio packets within MPEG2 Transport Stream with
null data (zeros). This process results in a lightweight stream 
(when compressed) that can be recorded or routed to another network 
with ease.

An example of use would be testing a set top box remotely with live 
meta data.

After the packets have been compressed the data rate is between 1-2 Mbps. 
The CPU usage on a Intel i5-2320 CPU @ 3.00GHz is utilised to around 28% 
while filtering the BBC mux. RAM is barely touched.

The pipeline is setup such as:
 HOST: TV tuner -> mplayer -> pad_av -> gzip -> nc
 CLIENT: nc -> gunzip -> DtPlay -> STB

The host receives the DVB stream by using mplayer
(with magic, see mplayer section), pads the video and audio packet 
payloads with zeros, compresses, then sends to the client.

The client receives the compresses TS packets, uncompresses, then
pipes the content for modulation (DtPlay for example).


 Requires (Tested with)
=========================

Python 2.7
MPlayer 4.7.2
DtPlay 4.2.1


 Testing
=================

Tested on a Intel i5-2320 CPU running Arch Linux,
piping the BBC mux to another PC running Ubuntu.

TV Tuner:
    AverMedia AverTV VolarHD (A835),
    Hauppauge WinTV Nova-T


 Channel List
=================

A channel list is required so that the tuners can be tuned to
the correct mux. This can be generated by executing a command
like so:

scan /usr/share/dvb/dvb-t/uk-CrystalPalace > /tmp/channels.cfg


 Tuning
=================

The tuners need to be tuned to the correct desired mux before
attempting the stream the content:

tzap -a 0 -r -c /tmp/channels.cfg -x "BBC ONE"


 MPlayer
=================

MPlayer requires channels.cfg to be place in ~/.mplayer (or specified)
on the host. The magic refered to within the summary section is within 
the following line:

allmega: .... :8192:8192:600

8192 is a magic PID that requests that the full transport stream is sent
to mplayer rather than a single channel. A example of this setup can be
found within channels.conf.

examples:
http://www.linuxtv.org/wiki/index.php/Multiple_programs


 Example Setup
=================

 HOST: mplayer "dvb://allmega" -dumpstream -dumpfile /dev/stdout | ./pad_va | gzip | nc -l -p 3333

 CLIENT: nc 192.168.19.246 3333 | gunzip | DtPlay /dev/stdin -l 0 -r 24128342 -t 215 -mt DVBT -mf 482 -mc 2/3 -mG 1/32 -mC QAM64 -m RAW

About

Removes Video and Audio from a DVB-T stream (pads with zeros)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages