videojs / video.js

Video.js - open source HTML5 video player
https://videojs.com
Other
37.92k stars 7.43k forks source link

Multiple Fragmented MP4s (HLS) in m3u8 file - duration changes while moving (#EXT-X-DISCONTINUITY) #8096

Open cedricve opened 1 year ago

cedricve commented 1 year ago

Description

Hello, we are trying to concatenate multiple fragmented mp4's using a .m3u8 file (2 files 5min -> 10min in total). we're able to create a working playlist, however while the duration (total length of all fragmented mp4s) is ok at the start.

Screenshot 2023-01-27 at 20 45 49

The duration changes when you move the time slider to the end of the video. It looks like 24 seconds are disappearing.

Screenshot 2023-01-27 at 20 46 06

We noticed that when navigating slowly from start to end (gently: no big steps), the total duration stays stable.

Anyone experienced this? We are using the #EXT-X-DISCONTINUITY to separate the different fragmented MP4s. Please find below the configuration we are using.

https://gist.githubusercontent.com/cedricve/ef731de82b9e2c13248179cc6c8a7ac8/raw/1f040f89aa4e18f046680bcd03b893ae34c5ff9e/gistfile1.m3u8

Reduced test case

https://videojs-http-streaming.netlify.app/?debug=false&autoplay=false&muted=false&fluid=false&minified=false&sync-workers=false&liveui=true&llhls=true&url=https%3A%2F%2Fgist.githubusercontent.com%2Fcedricve%2Fef731de82b9e2c13248179cc6c8a7ac8%2Fraw%2F1f040f89aa4e18f046680bcd03b893ae34c5ff9e%2Fgistfile1.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

Steps to reproduce

  1. Load in following .m3u8 file (https://gist.githubusercontent.com/cedricve/ef731de82b9e2c13248179cc6c8a7ac8/raw/1f040f89aa4e18f046680bcd03b893ae34c5ff9e/gistfile1.m3u8)

Errors

No response

What version of Video.js are you using?

7.21.1

Video.js plugins used.

none

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

Chrome Version 109.0.5414.119 (Official Build) (arm64)

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

OSX, probably also others

video-archivist-bot commented 1 year ago

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:

cedricve commented 1 year ago

I confirm that when you make short steps (jump from one minute to the next: 1:00, 2:00, 3:00, .. until the end) the duration is fixed, and the timestamps showing on the video is also in sync.

However when you make big steps (jump from beginning to 6:00) to timestamp of the recording is no longer in sync.

Screenshot 2023-01-28 at 11 57 01