video-dev / video-dev/hls.js

hls.js seems not support 708 closed captions but 608 only

Open
#6,754 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Documentation Missing Feature Question
Dominant language
TypeScript
Stars
16.9k
Forks
2.8k
Avg merge
1d 12h
Merged PRs (30d)
27

Description

What do you want to do with Hls.js?

I'd like to ask if 708 captions are actually supported by hls.js.

The main reason I'm asking here is comparing to 708, 608 is not able to display non-Latin based languages. And I did find hls.js is not the only one having this issue, Bitmovin player seems not able to show the same 708 captions as well. But since it's displaying fine for VHS (VideoJS), I am more wondering if there is a reason for 708 getting ignored, or any specific configs controls the behavior here.

Plus 708 captions can support more than 4, but there is no such configuration within hls.js similar to captionsTextTrack1Label , which is up to 4 only and seems only applied to 608 captions, even though the Doc is showing for CEA-708 caption tracks.

I can share the source link separately if that is helpful. But below are things I have tried:

With HLS sources (both Vod & Live) where both 608 and 708 caption tracks are embedded, it appears only 608 captions will be able to select and display on the player, while 708 ones will be ignored.

For the same sources, if I load into VHS (VideoJS) page: https://videojs-http-streaming.netlify.app/, I am able to see the captions for both 608s and 708s.

Attached a couple screenshots for the closed caption selector to show the difference:
VHS:
Screenshot 2024-10-06 at 7 19 19 PM
Hls.js
Screenshot 2024-10-06 at 7 19 52 PM

Here is an output from the MediaInfo to outlining the Text Tracks:
Screenshot 2024-10-06 at 7 21 35 PM

And I have also tried to use ccextractor to confirm those captions are able to be extracted and exported into srt files separately.

What have you tried so far?

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported behavior with an HLS source containing embedded 608 and 708 captions, then compare the available tracks with the VHS result. Done means determining whether Hls.js supports the 708 tracks and, if support is missing, documenting the required behavior for exposing and displaying them.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
audio-video-rtc
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.