DVBlast is a simple and powerful MPEG-2/TS demux and streaming application. This repository is mirror of official repo at git://git.videolan.org/dvblast.git and my personal development tree.
It outputs one or several RTP streams carrying transport streams with:
hardware or software PID filtering
PID-based or service-based demultiplexing
optional descrambling via CAM device
optional DVB tables
DVBlast is written to be the core of a custom IRD, CID,or ASI gateway,
based on a PC with a Linux-supported card. It is very lightweight and
stable, designed for 24/7 operation.
Current features
Lightweight program designed for extreme memory and CPU conditions
No runtime dependancy; one build dependancy (biTStream)
CAM menus (MMI) support via an external application
The configuration file describing outputs can be reloaded without losing
a single packet
Support for the new S2API of linux-dvb
IPv6 network support
UDP rather than RTP output for IPTV STBs which don't support RTP
Tuning DVBlast
You usually want to supply DVBlast with the parameters of a transponder,
for instance for DVB-S :
dvblast -f 11570000 -s 27500000 -v 18
This tunes to frequency 11570 MHz, symbol rate 27500, horizontal (-v 18).
For DVB-S2 you must indicate a modulation with -m qpsk|psk_8|apsk_16|apsk_32.
For DVB-T you must indicate a bandwidth, usually -b 8 for 8 MHz multiplexes.
Please note that frequencies are in kHz for DVB-S/S2/C, but Hz for DVB-T.
Symbol rates are in symbols/s, and bandwidths in MHz. If you have several
linux-dvb cards in the machine, specify which one to use with -a.
You generally want to run DVBlast in DVB compliance mode with option -C.
This option will pass through or generate mandatory DVB tables (NIT, SDT,
EITp/f, TOT, TDT). If you also want to pass-through the EIT schedule tables,
use the -e switch. It is considered a good practice to configure the name
of the network (for the NIT) with the -M option.
If you don't want to set these options on a general basis, you can set them
per output - see below.
Other rarely used options are available - run dvblast -h for more
information.
Alternative inputs
DVBlast may handle several DVB adapters in the same machine with the -a switch:
-a 3 will use /dev/dvb/adapter3. Additionally, selecting between frontends on
a single card is supported with the -n switch. This is useful for hybrid
DVB/S + DVB/T cards.
If you own a Computer Modules DVB-ASI input card, you can have DVBlast
filter and demultiplex the inputs. You just need to specify the slot number
with -A.
If you own a Deltacast ASI input card, you can have DVBlast filter and
demultiplex the inputs. You just need to specify the input as
"-A deltacast:" where is 100 * the card number (0 based) + the channel
number (0 based).
DVBlast can also read from a UDP or RTP IPv4 source carrying for
instance a multi-program transport stream. The address is specified with
-D. See the 'advanced features' section for information on how to create
such a stream for instance to cross network boundaries between the
receivers and the target network.
The syntax of the -D option is:
[[:]@][:][/]*
where is the multicast address carrying the stream, and <src
host> is optionally the address of the source, for source-specific multicast.
Options include:
/udp (for streams without an RTP header)
/mtu=XXXX (sets the maximum UDP packet size)
/ifindex=X (binds to a specific network interface, by link number)
/ifaddr=XXX.XXX.XXX.XXX (binds to a specific network interface, by address)
For example:
-D 239.255.0.2:1234/udp/ifindex=1
Configuring outputs
DVBlast reads a configuration file containing one or several lines in the
format :