google / google/ExoPlayer

Support for DVB EBU Teletext subtitles

Open
#5,491 27 comments 1 reaction 1 assignee Claimed by @AquilesCanta View on GitHub
enhancement low priority
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### Issue description
Not being able to select subtitles from various "TV" providers that use TeleText / VBI Subtitles instead or DVB Subtitles.

### Reproduction steps
I have provided iptv links from my private hdhomerun network that is up 24/7 and can be freely used by any exoplayer dev, file included is m3u list packed into a zip file.

quick and fast way i do is to use the brand new [tivimate](https://play.google.com/store/apps/details?id=ar.tvplayer.tv) app on google store that uses exoplayer natively and then import the iptv channels that is affected, you will see quickly that you are not able to select subtitles at all.

### Link to test content
https://mega.nz/folder/dBQSwaJL#MUgvR9DNiqkM59MRCSLhzQ

v25.mpeg contain dvb-sub so ignore this one.
The rest contain teletext,

Extracted via MediaInfo this sample is from v50.mpeg
```
General
ID : 13 (0xD)
Complete name : C:\Users\wazer\Downloads\v50.mpeg
Format : MPEG-TS
File size : 55.9 MiB
Duration : 29 s 995 ms
Overall bit rate mode : Variable
Overall bit rate : 15.6 Mb/s
FileExtension_Invalid : ts m2t m2s m4t m4s tmf ts tp trp ty

Video
ID : 111 (0x6F)
Menu ID : 10101 (0x2775)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : 27
Duration : 29 s 440 ms
Bit rate : 14.5 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 FPS
Standard : Component
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : MBAFF
Scan type, store method : Interleaved fields
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.279
Stream size : 50.8 MiB (91%)
Language : English
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
ID : 121 (0x79)
Menu ID : 10101 (0x2775)
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : 6
Duration : 29 s 792 ms
Bit rate mode : Constant
Bit rate : 384 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Delay relative to video : -37 ms
Stream size : 1.36 MiB (2%)
Language : English
Service kind : Complete Main

Text #1
ID : 131 (0x83)-691
Menu ID : 10101 (0x2775)
Format : Teletext Subtitle
Language : Swedish

Text #2
ID : 131 (0x83)-692
Menu ID : 10101 (0x2775)
Format : Teletext Subtitle
Language : Norwegian

Text #3
ID : 131 (0x83)-693
Menu ID : 10101 (0x2775)
Format : Teletext Subtitle
Language : Danish

Text #4
ID : 131 (0x83)-694
Menu ID : 10101 (0x2775)
Format : Teletext Subtitle
Language : Finnish

```

### Version of ExoPlayer being used
I know I should not use the terms latest, but I use the latest official updates on Mibox s (8.1) Mibox 3 (8) nvidia shield (8) all official android TV versions.

### Device(s) and version(s) of Android being used
Android TV 8 shield/mibox 3/mibox s

### More relevant info VLC+pics+source

I prefer natively support from exoplayer than relaying on third party apps like VLC.

VLC Has an option for this on desktop version but sadly they have yet to implement those important features for android TV version, opacity and RGBA telext > text
http://image.prntscr.com/image/Rp-UCJfDQIamCGEqq443Yw.png

VLC supporting teletext RGBA as default
Result (Teletext but with RGBA output instead of text format, which is hard to read and messy)
http://image.prntscr.com/image/gUzQPrVdTkGUs1O_09PMEw.png

We can add opacity which makes it a bit more easy to read with black background
http://image.prntscr.com/image/AeSXe4CzTg2wyy2SP2hyPg.png

Result(Teletext RGBA with opacity enabled)
http://image.prntscr.com/image/YeOxvuSFS9mJ4Jt2hhgk4w.png

Now even better we can output Teletext RBA as Text
http://image.prntscr.com/image/kWd7Yqy_SQuWYby3-86XzA.png

Result(Telext RGBA coverting to Text and opacity enabled)
http://image.prntscr.com/image/RMfbN_lUTuafp_eTnuK5Hg.png

VLC telx
http://github.com/videolan/vlc/blob/master/modules/codec/telx.c

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.