dvb-format-convert(1)

πŸ“¦
version 1.32.0 Β· 5 versions
, in alpine 3.24, arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

🌈 NAME 🌈

okay bestie, welcome to dvb-format-convert(1) β€” it's a User Commands manual page and it's literally the DVBv5 tool for file format conversions πŸ’… like, it takes your TV channel files and flips them between formats. no cap.


✨ SYNOPSIS ✨

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

πŸ¦‹ DESCRIPTION πŸ¦‹

dvb-format-convert is a tool that's here to convert between different file formats. she's compliant with version 5 of the DVB API, which means she can represent all properties on any standard supported by the Linux digital TV drivers. main character energy fr fr.

so there are currently 3 different formats supported for input:

  • dvbv5 β€” the standard format at libdvbv5, and she's capable of representing all different TV standards. the moment.
  • channel β€” the dvb-apps legacy channel format, which 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, which supports only ATSC, DVB-C, DVB-S and DVB-T standards.

and there's one extra output format:

  • vdr β€” the format used by the vdr application. it supports all features found up on vdr version 2.1.6. slay.
🫢 unfortunately, the dvb-apps legacy zap format doesn't store the DVB standard, so any conversions to and/or from this format require an extra parameter, to specify the delivery system. iykyk.

πŸ’… OPTIONS πŸ’…

the following options are valid:

  • -I, --input-format=format β€” the format of the input file. supported input formats: channel, zap and dvbv5.
  • -O, --output-format=format β€” the format of the output file. supported output formats: vdr, channel, zap and dvbv5.
  • -s, --delsys=system β€” the delivery system type. needed if input or output format is ZAP. like, you literally have to.
  • -?, --help β€” outputs the usage help.
  • --usage β€” gives a short usage message.
  • -V, --version β€” prints the 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. iconic.

$ 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. ok so watch this.

$ 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. periodt.

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> β€” like, actually tell them, not me πŸ™ˆ


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.


and that's the whole page bestie 🫢 this was DVBv5 Utils 1.32.0, dated Fri Oct 3 2014 β€” yes it's giving vintage but she still ate πŸ’…βœ¨

πŸ“¦ where this page comes from