[FFmpeg-devel] [PATCH] Add optional NIT table generation
Dominguez Bonini, David
david.dominguez at ikusi.com
Fri May 14 14:10:22 EEST 2021
Hi,
> Hi Marton,
>
> Il 2021-05-12 19:18 Marton Balint ha scritto:
> > On Wed, 12 May 2021, Ubaldo Porcheddu wrote:
> >
> >> Hi Marton,
> >>
> >>>> + }
> >>>> +
> >>>> + //private data
> >>>> + desc_len += 6 + 2;
> >>>> + *q++ = 0x5F;
> >>>> + *q++ = 4;
> >>>> + *q++ = 0x00;
> >>>> + *q++ = 0x00;
> >>>> + put16(&q, 40);
> >>>
> >>> What are these?
> >>
> >> I didn't find any official document about it but this seems to be the
> >> way many national (FR,IT,UK) broadcasters are writing the virtual
> >> channel private data header and the one recognized by many popular tv
> >> on the market.
> >
> > But this looks like a separate descriptor from the virtual channels
> > (logical_channel_descriptor).
>
> I think it is better to remove it until it is more clear what it does,
> or maybe we add an extra mpegts flag like "nit_lcn_extra" ?
>
The private data specifier descriptor is needed for the TV to correctly process the LCN descriptor. When it is needed, you have to include both or none.
Also, in the Scandinavian countries, that use the NORDIG spec, the LCN descriptor has a different format, though I think the European format may still be understood.
Specs can be found here for NORDIG : https://nordig.org/wp-content/uploads/2017/03/NorDig-Unified_ver_2_6.pdf
Specs for the European LCN can be found here, it's the French spec, but the rest are the same: https://www.csa.fr/web/index.php/content/download/253685/723620/version/1/file/CSA-Signalling-Profilev3.4.pdf
Specs for the Australian LCN descriptor can be found here: https://www.freetv.com.au/wp-content/uploads/2019/08/OP-41-LCN-Descriptor-Issue-8-July-2016.pdf
The rules, as far as I know them are:
NORDIG --> Private Data Specifier = 0x00000029, LCN Descriptor Tag = 0x83 (legacy), 0x87 (Nordig version)
United Kingdom --> Private Data Specifier = 0x0000233A, LCN Descriptor Tag = 0x83
Rest of Europe + Most of the World --> Private Data Specifier = 0x00000028, LCN Descriptor Tag = 0x83
Australia --> _Do_not_include_Private_data_specifier_descriptor_ , LCN Descriptor Tag = 0x83
My suggestion would be to add an "LCN_mode" parameters, with values: NO_LCN, Australia,UK,Nordig, etc
Regards
David
More information about the ffmpeg-devel
mailing list