.TH "dvb-format-convert" 1 "Fri Oct 3 2014" "DVBv5 Utils @PACKAGE_VERSION@" "User Commands"
.SH NAME
dvb-format-convert \- DVBv5 tool for file format conversions
.SH SYNOPSIS
.B dvb-format-convert
[\fIOPTION\fR]...  \fIinput-file\fR \fIoutput-file\fR
.SH 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.
.PP
There are currently 3 different formats supported for input:
.IP "\(bu" 2
\fBdvbv5\fR \- the standard format at libdvbv5, capable of representing all
different TV standards;
.PP
.IP "\(bu" 2
\fBchannel\fR \- 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.
.IP "\(bu" 2
\fBzap\fR \- the dvb-apps legacy format for tuning, with supports only
ATSC, DVB-C, DVB-S and DVB-T standards.
.PP
There is one extra output format:
.PP
.IP "\(bu" 2
\fBvdr\fR \- the format used by the vdr application. It supports all features
found up on vdr version 2.1.6.
.PP
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.
.PP
.SH OPTIONS
.TP
The following options are valid:
.TP
\fB-I\fR, \fB--input-format\fR=\fIformat\fR
Format of the input file.
Supported input formats: \fBchannel\f, \fBzap\fR and \fBdvbv5\fR.
.TP
\fB-O\fR, \fB--output-format\fR=\fIformat\fR
Format of the output file.
Supported output formats: \fBvdr\fR, \fBchannel\fR, \fBzap\fR and \fBdvbv5\fR.
.TP
\fB-s\fR, \fB--delsys\fR=\fIsystem\fR
Delivery system type.
Needed if input or output format is ZAP.
.TP
\fB-?\fR, \fB--help\fR
Outputs the usage help.
.TP
\fB--usage\fR
Give a short usage message.
.TP
\fB-V\fR, \fB--version\fR
Print program version.
.SH EXAMPLES
.RS
.SS Converting a channel file from legacy dvb-apps format
Reads a file at the dvb\-apps channel file and writes it at dvbv5 format.
.PP
.nf
$ \fBdvb\-format\-convert \-I channel \-O dvbv5 dvbc\-channel\-legacy dvbc\-channel\fR
Reading file dvbc\-channel\-legacy
Writing file dvbc\-channel
.fi
.SS 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.
.PP
.nf
$ \fBdvb\-format\-convert \-I dvbv5 \-O zap \-s dvbc/annex_a dvb_channel.conf legacy.conf\fR
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
.fi
.PP
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.
.PP
The above warnings happened on pure\-audio channels and on data\-only channels:
.PP
Original dvb_channel.conf file:
.PP
.nf
[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

.fi
.PP
So, for the channels with multiple PIDs, the converted legacy.conf file
will have just the first one.
.PP
For the channels without an audio or video PID, it will store PID=0.
.PP
This is the output file for the above channel list.
.PP
.nf
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
.fi
.SH BUGS
Report bugs to \fBLinux Media Mailing List <linux-media@vger.kernel.org>\fR
.SH COPYRIGHT
Copyright (c) 2011\-2014 by Mauro Carvalho Chehab.
.PP
License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>.
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
