Skip to content

Synchronization not working for HLS VOD content #977

@forbjok

Description

@forbjok

Please fill out the templates below to the best of your ability, based on whether your problem is with using the website or with running your own server.

Website Problem

Please confirm whether you've tried the following debugging steps:

  • Clearing cache and refreshing the page (On Firefox, press Ctrl+F5. On Chrome, press F12, then right click the refresh button and click "Empty Cache and Hard Reload")
  • Disabling all browser extensions
  • Using a clean channel with no customizations

Description of the Problem

Using a HLS-encoded VOD video (.m3u8 manifest pointing to either fragmented mp4 segments or single file w/ byte ranges), the stream does not synchronize between users. Pausing/unpausing or seeking as leader does not cause other users' state/position to be updated, and refreshing will always cause the video to restart from the beginning instead of synchronizing to the leader's position.

I would expect this to synchronize like any other video file. I know for a fact that this is possible, as I have implemented the same functionality myself in a personal project using the same player component (video.js) as cytube uses.

Here's an example video that reproduces this issue: https://junk.forbstuff.net/t3mp/cytube-hlsvod-repro/master.m3u8

I suspect a possible cause is that cytube is coded to always consider HLS links as a livestream (It says "Currently Playing: Livestream" over the video), which would not be controllable, however if this is the case, it's not a sound assumption, as HLS can also be used for non-live pre-encoded, fully seekable video (VOD), as is the case here.

System Information

OS: Windows 11
Web Browsers tested: Chrome, Brave, Firefox, Edge

There are no relevant error messages, and nothing new shows up in the console when pausing/unpausing or seeking on either the leader or the viewer browsers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions