videojs / http-streaming

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

Dash non-live stream doesn't play for chrome. #1532

Closed lalit-tudip closed 3 months ago

lalit-tudip commented 3 months ago

Description

I'm facing an issue with the videojs player in that it is not able to stream the DASH + Widevine DRM in Chrome. It is able to play the live streams with the same DRM setup but fails to load the video.

I checked in the network tab, and it only contains the initial stream request and no other requests are made. I also checked the videojs stream tester videojs-http-streaming.netlify.app and it also behaves the same and throws the error I mentioned in the Errors section.

image

.

I tried the same stream on the Shaka player demo with the same stream and it loaded the stream without any issues, check the image below:

image

Apart from the shaka player I checked the same stream on other platforms like Android TV, mobile, etc and all have no issues in playing the stream. So, What could be the issue here?

Reduced test case

As this is a private project, so cannot share any URLs/Creds if required I can share via email.

Steps to reproduce

NA

Errors

videojs-http-streaming.js:10485 Uncaught 
TypeError: Cannot read properties of undefined (reading 'locations')
    at DashPlaylistLoader.handleMain_ (videojs-http-streaming.js:10485:54)
    at videojs-http-streaming.js:10353:16
    at callbackWrapper (videojs-http-streaming.js:5262:5)
    at Object.callback (videojs-http-streaming.js:5338:16)
    at cbOnce (video.core.js:7798:17)
    at XMLHttpRequest.loadFunc (video.core.js:7858:14)
video.core.js:210 VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded, either because the server or network failed or because the format is not supported. 
MediaError {code: 4, message: 'The media could not be loaded, either because the …rk failed or because the format is not supported.'}
code: 4
message: "The media could not be loaded, either because the server or network failed or because the format is not supported."

Error Logs:

https://videojs-http-streaming.netlify.app/?debug=true&autoplay=true&muted=true&fluid=true&minified=false&sync-workers=true&liveui=true&llhls=true&url=URL&type=application%2Fdash%2Bxml&keysystems=%7B%0A%20%20%22com.widevine.alpha%22%3A%20%22URL%22%0A%7D&buffer-water=false&exact-manifest-timings=false&pixel-diff-selector=false&network-info=true&dts-offset=false&override-native=true&preload=auto&mirror-source=true&forced-subtitles=false
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Video.js 8.14.0
Using VHS: true
{"@videojs/http-streaming":"3.13.2","mux.js":"7.0.3","mpd-parser":"1.3.0","m3u8-parser":"7.1.0","aes-decrypter":"4.0.1"}
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,initialize
VIDEOJS:,DEBUG:,VHS:,SourceUpdater >,Calling mediaSource endOfStream(network)
VIDEOJS:,ERROR:,(CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED),The media could not be loaded, either because the server or network failed or because the format is not supported.,{"code":4,"message":"The media could not be loaded, either because the server or network failed or because the format is not supported."}
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,dispose
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[main] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[audio] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[vtt] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,initialize
VIDEOJS:,DEBUG:,VHS:,SourceUpdater >,Calling mediaSource endOfStream(network)
VIDEOJS:,ERROR:,(CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED),The media could not be loaded, either because the server or network failed or because the format is not supported.,{"code":4,"message":"The media could not be loaded, either because the server or network failed or because the format is not supported."}
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,dispose
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[main] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[audio] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[vtt] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,initialize
VIDEOJS:,DEBUG:,VHS:,SourceUpdater >,Calling mediaSource endOfStream(network)
VIDEOJS:,ERROR:,(CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED),The media could not be loaded, either because the server or network failed or because the format is not supported.,{"code":4,"message":"The media could not be loaded, either because the server or network failed or because the format is not supported."}
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,dispose
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[main] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[audio] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,SegmentLoader[vtt] >,INIT -> DISPOSED
VIDEOJS:,DEBUG:,VHS:,PlaybackWatcher >,initialize
VIDEOJS:,DEBUG:,VHS:,SourceUpdater >,Calling mediaSource endOfStream(network)
VIDEOJS:,ERROR:,(CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED),The media could not be loaded, either because the server or network failed or because the format is not supported.,{"code":4,"message":"The media could not be loaded, either because the server or network failed or because the format is not supported."}

What version of Video.js are you using?

7.21.4

Video.js plugins used.

"videojs-contrib-dash": "5.1.0", "videojs-contrib-eme": "3.9.0", "@videojs/http-streaming": "^2.8.0",

What browser(s) including version(s) does this occur with?

Each version of Chrome(mac, windows, ubuntu)

What OS(es) and version(s) does this occur with?

All OS

lalit-tudip commented 3 months ago

Closing this issue it is transferred in videojs issues (https://github.com/videojs/video.js/issues/8828)