videojs / http-streaming

HLS, DASH, and future HTTP streaming protocols library for video.js
https://videojs-http-streaming.netlify.app/
Other
2.52k stars 424 forks source link

Video doesn't play, None of the chunks increased buffer #1473

Open SijmenHuizenga opened 10 months ago

SijmenHuizenga commented 10 months ago

Description

A playlist, with .ts chunks recorded by mediamtx is not playable.

This is the playlist that doesn't work: https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8

The ui shows: Playback cannot continue. No available working or supported playlists.

Tested with:

I've tried to find the cause for the last two days, without any result. I've read the iso specs on video .ts packets, looked the code of mux.js and video.js, added debug statements everywhere, compared it to the encoding code of mediamtx. Used tsanalyze on these broken chunks and compared it to working chunks. But I can't find it :cry:

Results

Expected

I would expect it to play like any video. Or, if the video segments are corrupt (i doubt it since hls.js works fine) then a more descriptive error message.

Error output

Logs of `video.js` ``` VIDEOJS: DEBUG: VHS: PlaybackWatcher > dispose video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> DISPOSED video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[audio] > INIT -> DISPOSED video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[vtt] > READY -> DISPOSED video.core.js:202:47 VIDEOJS: WARN: videojs.mergeOptions is deprecated and will be removed in 9.0; please use videojs.obj.merge instead. video.core.js:202:47 videojs-http-source-selector initialized! videojs-http-source-selector.js:209:13 player.techName_:Html5 videojs-http-source-selector.js:210:13 VIDEOJS: DEBUG: VHS: PlaybackWatcher > initialize video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistLoader > m3u8-parser info for https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8: defaulting media sequence to zero video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistLoader > m3u8-parser info for https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8: defaulting discontinuity sequence to zero video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > playlist update [null => 0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > MediaSequence sync for main segment loader. Received media sequence: 0. base time is 0 Current map: undefined video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => 27.979000000000003] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Setting mediaSource duration to 27.979000000000003 video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > playlist update [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8 => 0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > MediaSequence sync for main segment loader. Received media sequence: 0. base time is 0 Current map: Map(4) { 0 → {…}, 1 → {…}, 2 → {…}, 3 → {…} } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > live window shift [0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > INIT -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > skipping remove because no source updater or starting media info video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > choose next request. Playlist switched and we have a sync point. Media Index: 0 video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > choose next request. Force timestamp offset after loader resync video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [0/3] segment start/end [undefined => undefined] startOfSegment [0] duration [7.989] timeline [0] selected by [getMediaInfoForTime (currentTime 0)] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > trackinfo update Object { hasAudio: false, hasVideo: true, isMuxed: false } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Adding videoBuffer with codec avc1.4d400d to mediaSource video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #1 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [0/3] segment start/end [0 => NaN] startOfSegment [0] duration [7.989] timeline [0] selected by [getMediaInfoForTime (currentTime 0)] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [1/3] segment start/end [undefined => undefined] startOfSegment [0] duration [6.003] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #2 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [1/3] segment start/end [0 => NaN] startOfSegment [0] duration [6.003] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 73803361, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [2/3] segment start/end [undefined => undefined] startOfSegment [0] duration [5.992] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #3 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [2/3] segment start/end [0 => NaN] startOfSegment [0] duration [5.992] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 65142179, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [3/3] segment start/end [undefined => undefined] startOfSegment [0] duration [7.995] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > received endedtimeline callback video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #4 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [3/3] segment start/end [0 => NaN] startOfSegment [0] duration [7.995] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 72435894, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > main segment loader ended video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Calling mediaSource endOfStream() video.core.js:202:47 MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. video.core.js:2022:12 MouseEvent.mozInputSource is deprecated. Use PointerEvent.pointerType instead. video.core.js:2022:12 VIDEOJS: DEBUG: VHS: PlaybackWatcher > dispose video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> DISPOSED video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[audio] > INIT -> DISPOSED video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[vtt] > INIT -> DISPOSED video.core.js:202:47 VIDEOJS: WARN: videojs.mergeOptions is deprecated and will be removed in 9.0; please use videojs.obj.merge instead. video.core.js:202:47 videojs-http-source-selector initialized! videojs-http-source-selector.js:209:13 player.techName_:Html5 videojs-http-source-selector.js:210:13 VIDEOJS: DEBUG: VHS: PlaybackWatcher > initialize video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistLoader > m3u8-parser info for https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8: defaulting media sequence to zero video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistLoader > m3u8-parser info for https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8: defaulting discontinuity sequence to zero video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > playlist update [null => 0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > MediaSequence sync for main segment loader. Received media sequence: 0. base time is 0 Current map: undefined video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => 27.979000000000003] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Setting mediaSource duration to 27.979000000000003 video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > playlist update [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8 => 0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > MediaSequence sync for main segment loader. Received media sequence: 0. base time is 0 Current map: Map(4) { 0 → {…}, 1 → {…}, 2 → {…}, 3 → {…} } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > live window shift [0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > INIT -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > skipping remove because no source updater or starting media info video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > choose next request. Playlist switched and we have a sync point. Media Index: 0 video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > choose next request. Force timestamp offset after loader resync video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [0/3] segment start/end [undefined => undefined] startOfSegment [0] duration [7.989] timeline [0] selected by [getMediaInfoForTime (currentTime 0)] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > trackinfo update Object { hasAudio: false, hasVideo: true, isMuxed: false } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Adding videoBuffer with codec avc1.4d400d to mediaSource video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #1 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [0/3] segment start/end [0 => NaN] startOfSegment [0] duration [7.989] timeline [0] selected by [getMediaInfoForTime (currentTime 0)] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [1/3] segment start/end [undefined => undefined] startOfSegment [0] duration [6.003] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #2 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [1/3] segment start/end [0 => NaN] startOfSegment [0] duration [6.003] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 75157026, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [2/3] segment start/end [undefined => undefined] startOfSegment [0] duration [5.992] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #3 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [2/3] segment start/end [0 => NaN] startOfSegment [0] duration [5.992] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 68430535, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [3/3] segment start/end [undefined => undefined] startOfSegment [0] duration [7.995] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > received endedtimeline callback video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #4 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [3/3] segment start/end [0 => NaN] startOfSegment [0] duration [7.995] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 65876956, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > main segment loader ended video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Calling mediaSource endOfStream() video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > dispose video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> DISPOSED video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[audio] > INIT -> DISPOSED video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[vtt] > INIT -> DISPOSED video.core.js:202:47 VIDEOJS: WARN: videojs.mergeOptions is deprecated and will be removed in 9.0; please use videojs.obj.merge instead. video.core.js:202:47 videojs-http-source-selector initialized! videojs-http-source-selector.js:209:13 player.techName_:Html5 videojs-http-source-selector.js:210:13 VIDEOJS: DEBUG: VHS: PlaybackWatcher > initialize video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistLoader > m3u8-parser info for https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8: defaulting media sequence to zero video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistLoader > m3u8-parser info for https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8: defaulting discontinuity sequence to zero video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > playlist update [null => 0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > MediaSequence sync for main segment loader. Received media sequence: 0. base time is 0 Current map: undefined video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => 27.979000000000003] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Setting mediaSource duration to 27.979000000000003 video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > playlist update [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8 => 0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > MediaSequence sync for main segment loader. Received media sequence: 0. base time is 0 Current map: Map(4) { 0 → {…}, 1 → {…}, 2 → {…}, 3 → {…} } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > live window shift [0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > INIT -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > skipping remove because no source updater or starting media info video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > choose next request. Playlist switched and we have a sync point. Media Index: 0 video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > choose next request. Force timestamp offset after loader resync video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [0/3] segment start/end [undefined => undefined] startOfSegment [0] duration [7.989] timeline [0] selected by [getMediaInfoForTime (currentTime 0)] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > trackinfo update Object { hasAudio: false, hasVideo: true, isMuxed: false } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Adding videoBuffer with codec avc1.4d400d to mediaSource video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #1 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [0/3] segment start/end [0 => NaN] startOfSegment [0] duration [7.989] timeline [0] selected by [getMediaInfoForTime (currentTime 0)] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [1/3] segment start/end [undefined => undefined] startOfSegment [0] duration [6.003] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #2 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [1/3] segment start/end [0 => NaN] startOfSegment [0] duration [6.003] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 67264646, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [2/3] segment start/end [undefined => undefined] startOfSegment [0] duration [5.992] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #3 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [2/3] segment start/end [0 => NaN] startOfSegment [0] duration [5.992] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 69351207, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > READY -> WAITING video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Requesting segment [3/3] segment start/end [undefined => undefined] startOfSegment [0] duration [7.995] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > received endedtimeline callback video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaybackWatcher > found #4 main appends that did not increase buffer (possible stalled download) Object { playlistId: "0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8", buffered: [] } video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > time mapping for timeline 0: [time: 0] [mapping: 0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY video.core.js:202:47 VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Appended segment [3/3] segment start/end [0 => NaN] startOfSegment [0] duration [7.995] timeline [0] selected by [mediaIndex/partIndex increment] playlist [0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8] video.core.js:202:47 VIDEOJS: DEBUG: VHS: SyncController > syncPoint for [segmentIndex: 0] chosen with strategy [VOD]: [time:0, segmentIndex:0] video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > seekable updated [0 => NaN] video.core.js:202:47 VIDEOJS: DEBUG: VHS: PlaylistSelector > choosing {"id":"0-https://videojs-repro.s3.eu-central-1.amazonaws.com/mediamtx-not-playable-videojs.m3u8","bandwidth":1.7976931348623157e+308,"codecs":""} using enabledPlaylistReps with options Object { bandwidth: 64898303, width: 640, height: 264, limitRenditionByPlayerDimensions: true } video.core.js:202:47 VIDEOJS: DEBUG: VHS: pc > main segment loader ended video.core.js:202:47 VIDEOJS: DEBUG: VHS: SourceUpdater > Calling mediaSource endOfStream() video.core.js:202:47 ```

videojs-http-streaming version

what version of videojs-http-streaming does this occur with? videojs-http-streaming x.y.z

videojs version

video.js 3.9.1

Browsers

Tested on

Platforms

Tested on Linux

Other Plugins

Tested without plugins.

welcome[bot] commented 10 months ago

👋 Thanks for opening your first issue here! 👋

If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. To help make it easier for us to investigate your issue, please follow the contributing guidelines.