DVBv5 Tools: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
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 [[Development:_Linux_Media_Infrastructure_API|version 5 of the DVB API]].[http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/43100] The tools should also be backward compatible with the older v3 DVB API.
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 [[Development:_Linux_Media_Infrastructure_API|version 5 of the DVB API]].[http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/43100] The tools should also be backward compatible with the older v3 DVB API.


This DVB toolset suite resides in the [http://git.linuxtv.org/v4l-utils.git v4l-utils git repository], and uses [[DVBv5_library_(libdvbv5) | libdvbv5]].
This DVB toolset suite resides in the [http://git.linuxtv.org/v4l-utils.git v4l-utils git repository], and uses [[DVBv5_library_(libdvbv5) | libdvbv5]], also stored at the v4l-utils git tree.


It is composed of 4 tools::
It is composed of 4 tools:
* [[dvbv5-scan]] - Scans the channel transponders and gets the services available there;
* [[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;
* [[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-fe-tool]] - Lists frontend properties, allow to manually set the DVB frontend delivery system and monitors the frontend;
* [[dvb-format-convert]] - Converts from/to other formats used by DVBv3 apps into the dvbv5 format.
* [[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.
The DVBv5 default file format is formed by a channel name, followed by a series of key/value properties. Those tools also support the legacy formats used by dvb-apps.


For example, this is a channel file with one DVB-C channel on it:
For example, this is a channel file with one DVB-C channel on it:
Line 21: Line 21:
INVERSION = AUTO
INVERSION = AUTO


And this is (part of) a service (zap) file, produced from the above channel definition using [[dvbv5-scan]]:
== dvbv5-scan ==


[SBT]
A single physical channel (also called as transponder) may have several virtual channels inside it, encapsulated via a MPEG Transport stream.
SERVICE_ID = 4

VIDEO_PID = 42
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.
AUDIO_PID = 257

PID_f1 = 768
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
FREQUENCY = 573000000
MODULATION = QAM/256
MODULATION = QAM/256
INVERSION = OFF
INVERSION = AUTO
SYMBOL_RATE = 5247500
SYMBOL_RATE = 5217000
INNER_FEC = NONE
DELIVERY_SYSTEM = DVBC/ANNEX_A
[TNT]
SERVICE_ID = 48
VIDEO_PID = 336
AUDIO_PID = 337 338 849
PID_86 = 816
FREQUENCY = 573000000
MODULATION = QAM/256
INVERSION = AUTO
SYMBOL_RATE = 5217000
INNER_FEC = NONE
INNER_FEC = NONE
DELIVERY_SYSTEM = DVBC/ANNEX_A
DELIVERY_SYSTEM = DVBC/ANNEX_A


== distro packages ==


Different distros pack the dvbv5-tools on different packages.
There are several options that could be used on dvbv5-scan:


On Fedora, they're part of the '''v4l-utils''' package. The Fedora 20 version 1.4 packages are available at: [[https://mchehab.fedorapeople.org/libdvbv5/ https://mchehab.fedorapeople.org/libdvbv5/]].
{|
|+ 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


On Debian/Ubuntu, they're packaged as '''dvb-tools'''. The Debian SID packages are available at: [[https://packages.debian.org/source/sid/v4l-utils https://packages.debian.org/source/sid/v4l-utils]].


[[Category:Software]][[Category:Apps & Utilities]]
[[Category:Software]][[Category:Apps & Utilities]]

Revision as of 16:06, 14 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, also stored at the v4l-utils git tree.

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, allow to manually set the DVB frontend delivery system and monitors the frontend;
  • dvb-format-convert - Converts from/to other formats used by DVBv3 apps into the dvbv5 format.

The DVBv5 default file format is formed by a channel name, followed by a series of key/value properties. Those tools also support the legacy formats used by dvb-apps.

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

And this is (part of) a service (zap) file, produced from the above channel definition using dvbv5-scan:

[SBT]
	SERVICE_ID = 4
	VIDEO_PID = 42
	AUDIO_PID = 257
	PID_f1 = 768
	FREQUENCY = 573000000
	MODULATION = QAM/256
	INVERSION = AUTO
	SYMBOL_RATE = 5217000
	INNER_FEC = NONE
	DELIVERY_SYSTEM = DVBC/ANNEX_A

[TNT]
	SERVICE_ID = 48
	VIDEO_PID = 336
	AUDIO_PID = 337 338 849
	PID_86 = 816
	FREQUENCY = 573000000
	MODULATION = QAM/256
	INVERSION = AUTO
	SYMBOL_RATE = 5217000
	INNER_FEC = NONE
	DELIVERY_SYSTEM = DVBC/ANNEX_A

distro packages

Different distros pack the dvbv5-tools on different packages.

On Fedora, they're part of the v4l-utils package. The Fedora 20 version 1.4 packages are available at: [https://mchehab.fedorapeople.org/libdvbv5/].

On Debian/Ubuntu, they're packaged as dvb-tools. The Debian SID packages are available at: [https://packages.debian.org/source/sid/v4l-utils].