dvb-format-convert(1)

NAME
dvb-format-convert - DVBv5 tool for file format conversions

SYNOPSIS
dvb-format-convert [OPTION]... input-file output-file

DESCRIPTION
dvb-format-convert is a tool meant to convert among different file formats. It is compliant with version 5 of the DVB API, being capable of representing all properties on any standard supported by the Linux digital TV drivers.

There are currently 3 different formats supported for input:

•   dvbv5 - the standard format at libdvbv5, capable of representing all different TV standards;

•   channel - the dvb-apps legacy channel format, with supports only ATSC, DVB-C, DVB-S and DVB-T standards, extended to also support s2-scan format for DVB-S2 files, and to support DVB-T2.

•   zap - the dvb-apps legacy format for tuning, with supports only ATSC, DVB-C, DVB-S and DVB-T standards.

There is one extra output format:

•   vdr - the format used by the vdr application. It supports all features found up on vdr version 2.1.6.

Unfortunately, the dvb-apps legacy zap format doesn't store the DVB standard, so, any conversions to and/or from this format requires an extra parameter, to specify the delivery system.

OPTIONS

The following options are valid:

-I, --input-format=format
    Format of the input file. Supported input formats: channel, zap and dvbv5.

-O, --output-format=format
    Format of the output file. Supported output formats: vdr, channel, zap and dvbv5.

-s, --delsys=system
    Delivery system type. Needed if input or output format is ZAP.

-?, --help
    Outputs the usage help.

--usage
    Give a short usage message.

-V, --version
    Print program version.

EXAMPLES

  Converting a channel file from legacy dvb-apps format
Reads a file at the dvb-apps channel file and writes it at dvbv5 format.

$ dvb-format-convert -I channel -O dvbv5 dvbc-channel-legacy dvbc-channel
Reading file dvbc-channel-legacy
Writing file dvbc-channel

  Convert a dvbv5 file with programs on it to the legacy dvb-apps zap format
Reads a file generated by dvbv5-scan on dvbv5 format and writes a new file at dvb-apps zap format.

$ dvb-format-convert -I dvbv5 -O zap -s dvbc/annex_a dvb_channel.conf legacy.conf
Reading file dvb_channel.conf
Writing file legacy.conf
WARNING: missing video PID while parsing entry 6 of legacy.conf
WARNING: missing video PID while parsing entry 7 of legacy.conf
WARNING: missing video PID while parsing entry 8 of legacy.conf
WARNING: missing audio PID while parsing entry 8 of legacy.conf

Please notice that the legacy dvb-apps format assumes that every channel will have one (and just one) audio PID and one (and just one) video PID, while the dvbv5 format supports multiple PID per service type.

The above warnings happened on pure-audio channels and on data-only channels:

Original dvb_channel.conf file:

[the]
        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
[quick]
        SERVICE_ID = 5
        VIDEO_PID = 288
        AUDIO_PID = 289
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A
[brown]
        SERVICE_ID = 7
        VIDEO_PID = 36
        AUDIO_PID = 305
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A
[fox]
        SERVICE_ID = 13
        VIDEO_PID = 272
        AUDIO_PID = 273
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A
[jumps]
        SERVICE_ID = 18
        VIDEO_PID = 368
        AUDIO_PID = 369
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A
[over]
        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
[the]
        SERVICE_ID = 57
        AUDIO_PID = 353
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A
[lazy]
        SERVICE_ID = 104
        AUDIO_PID = 321
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A
[dog]
        SERVICE_ID = 252
        PID_05 = 3047 3046 3045 3044 3042
        FREQUENCY = 573000000
        MODULATION = QAM/256
        INVERSION = AUTO
        SYMBOL_RATE = 5217000
        INNER_FEC = NONE
        DELIVERY_SYSTEM = DVBC/ANNEX_A

So, for the channels with multiple PIDs, the converted legacy.conf file will have just the first one.

For the channels without an audio or video PID, it will store PID=0.

This is the output file for the above channel list.

the:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:42:257:4
quick:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:288:289:5
brown:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:36:305:7
fox:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:272:273:13
jumps:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:368:369:18
over:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:336:337:48
the:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:0:353:57
lazy:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:0:321:104
dog:573000000:INVERSION_AUTO:5217000:FEC_NONE:QAM_256:0:0:252

BUGS
Report bugs to Linux Media Mailing List <linux-media@vger.kernel.org>

COPYRIGHT
Copyright (c) 2011-2014 by Mauro Carvalho Chehab.

License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.