http-streaming
http-streaming copied to clipboard
Error when switching bitrate in a HLS stream with AES-128 encryption
Please do not delete the template, by filling out the required information we can investigate your issue more quickly.
Before opening an issue see if your problem can be resolved with the troubleshooting guide.
Description
When switching to a different bitrate in a HLS stream with AES-128 encryption, VideoJS stops playback and throws error: "video append of 86718b failed for segment #0 in playlist 0-QualityLevels(400000)/Manifest(video,format=m3u8-cmaf,encryption=cbc)"
Sometimes, if you load the player again, the bitrate switching will work as intended. If you clear the cache and refresh the page, the issue always occurs on the first bitrate switching.
Sources
https://videojs-http-streaming.netlify.app/?debug=false&autoplay=false&muted=true&fluid=false&minified=false&sync-workers=false&liveui=false&llhls=true&url=https%3A%2F%2Fdagalvaomediaaccount-uswc.streaming.media.azure.net%2F72a9e630-9517-46dc-a07a-2445b9a01fcb%2F6f7b1218-01dd-429e-9eee-30a21b4b4de6.ism%2Fmanifest(format%3Dm3u8-cmaf%2Cencryption%3Dcbc).m3u8&type=application%2Fx-mpegURL&keysystems=&buffer-water=true&exact-manifest-timings=false&pixel-diff-selector=false&network-info=false&dts-offset=false&override-native=true&preload=auto&mirror-source=true
Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.
- Load URL: https://videojs-http-streaming.netlify.app/?debug=false&autoplay=false&muted=true&fluid=false&minified=false&sync-workers=false&liveui=false&llhls=true&url=https%3A%2F%2Fdagalvaomediaaccount-uswc.streaming.media.azure.net%2F72a9e630-9517-46dc-a07a-2445b9a01fcb%2F6f7b1218-01dd-429e-9eee-30a21b4b4de6.ism%2Fmanifest(format%3Dm3u8-cmaf%2Cencryption%3Dcbc).m3u8&type=application%2Fx-mpegURL&keysystems=&buffer-water=true&exact-manifest-timings=false&pixel-diff-selector=false&network-info=false&dts-offset=false&override-native=true&preload=auto&mirror-source=true
- Press play
- Observe playback
- Click gear icon and switch bitrate from 360p to 540p
- Observe as playback stops, and an error pops up
Results
Expected
Video bitrate switches, and playback continues.
Error output
video.core.js:249 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. MediaErrorcode: 4message: "The media could not be loaded, either because the server or network failed or because the format is not supported."[[Prototype]]: Object (anonymous) @ video.core.js:249
video.core.js:249 VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) video append of 86718b failed for segment #0 in playlist 0-QualityLevels(400000)/Manifest(video,format=m3u8-cmaf,encryption=cbc) MediaErrorcode: 3message: "video append of 86718b failed for segment #0 in playlist 0-QualityLevels(400000)/Manifest(video,format=m3u8-cmaf,encryption=cbc)"[[Prototype]]: Object (anonymous) @ video.core.js:249
video.core.js:249 VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The media playback was aborted due to a corruption problem or because the media used features your browser did not support. MediaError
Additional Information
videojs-http-streaming version
Version in https://videojs-http-streaming.netlify.app/
Browsers
Chrome 100.0.4896.75 and Edge 100.0.1185.39
Hey! We've detected some video files in a comment on this issue. If you'd like to permanently archive these videos and tie them to this project, a maintainer of the project can reply to this issue with the following commands:
- for https://videojs-http-streaming.netlify.app/?debug=false&autoplay=false&muted=true&fluid=false&minified=false&sync-workers=false&liveui=false&llhls=true&url=https%3A%2F%2Fdagalvaomediaaccount-uswc.streaming.media.azure.net%2F72a9e630-9517-46dc-a07a-2445b9a01fcb%2F6f7b1218-01dd-429e-9eee-30a21b4b4de6.ism%2Fmanifest(format%3Dm3u8-cmaf%2Cencryption%3Dcbc).m3u8: say
@video-archivist-bot save 0j27ew
👋 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.
same here with non-encrypted streams https://videojs-http-streaming.netlify.app/?debug=false&autoplay=false&muted=false&fluid=false&minified=false&sync-workers=false&liveui=true&llhls=false&url=https%3A%2F%2Farte-cmafhls.akamaized.net%2Fam%2Fcmaf-concert-webonly%2F108000%2F108500%2F108548-026-A_VO%2F220610224755%2F108548-026-A_VO_XQ.m3u8&type=application%2Fx-mpegURL&keysystems=&buffer-water=false&exact-manifest-timings=false&pixel-diff-selector=false&network-info=false&dts-offset=false&override-native=true&preload=auto&mirror-source=true To reproduce : empty your cache, and change quality immediately after the stream has begun, this is the best way to optimize chances to reproduce.
The same thing happens to me but with DRM content in Dash and HLS format.
It always happens at the beginning of the video, but it also happens during playback if I play a bit with the bitrate change.
Logs:
VIDEOJS: DEBUG: VHS: SourceUpdater > changing videoBuffer codec from avc1.64001E to avc1.64001F
VIDEOJS: DEBUG: VHS: SegmentLoader[main] > timinginfo: video - start - 0
VIDEOJS: DEBUG: VHS: SourceUpdater > Appending segment 0's 357204 bytes to videoBuffer
VIDEOJS: DEBUG: VHS: SegmentLoader[main] > WAITING -> APPENDING
VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The media playback was aborted due to a corruption problem or because the media used features your browser did not support.
VIDEOJS: DEBUG: VHS: SegmentLoader[audio] > Aborting segment [0/52] segment start/end [0 => 3.9938321995464854] startOfSegment [0] duration [3.9938321995464854] timeline [0] selected by [getMediaInfoForTime (currentTime 0.391814)] playlist [0-placeholder-uri-AUDIO-audio-eng]
VIDEOJS: DEBUG: VHS: SegmentLoader[audio] > WAITING -> READY
VIDEOJS: DEBUG: VHS: SegmentLoader[main] > Received non QUOTA_EXCEEDED_ERR on append
VIDEOJS: DEBUG: VHS: SegmentLoader[main] > error occurred: video append of 357204b failed for segment #0 in playlist 1-placeholder-uri-1
VIDEOJS: DEBUG: VHS: SegmentLoader[main] > APPENDING -> READY
videojs-http-streaming.netlify.app Load URL: https://cutt.ly/YHDgGSQ
Hi, this is also a blocker for us. Do we have any kind of workaround either on the JS side or by changing some settings on our encoding workflows ?