History check
I've checked the issue history and there are some similar reports, but none specifically address live streams.
Describe the bug
When watching a live stream over HLS, WebVTT subtitles do not work. The track appears in the selector, but activating it doesn't show any subtitles. They work fine with our pre-recorded VOD content, but specifically do not work with live streams.
To Reproduce
Play this stream through better_player:
https://reflect-ccstv.cablecast.tv/live-13/live/live.m3u8
It should have active WebVTT subtitles when someone is speaking.
Expected behavior
Subtitles should be rendered based on the WebVTT segments.
Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.2, on Fedora Linux 36 (Workstation Edition) 5.19.11-200.fc36.x86_64, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.71.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!
Better Player version
Version: 0.0.83
Smartphone (please complete the following information):
Device: Any
OS: Any
Additional context
We believe this problem has to do with the X-TIMESTAMP-MAP tag at the beginning of the .vtt segment files, ex:
In fact, the logs show an error when better_player tries to parse that line as a subtitle cue. We think that properly applying this mapping to the subtitle timestamps will fix the issue, but we're still looking into how to actually do this.
History check I've checked the issue history and there are some similar reports, but none specifically address live streams.
Describe the bug When watching a live stream over HLS, WebVTT subtitles do not work. The track appears in the selector, but activating it doesn't show any subtitles. They work fine with our pre-recorded VOD content, but specifically do not work with live streams.
To Reproduce Play this stream through
better_player
:https://reflect-ccstv.cablecast.tv/live-13/live/live.m3u8
It should have active WebVTT subtitles when someone is speaking.*Example code
Expected behavior Subtitles should be rendered based on the WebVTT segments.
Flutter doctor
Better Player version
Smartphone (please complete the following information):
Additional context We believe this problem has to do with the
X-TIMESTAMP-MAP
tag at the beginning of the .vtt segment files, ex:In fact, the logs show an error when
better_player
tries to parse that line as a subtitle cue. We think that properly applying this mapping to the subtitle timestamps will fix the issue, but we're still looking into how to actually do this.More info about this tag can be found in section 3 of this document.