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

CHUNK_DEMUXER_ERROR_APPEND_FAILED when playing HEVC video stream #6377

Open
randagia74 opened this issue Apr 24, 2024 · 2 comments
Open

CHUNK_DEMUXER_ERROR_APPEND_FAILED when playing HEVC video stream #6377

randagia74 opened this issue Apr 24, 2024 · 2 comments

Comments

@randagia74
Copy link

What do you want to do with Hls.js?

Our goal is to have the H265 Low Latency HLS stream working with hls.js (https://ps-wow2.telecomitalia.it:4430/live/encoder_output_on_wowza/playlist.m3u8).

What have you tried so far?

We are trying to play H265 Low Latency HLS stream using HLS.JS 1.5.8 demo page.
video stream: https://ps-wow2.telecomitalia.it:4430/live/encoder_output_on_wowza/playlist.m3u8
HLS 1.5.8 demo page: https://hlsjs.video-dev.org/demo/?src=https%3A%2F%2Fps-wow2.telecomitalia.it%3A4430%2Flive%2Fencoder_output_on_wowza%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==
HLS JS v1.5.9-0.canary.10206 demo page: https://hlsjs-dev.video-dev.org/demo/?src=https%3A%2F%2Fps-wow2.telecomitalia.it%3A4430%2Flive%2Fencoder_output_on_wowza%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

result in both version 1.5.8 & 1.5.9: video does not play
error in both version 1.5.8 & 1.5.9: The video could not be loaded, either because the server or network failed or because the format is not supported - CHUNK_DEMUXER_ERROR_APPEND_FAILED: RunSegmentParserLoop: stream parsing failed. append_window_start=0 append_window_end=inf

playlist:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=AUDIO,NAME="encoder_output_on_wowza",DEFAULT=YES,GROUP-ID="audioGroup",URI="chunklist_w1956238298_ao.m3u8"
#EXT-X-STREAM-INF:BANDWIDTH=1017661,CODECS="hvc1.1.6.H123.B1.0.1.1,mp4a.40.2",RESOLUTION=1920x1080,AUDIO="audioGroup"
chunklist_w1956238298_vo.m3u8

chunklist sample:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=2.0,CAN-SKIP-UNTIL=42.0
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:870
#EXT-X-PART-INF:PART-TARGET=1.28
#EXT-X-MAP:URI="header_w1956238298_vo_m3u8.cmfv"
#EXT-X-PROGRAM-DATE-TIME:2024-04-24T13:32:39.787+00:00
#EXTINF:9.7,
media_w1956238298_vo_870_m3u8.cmfv
#EXT-X-PROGRAM-DATE-TIME:2024-04-24T13:32:39.798+00:00
#EXTINF:2.88,
media_w1956238298_vo_871_m3u8.cmfv
#EXT-X-PROGRAM-DATE-TIME:2024-04-24T13:32:52.374+00:00
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_872.0_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_872.1_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_872.2_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_872.3_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=0.64,URI="media_w1956238298_vo_872.4_m3u8.cmfv"
#EXTINF:5.76,
media_w1956238298_vo_872_m3u8.cmfv
#EXT-X-PROGRAM-DATE-TIME:2024-04-24T13:32:58.116+00:00
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_873.0_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_873.1_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_873.2_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_873.3_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=0.64,URI="media_w1956238298_vo_873.4_m3u8.cmfv"
#EXTINF:5.76,
media_w1956238298_vo_873_m3u8.cmfv
#EXT-X-PROGRAM-DATE-TIME:2024-04-24T13:33:03.880+00:00
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_874.0_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_874.1_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_874.2_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_874.3_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=0.64,URI="media_w1956238298_vo_874.4_m3u8.cmfv"
#EXTINF:5.76,
media_w1956238298_vo_874_m3u8.cmfv
#EXT-X-PROGRAM-DATE-TIME:2024-04-24T13:33:09.651+00:00
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_875.0_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_875.1_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PART:DURATION=1.28,URI="media_w1956238298_vo_875.2_m3u8.cmfv",INDEPENDENT=YES
#EXT-X-PRELOAD-HINT:TYPE=PART,URI="media_w1956238298_vo_875.3_m3u8.cmfv"

When trying to play similar video without cmaf segments
Video Stream: https://ps-wow2.telecomitalia.it:4430/live-nocmaf/encoder_output_on_wowza/playlist.m3u8
HLS JS 1.5.8:
https://hlsjs.video-dev.org/demo/?src=https%3A%2F%2Fps-wow2.telecomitalia.it%3A4430%2Flive-nocmaf%2Fencoder_output_on_wowza%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==
Error: no specific error, audio is fine, video does not play

HLS JS v1.5.9-0.canary.10206 demo page:
https://hlsjs-dev.video-dev.org/demo/?src=https%3A%2F%2Fps-wow2.telecomitalia.it%3A4430%2Flive-nocmaf%2Fencoder_output_on_wowza%2Fplaylist.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==
Result: Video and Audio playing, video not smooth

playlist:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=1062484,CODECS="hvc1.1.6.H123.B1.0.1.1,mp4a.40.2",RESOLUTION=1920x1080
chunklist_w811046433.m3u8

chunklist:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:21
#EXT-X-MEDIA-SEQUENCE:307
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXTINF:0.96,
media_w811046433_307.ts
#EXTINF:8.64,
media_w811046433_308.ts
#EXTINF:10.56,
media_w811046433_309.ts

live_158.log

@randagia74 randagia74 added Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. Question labels Apr 24, 2024
@robwalch
Copy link
Collaborator

robwalch commented Apr 24, 2024

Hi @ randagia74,

Sorry to hear you are having trouble setting up a live stream.

For the CMAF stream there is clearly something wrong with the encoding and or packaging. We would expect any valid HLS asset to play in Safari, but this one does not. In HLS.js, besides the decode error (Error Group: PipelineStatus. Error Code: 16. Stacktrace: media/filters/chunk_demuxer.cc:1068 in the Chrome dev-tools Media panel) the audio and video Playlists Program Date Times do not align (playlist dates at the start or end are 30 seconds apart) and when I can get as far as media timestamps being parsed for both tracks those also appear to not align or be in sync (I see initPTS adjusted by 18 seconds).

Here are some steps to help triage stream issues:

  1. Does it play in Safari or QuickTime Player? (not for me)
  2. Does the HLS Tools mediastreamvalidator report any MUST fix issues? (many)
  3. Does the html report produced by hlsreport from the validation json output by mediastreamvalidator provide addition feedback?
  4. Does it play in HLS.js when you set "lowLatencyMode" to false? (same issues loading full segments so it's not just a problem with partial segments)
  5. Have you tried any other playback or media validation tools to verify the media is valid?
  6. Are you working with Wowza on any of these issues?

For the TS stream, HEVC in TS is not supported in v1.5. Support is coming in v1.6.0 via #5847 (that explains why it only succeeds in decoding something in dev). Note that HEVC in TS is not supported by Apple HLS clients.

This all points to multiple issues with the HLS packaging. The decode error and timestamp issues also suggest that there are issues with the video and audio encoding.

@robwalch robwalch removed the Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. label Apr 24, 2024
@randagia74
Copy link
Author

randagia74 commented Apr 26, 2024

Hi Robwalch,
timing issues might be due to the fact that the stream is a recorded video "badly" put in loop, but anyway I'll work on your suggested steps and let you know.
Thanks

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