DVBv5 Tools: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
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