Difference between revisions of "DVBv5 Tools"

From LinuxTVWiki
Jump to: navigation, search
Line 21: Line 21:
 
  INVERSION = AUTO
 
  INVERSION = AUTO
  
== dvbv5-scan ==
 
 
A single physical channel (also called as transponder) may have several virtual channels inside it, encapsulated via a MPEG Transport stream.
 
 
Those virtual channels are called as "service" at the MPEG-TS terminology, and may have one or more audio, video and other types of elements inside it.
 
 
The dvbv5-scan goal is to scan for a list of physical channels/transponders and identify there the MPEG-TS services available.
 
 
The dvbv5-scan tool is smart enough to retrieve the information at the MPEG-TS Network Information Table (NIT) about other channels available on the stream.
 
 
Example:
 
 
$ dvbv5-scan ~/dvbc-test
 
Scanning frequency #1 573000000
 
Lock  (0x1f) Quality= Good Signal= 100.00% C/N= -13.80dB UCB= 0 postBER= 3.14x10^-3 PER= 0
 
Service SBT, provider (null): digital television
 
Service Globo, provider Globo: digital television
 
Service Record, provider (null): digital television
 
Service Band, provider (null): digital television
 
...
 
Service Trilhas Sonoras, provider (null): digital radio
 
New transponder/channel found: #2: 579000000
 
...
 
New transponder/channel found: #39: 507000000
 
 
The scan process will then scan the other 38 discovered new transponders, and generate a dvb_channel.com with several entries with will have not only the physical channel/transponder info, but also the Service ID, and the corresponding audio/video/other program IDs (PID), like:
 
 
[Globo]
 
SERVICE_ID = 5
 
VIDEO_PID = 288
 
AUDIO_PID = 289
 
FREQUENCY = 573000000
 
MODULATION = QAM/256
 
INVERSION = OFF
 
SYMBOL_RATE = 5247500
 
INNER_FEC = NONE
 
DELIVERY_SYSTEM = DVBC/ANNEX_A
 
 
 
There are several options that could be used on dvbv5-scan:
 
 
{|
 
|+ dvbv5-scan parameters
 
!parameter
 
!meaning
 
|-
 
| -3, --dvbv3 || Use DVBv3 only
 
|-
 
| -a, --adapter=adapter# || use given adapter (default 0)
 
|-
 
| -d, --demux=demux# || use given demux (default 0)
 
|-
 
| -f, --frontend=frontend# || use given frontend (default 0)
 
|-
 
| -F, --file-freqs-only || don't use the other frequencies discovered during scan
 
|-
 
| -G, --get_frontend || use data from get_frontend on the output file
 
|-
 
| -I, --input-format=format || Input format: CHANNEL, DVBV5 (default: DVBV5). The input format is case insensitive
 
|-
 
| -l, --lnbf=LNBf_type || type of LNBf to use. 'help' lists the available ones. The LNBf model is case insensitive
 
|-
 
| -N, --nit || use data from NIT table on the output file
 
|-
 
| -o, --output=file || output filename (default: dvb_channel.conf)
 
|-
 
| -O, --output-format=format || Output format: CHANNEL, ZAP, DVBV5 (default: DVBV5). The output format is case insensitive
 
|-
 
| -p, --parse-other-nit || Parse the other NIT/SDT tables
 
|-
 
| -S, --sat_number=satellite_number || satellite number. If not specified, disable DISEqC
 
|-
 
| -T, --timeout-multiply=factor || Multiply scan timeouts by this factor
 
|-
 
| -U, --freq_bpf=frequency || SCR/Unicable band-pass filter frequency to use, in kHz
 
|-
 
| -v, --verbose || be (very) verbose
 
|-
 
| -w, --lna=LNA (0, 1, -1) || enable/disable/auto LNA power
 
|-
 
| -W, --wait=time || adds additional wait time for DISEqC command completion
 
|-
 
| -?, --help || help
 
|-
 
|    --usage || Give a short usage message
 
|-
 
|  -V, --version || Print program version
 
|}
 
 
Please notice that, for Satellite systems, the LNBf and other corresponding settings are needed. the supported LNBf models by dvbv5-scan and dvbv5-zap are:
 
UNIVERSAL
 
Europe
 
10800 to 11800 MHz and 11600 to 12700 MHz
 
Dual LO, IF = lowband 9750 MHz, highband 10600 MHz
 
 
DBS
 
Expressvu, North America
 
12200 to 12700 MHz
 
Single LO, IF = 11250 MHz
 
 
EXTENDEDU
 
Astra 1E, European Universal Ku (extended)
 
10700 to 11700 MHz and 11700 to 12750 MHz
 
Dual LO, IF = lowband 9750 MHz, highband 10600 MHz
 
 
STANDARD
 
Standard
 
10945 to 11450 MHz
 
Single LO, IF = 10000 MHz
 
 
ENHANCED
 
Astra
 
10700 to 11700 MHz
 
Single LO, IF = 9750 MHz
 
 
C-BAND
 
Big Dish - Monopoint LNBf
 
3700 to 4200 MHz
 
Single LO, IF = 5150 MHz
 
 
C-MULT
 
Big Dish - Multipoint LNBf
 
3700 to 4200 MHz
 
Dual LO, Bandstacking, LO POL_R 5150 MHZ, LO POL_L 5750 MHz
 
 
DISHPRO
 
DishPro LNBf
 
12200 to 12700 MHz
 
Dual LO, Bandstacking, LO POL_R 11250 MHZ, LO POL_L 14350 MHz
 
 
 
== dvbv5-zap ==
 
== dvbv5-zap ==
  

Revision as of 19:15, 12 September 2014

DVBv5 Tools (not to be confused with the similarly named, but much older, DVB tools legacy project) is a small set of command line utilities that was developed to be compliant with the newer features provided by version 5 of the DVB API.[1] The tools should also be backward compatible with the older v3 DVB API.

This DVB toolset suite resides in the v4l-utils git repository, and uses libdvbv5.

It is composed of 4 tools::

  • dvbv5-scan - Scans the channel transponders and gets the services available there;
  • dvbv5-zap - Locks into a channel (zap), allowing other applications to get the stream at the dvr devices or to monitor the stream;
  • dvb-fe-tool - Lists frontend properties and allow to manually set the DVB frontend
  • dvb-format-convert - Converts from/to other formats used by DVBv3 apps into the dvbv5 format.

The DVBv5 file format is formed by a channel name, followed by a series of key/value properties.

For example, this is a channel file with one DVB-C channel on it:

[CHANNEL]
	DELIVERY_SYSTEM = DVBC/ANNEX_A
	FREQUENCY = 573000000
	SYMBOL_RATE = 5217000
	INNER_FEC = NONE
	MODULATION = QAM/256
	INVERSION = AUTO

dvbv5-zap

The dvbv5-zap tool can be used on several different modes, depending on the parameters used.

The typical use is to tune into a channel and put it into record mode:

$ dvbv5-zap -c dvb_channel.conf "trilhas sonoras" -r
using demux '/dev/dvb/adapter0/demux0'
reading channels from file 'dvb_channel.conf'
service has pid type 05:  204
tuning to 573000000 Hz
audio pid 104
  dvb_set_pesfilter 104
Lock   (0x1f) Quality= Good Signal= 100.00% C/N= -13.80dB UCB= 70 postBER= 3.14x10^-3 PER= 0
DVR interface '/dev/dvb/adapter0/dvr0' can now be opened

The channel can be watched by playing the contents of the DVR interface, with some player that recognizes the MPEG-TS format.

For example (in this specific case, it is an audio only channel, but the same could be used for audio/video):

$ mplayer -cache 800 /dev/dvb/adapter0/dvr0
MPlayer SVN-r37077-4.8.2 (C) 2000-2014 MPlayer Team
TS file format detected.
NO VIDEO! AUDIO MPA(pid=104) NO SUBS (yet)!  PROGRAM N. 0
==================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...

The dvbv5-zap tool can also be used to monitor a DVB channel:

$ dvbv5-zap -c dvb_channel.conf 573000000 -m
using demux '/dev/dvb/adapter0/demux0'
reading channels from file 'dvb_channel.conf'
service has pid type 05:  204
tuning to 573000000 Hz
Lock   (0x1f) Quality= Good Signal= 100.00% C/N= -13.90dB UCB= 384 postBER= 96.8x10^-6 PER= 0
  dvb_set_pesfilter to 0x2000
PID FREQ SPEED TOTAL
0000 9.88 p/s 14.5 Kbps 1 KB
0001 1.98 p/s 2.9 Kbps 376 B
0010 18.77 p/s 27.6 Kbps 3 KB
0011 48.42 p/s 71.1 Kbps 8 KB
0012 1455.53 p/s 2137.8 Kbps 270 KB
...
1fff 1033.60 p/s 1518.1 Kbps 192 KB
TOT 25296.44 p/s 37154.2 Kbps 4700 KB
Lock   (0x1f) Quality= Good Signal= 100.00% C/N= -13.90dB UCB= 384 postBER= 96.8x10^-6 PER= 0


dvb-fe-tool

dvb-format-covert