braice / MuMuDVB

A DVB IPTV streaming software
http://mumudvb.braice.net/
GNU General Public License v2.0
219 stars 133 forks source link

Add (optional) support for ARIB STD-B24 charset decoding, and additional configure options #298

Closed trollcop closed 2 years ago

trollcop commented 2 years ago

For users of mumudvb in Japan, which does not follow the EN 300 468 character set encodings (and does not use UTF-8) I added an option to convert SI/EPG strings by using libaribb24. This is automatically detected but can be controlled by --enable-arib-support or --disable-arib-support configure option. Once built in, it is required to use -j or --japan to further enable this conversion. There is no simple way to auto-detect Japan-specific TS so it is better to allow user to specify this option by command line. This is similar to how tsDuck etc does it.

With proper conversion, Japanese ISDB streams look correct in channel list and during debug output:

Info:  Autoconf:  Diffusion 3 channels
Info:  Autoconf:  Channel number :   0,   service id 56360  name : "TVQ九州放送1"
Info:  Autoconf:        Multicast4 ip : :0
Info:  Autoconf:        Unicast : Channel accessible via the master connection, 0.0.0.0:4242
Info:  Autoconf:  Channel number :   1,   service id 56361  name : "TVQ九州放送2"
Info:  Autoconf:        Multicast4 ip : :0
Info:  Autoconf:        Unicast : Channel accessible via the master connection, 0.0.0.0:4242
Info:  Autoconf:  Channel number :   2,   service id 56744  name : "TVQ九州放送携帯"
Info:  Autoconf:        Multicast4 ip : :0
Info:  Autoconf:        Unicast : Channel accessible via the master connection, 0.0.0.0:4242

image

I've also implemented --disable-dvb-support to allow building without any DVB-API support, even on systems with kernel headers. This allows using mumudvb strictly as UDP/Multicast input.

If someone could test building this and see if it works, that would be great. Some example ISDB-T streams are here: https://tsduck.io/streams/?name=japan-dttv

braice commented 2 years ago

Hello

That look fine to me ! any hesitation before I merge ?

Brice

On Fri, May 27, 2022 at 10:18 AM dongie @.***> wrote:

For users of mumudvb in Japan, which does not follow the EN 300 468 character set encodings (and does not use UTF-8) I added an option to convert SI/EPG strings by using libaribb24. This is automatically detected but can be controlled by --enable-arib-support or --disable-arib-support option. Once built in, it is required to use -j or --japan to further enable this conversion. There is no simple way to auto-detect Japan-specific TS so it is better to allow user to specify this option by command line. This is similar to how tsDuck etc does it.

With proper conversion, Japanese ISDB streams look correct in channel list and during debug output:

Info: Autoconf: Diffusion 3 channels

Info: Autoconf: Channel number : 0, service id 56360 name : "TVQ九州放送1"

Info: Autoconf: Multicast4 ip : :0

Info: Autoconf: Unicast : Channel accessible via the master connection, 0.0.0.0:4242

Info: Autoconf: Channel number : 1, service id 56361 name : "TVQ九州放送2"

Info: Autoconf: Multicast4 ip : :0

Info: Autoconf: Unicast : Channel accessible via the master connection, 0.0.0.0:4242

Info: Autoconf: Channel number : 2, service id 56744 name : "TVQ九州放送携帯"

Info: Autoconf: Multicast4 ip : :0

Info: Autoconf: Unicast : Channel accessible via the master connection, 0.0.0.0:4242

[image: image] https://user-images.githubusercontent.com/4640472/170658296-0c61e56a-0cdd-4478-bd8e-8ff21cbc2339.png

I've also implemented --disable-dvb-support to allow building without any DVB-API support, even on systems with kernel headers. This allows using mumudvb strictly as UDP/Multicast input.

If someone could test building this and see if it works, that would be great. Some example ISDB-T streams are here: https://tsduck.io/streams/?name=japan-dttv

You can view, comment on, or merge this pull request online at:

https://github.com/braice/MuMuDVB/pull/298 Commit Summary

File Changes

(8 files https://github.com/braice/MuMuDVB/pull/298/files)

Patch Links:

— Reply to this email directly, view it on GitHub https://github.com/braice/MuMuDVB/pull/298, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACRIDZEVAPVXG3G2PST6RDVMCAOVANCNFSM5XDPWIAA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

trollcop commented 2 years ago

It works for me, and I've tried building it in a few of my test environments and it seems to work, so probably OK?

Addition of --disable-dvb-support is handy for building on embedded systems where DVB-API might not be available, so its a win even if B24 stuff is not used (it's autodetected and doesn't need to be part of install)

So I think it's OK to merge.

braice commented 2 years ago

Let's give it a try !