Skip to content

DVB for Linux

Register name used to load filter: dvbin
This filter may be automatically loaded during graph resolution.

This filter reads raw MPEG-2 TS from DVB-T/T2 and DVB-S/S2 cards on linux.

The URL scheme used is dvb:// with the following syntaxes:

  • dvb://CHAN: tunes to channel CHAN in the channel configuration file.
  • dvb://+CHAN: tunes to multiplex contaning channel CHAN and expose all programs.
  • dvb://=N: tunes to the N-th channel in the channel configuration file.
  • dvb://@FREQ: tunes to frequency FREQ and exposes all channels in multiplex.
  • dvb://@=N: tunes to N-th frequency and exposes all channels in multiplex.
  • dvb://@chlist: populates the chans option with available channels in the configuration file and do nothing else.

When tuning by channel name CHAN, the first entry in the channel configuration file starting with CHAN will be used.

The channel configuration file is set through chcfg. The expected format is VDR as produced by w_scan, with a syntax extended for comment lines, starting with #.
Within a comment line, the following keywords can be used to override defaults:

- `dev=N`: set the adapter index (`N` integer) or full path (`N` string).  
- `idx=K`: set the frontend index `K`.  
- `csidx=S`: set the committed switch index for DiSEqC.

To view the default channels, use gpac -hx dvbin.

Options

src (cstr): URL of source content

block_size (uint, default: 65536): block size used to read device

chcfg (cstr, default: $GCFG/channels.conf): path to channels configuration file

dev (str, default: 0): path to DVB adapter - if first character is a number, this is the device index

idx (uint, default: 0): frontend index

timeout (uint, default: 5000): timeout in ms before tune failure

csleep (uint, default: 15): config sleep in ms between DiSEqC commands

csidx (uint, default: 0): committed switch index for DiSEqC

chans (strl): list of all channels, only pupulated for dvb://@chlist URL

Was this page helpful?