Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subtitles track as CMAF2 using WebVTT are not working #6273

Open
5 tasks done
estigma88 opened this issue Mar 7, 2024 · 3 comments
Open
5 tasks done

Subtitles track as CMAF2 using WebVTT are not working #6273

estigma88 opened this issue Mar 7, 2024 · 3 comments

Comments

@estigma88
Copy link

What version of Hls.js are you using?

1.5.7

What browser (including version) are you using?

Chrome Version 121.0.6167.139 (Official Build) (64-bit)

What OS (including version) are you using?

Ubuntu 20.04.6 LTS

Test stream

https://hlsjs.video-dev.org/demo/?src=https%3A%2F%2Fhls-js-issue.s3.amazonaws.com%2Flive.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

Configuration

{
  "debug": true,
  "enableWorker": true,
  "lowLatencyMode": true,
  "backBufferLength": 90
}

Additional player setup steps

None

Checklist

Steps to reproduce

  1. Open the test stream link
  2. Activate subtitles
  3. No subtitles are shown

Expected behaviour

Subtitles are shown

What actually happened?

Subtitles are not shown. Console error:

timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.

Working fine on VLC.

Console output

hls.ts:357 [log] > destroy
hls.ts:389 [log] > detachMedia
buffer-controller.ts:243 [log] > [buffer-controller] media source detaching
base-stream-controller.ts:1781 [log] > [stream-controller]: ENDED->STOPPED
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: ENDED->STOPPED
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->STOPPED
main.js:339 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 90}
logger.ts:74 [log] > Debug logs enabled for "Hls instance" in hls.js version 1.5.7
hls.ts:442 [log] > stopLoad
hls.ts:410 [log] > loadSource:https://hls-js-issue.s3.amazonaws.com/live.m3u8
stream-controller.ts:576 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:380 [log] > attachMedia
buffer-controller.ts:195 [log] > [buffer-controller] created media source: MediaSource
buffer-controller.ts:988 [log] > [buffer-controller] Media source opened
level-controller.ts:337 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 290000
buffer-controller.ts:184 [log] > [buffer-controller] 2 bufferCodec event(s) expected
hls.ts:431 [log] > startLoad(-1)
level-controller.ts:432 [log] > [level-controller]: Switching to level 0 (720p SDR avc1,mp4a @290000) from level -1
audio-track-controller.ts:186 [log] > [audio-track-controller]: Updating audio tracks, 1 track(s) found in group(s): audio3
audio-track-controller.ts:332 [log] > [audio-track-controller]: Switching to audio-track 0 "3" lang:undefined group:audio3 channels:1
base-stream-controller.ts:1639 [log] > [audio-stream-controller]: Reset loading state
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: STOPPED->IDLE
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->WAITING_TRACK
subtitle-track-controller.ts:276 [log] > [subtitle-track-controller]: Updating subtitle tracks, 1 track(s) found in "subs1" group-id
level-controller.ts:596 [log] > [level-controller]: Loading level index 0 with https://hls-js-issue.s3.amazonaws.com/live_2.m3u8
base-stream-controller.ts:1781 [log] > [stream-controller]: STOPPED->IDLE
audio-track-controller.ts:418 [log] > [audio-track-controller]: loading audio-track playlist 0 "3" lang:undefined group:audio3
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: WAITING_TRACK->STOPPED
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: STOPPED->WAITING_TRACK
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: STOPPED->IDLE
stream-controller.ts:639 [log] > [stream-controller]: Level 0 loaded [1,3][part-3--1], cc [0, 0] duration:19.99999
buffer-controller.ts:858 [log] > [buffer-controller] Updating Media Source duration to 20.000
base-stream-controller.ts:748 [log] > [stream-controller]: Loading fragment initSegment cc: 0 of [1-3] level: 0, target: 0
base-stream-controller.ts:1781 [log] > [stream-controller]: IDLE->FRAG_LOADING
audio-track-controller.ts:100 [log] > [audio-track-controller]: Audio track 0 "3" lang:undefined group:audio3 loaded [1-21]
audio-stream-controller.ts:518 [log] > [audio-stream-controller]: Audio track 0 loaded [1,21][part-21--1],duration:20.0269709
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: WAITING_TRACK->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment initSegment cc: 0 of [1-21] track: 0, target: 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1781 [log] > [stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [stream-controller]: Loading fragment 1 cc: 0 of [1-3] level: 0, target: 0
base-stream-controller.ts:1781 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 1 cc: 0 of [1-21] track: 0, target: 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:89 [log] > injecting Web Worker for "audio"
audio-stream-controller.ts:637 [log] > [audio-stream-controller]: Unknown video PTS for cc 0, waiting for video PTS before demuxing audio frag 1 of [1 ,21],track 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 1 of level 0
841527d4-62ae-49ed-ba87-c5a02221233b:555 [log] > Debug logs enabled for "audio" in hls.js version 1.5.7
transmuxer-interface.ts:89 [log] > injecting Web Worker for "main"
transmuxer-interface.ts:231 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: true
        timeOffset: 0
        initSegmentChange: true
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 1 of level 0
ec2ea6ea-c87c-458b-a6da-357a244ebff3:555 [log] > Debug logs enabled for "main" in hls.js version 1.5.7
base-stream-controller.ts:1781 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1308 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.F4001F/avc1.F4001F]
buffer-controller.ts:390 [log] > [buffer-controller] 1 bufferCodec event(s) expected video
audio-stream-controller.ts:134 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 1.4232222222222222
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: WAITING_INIT_PTS->FRAG_LOADING
transmuxer-interface.ts:231 [log] > [transmuxer-interface, audio]: Starting new transmux session for sn: 1 p: -1 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 0
        initSegmentChange: true
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1781 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
audio-stream-controller.ts:900 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[level/parsed]=[mp4a.40.2/mp4a.40.2]
buffer-controller.ts:390 [log] > [buffer-controller] 0 bufferCodec event(s) expected audio
buffer-controller.ts:937 [log] > [buffer-controller] creating sourceBuffer(video/mp4;codecs=avc1.F4001F)
buffer-controller.ts:937 [log] > [buffer-controller] creating sourceBuffer(audio/mp4;codecs=mp4a.40.2)
stream-controller.ts:850 [log] > [stream-controller]: Alternate track found, use video.buffered to schedule main fragment loading
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 1 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 1 of track 0 (frag:[-0.023-0.952] > buffer:[0.000-0.975])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 2 cc: 0 of [1-21] track: 0, target: 0.998
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:560 [log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[0.000-8.300] > buffer:[0.000-8.300])
base-stream-controller.ts:1781 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [stream-controller]: Loading fragment 2 cc: 0 of [1-3] level: 0, target: 8.3
base-stream-controller.ts:1781 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 2 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 2 of track 0 (frag:[0.975-1.962] > buffer:[0.000-1.962])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 3 cc: 0 of [1-21] track: 0, target: 1.962
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 3 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 3 of track 0 (frag:[1.974-2.960] > buffer:[0.000-2.960])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 4 cc: 0 of [1-21] track: 0, target: 2.96
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 4 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 4 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 4 of track 0 (frag:[2.972-3.959] > buffer:[0.000-3.959])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 5 cc: 0 of [1-21] track: 0, target: 3.959
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 2 of level 0
base-stream-controller.ts:1781 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 2 of level 0
base-stream-controller.ts:1781 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[8.333-16.667] > buffer:[0.000-16.667])
base-stream-controller.ts:1781 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [stream-controller]: Loading fragment 3 cc: 0 of [1-3] level: 0, target: 16.667
base-stream-controller.ts:1781 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 5 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 5 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 5 of track 0 (frag:[3.971-4.957] > buffer:[0.000-4.957])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 6 cc: 0 of [1-21] track: 0, target: 4.957
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [stream-controller]: Loaded fragment 3 of level 0
base-stream-controller.ts:1781 [log] > [stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 3 of level 0
base-stream-controller.ts:1781 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [stream-controller]: Buffered main sn: 3 of level 0 (frag:[16.667-20.000] > buffer:[0.000-20.000])
base-stream-controller.ts:1781 [log] > [stream-controller]: PARSED->IDLE
buffer-controller.ts:635 [log] > [buffer-controller] video sourceBuffer now EOS
base-stream-controller.ts:1781 [log] > [stream-controller]: IDLE->ENDED
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 6 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 6 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 6 of track 0 (frag:[4.969-5.956] > buffer:[0.000-5.956])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 7 cc: 0 of [1-21] track: 0, target: 5.956
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 7 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 7 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 7 of track 0 (frag:[5.967-6.954] > buffer:[0.000-6.954])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 8 cc: 0 of [1-21] track: 0, target: 6.954
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 8 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 8 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 8 of track 0 (frag:[6.966-7.976] > buffer:[0.000-7.976])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 9 cc: 0 of [1-21] track: 0, target: 7.976
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 9 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 9 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 9 of track 0 (frag:[7.988-8.974] > buffer:[0.000-8.974])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 10 cc: 0 of [1-21] track: 0, target: 8.974
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 10 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 10 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 10 of track 0 (frag:[8.986-9.973] > buffer:[0.000-9.973])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 11 cc: 0 of [1-21] track: 0, target: 9.973
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 11 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 11 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 11 of track 0 (frag:[9.984-10.971] > buffer:[0.000-10.971])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 12 cc: 0 of [1-21] track: 0, target: 10.971
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 12 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 12 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 12 of track 0 (frag:[10.983-11.970] > buffer:[0.000-11.970])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 13 cc: 0 of [1-21] track: 0, target: 11.97
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 13 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 13 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 13 of track 0 (frag:[11.981-12.968] > buffer:[0.000-12.968])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 14 cc: 0 of [1-21] track: 0, target: 12.968
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 14 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 14 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 14 of track 0 (frag:[12.980-13.967] > buffer:[0.000-13.967])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 15 cc: 0 of [1-21] track: 0, target: 13.967
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 15 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 15 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 15 of track 0 (frag:[13.978-14.965] > buffer:[0.000-14.965])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 16 cc: 0 of [1-21] track: 0, target: 14.965
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 16 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 16 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 16 of track 0 (frag:[14.977-15.963] > buffer:[0.000-15.963])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 17 cc: 0 of [1-21] track: 0, target: 15.963
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 17 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 17 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 17 of track 0 (frag:[15.975-16.962] > buffer:[0.000-16.962])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 18 cc: 0 of [1-21] track: 0, target: 16.962
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 18 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 18 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 18 of track 0 (frag:[16.974-17.960] > buffer:[0.000-17.960])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 19 cc: 0 of [1-21] track: 0, target: 17.96
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
subtitle-track-controller.ts:524 [log] > [subtitle-track-controller]: Switching to subtitle-track 0 "1" lang:undefined group:subs1
subtitle-track-controller.ts:437 [log] > [subtitle-track-controller]: Loading subtitle playlist for id 0
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 19 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 19 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
subtitle-track-controller.ts:188 [log] > [subtitle-track-controller]: Subtitle track 0 "1" lang:undefined group:subs1 loaded [1-20]
subtitle-stream-controller.ts:280 [log] > [subtitle-stream-controller]: Subtitle track 0 loaded [1,20][part-20--1],duration:20
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment initSegment cc: 0 of [1-20] track: 0, target: 0
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 19 of track 0 (frag:[17.972-18.959] > buffer:[0.000-18.959])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 20 cc: 0 of [1-21] track: 0, target: 18.959
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 20 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 20 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 20 of track 0 (frag:[18.971-19.957] > buffer:[0.000-19.957])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:748 [log] > [audio-stream-controller]: Loading fragment 21 cc: 0 of [1-21] track: 0, target: 19.957
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 2 cc: 0 of [1-20] track: 0, target: 2.356
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [audio-stream-controller]: Loaded fragment 21 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
transmuxer-interface.ts:383 [log] > [transmuxer.ts]: Flushed fragment 21 of level 0
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 2 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:560 [log] > [audio-stream-controller]: Buffered audio sn: 21 of track 0 (frag:[19.969-20.004] > buffer:[0.000-20.004])
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: PARSED->IDLE
buffer-controller.ts:635 [log] > [buffer-controller] audio sourceBuffer now EOS
buffer-controller.ts:642 [log] > [buffer-controller] Queueing mediaSource.endOfStream()
base-stream-controller.ts:1781 [log] > [audio-stream-controller]: IDLE->ENDED
buffer-controller.ts:659 [log] > [buffer-controller] Calling mediaSource.endOfStream()
buffer-controller.ts:1010 [log] > [buffer-controller] Media source ended
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 3 cc: 0 of [1-20] track: 0, target: 2.525
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 3 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 4 cc: 0 of [1-20] track: 0, target: 3.025
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 4 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 5 cc: 0 of [1-20] track: 0, target: 4
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 5 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 6 cc: 0 of [1-20] track: 0, target: 5
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 6 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 7 cc: 0 of [1-20] track: 0, target: 6
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 7 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 8 cc: 0 of [1-20] track: 0, target: 7
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 8 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 9 cc: 0 of [1-20] track: 0, target: 8
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 9 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 10 cc: 0 of [1-20] track: 0, target: 9
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 10 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 11 cc: 0 of [1-20] track: 0, target: 10
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 11 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 12 cc: 0 of [1-20] track: 0, target: 11
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 12 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 13 cc: 0 of [1-20] track: 0, target: 12
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 13 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 14 cc: 0 of [1-20] track: 0, target: 13
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 14 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 15 cc: 0 of [1-20] track: 0, target: 14
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 15 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 16 cc: 0 of [1-20] track: 0, target: 15
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 16 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 17 cc: 0 of [1-20] track: 0, target: 16
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 17 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 18 cc: 0 of [1-20] track: 0, target: 17
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 18 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 19 cc: 0 of [1-20] track: 0, target: 18
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 19 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:748 [log] > [subtitle-stream-controller]: Loading fragment 20 cc: 0 of [1-20] track: 0, target: 19
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:389 [log] > [subtitle-stream-controller]: Loaded fragment 20 of level 0
timeline-controller.ts:600 [log] > Failed to parse VTT cue: Error: Malformed WebVTT signature.
base-stream-controller.ts:1781 [log] > [subtitle-stream-controller]: FRAG_LOADING->IDLE

Chrome media internals output

No response

@estigma88 estigma88 added Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Mar 7, 2024
@robwalch robwalch added Not Supported Stream Issue and removed Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Mar 8, 2024
@robwalch
Copy link
Collaborator

robwalch commented Mar 8, 2024

HLS.js does not support VTT in CMAF2. Only WebVTT (text) and IMSC1 are listed as supported subtitle segment formats in the HLS Spec. The sample asset https://hls-js-issue.s3.amazonaws.com/live.m3u8 errors in Safari and Apple HLS clients for this reason.

This is not a bug. Let us know why you are interested in this format, and if you are willing to contribute support for it. If it is something you would like to see adopted in HLS, lobby for it on the IETF mailing list https://www.ietf.org/mailman/listinfo/Hls-interest.

@estigma88
Copy link
Author

Thanks for the information, we saw the streaming not working on Apple devices either, but couldn't get confirmation on why. Now we know, and we can work on creating that track as plain text instead of a CMAF container.

@robwalch
Copy link
Collaborator

robwalch commented Mar 8, 2024

we saw the streaming not working on Apple devices either, but couldn't get confirmation on why.

The HLS asset opens and plays* in QuickTime Player (tested Version 10.5 on macOS 12.5.1 using "File > Open Location..."). Selecting "Unknown" subtitles does not display subs. *Audio plays but video is not rendered.

Safari (15.6) gets as fas as creating a TextTrack for the subs with no VTT cues. It's unclear if the playback error is related to the video or subs (MEDIA_ERR_DECODE doesn't provide detailed information).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants