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

WIP!: Video Player rework #89

Draft
wants to merge 37 commits into
base: dev
Choose a base branch
from

Conversation

iFraan
Copy link
Contributor

@iFraan iFraan commented Sep 6, 2023

WORK IN PROGRESS. INCLUDES MAYOR CHANGES

I'm re-doing the main video player in vidstack.
The library can autodetect if it has to use a <video> for directplay or <iframe> for hls, and handle device-APIs on its own (ie: Fullscreen Support)

  • Subtitles wise, Jellyfin can return an extracted VTT for subtitles, that we can pass directly.
  • Trickdata (jellyscrub) is trickier (pun intended); maybe the conversion to VTT can be implemented server side.

The mayor downside its we have to reconstruct the whole player ui from basically scratch but working on leaving it the closest as posible.

Main functions

  • Play jellyfin items.

Subtitles

  • Create subtitle tracks from jellyfin item
  • Working subtitles
    • VTT
    • SRT (asks jellyfin for a vtt, and it will convert it for us)
    • ASS/SSA
  • Subtitles styles?

Player UI

  • can seek and see buffer
  • Implement volume control slider.
  • Implement volume button (for mute)
  • Re-implement touchscreen/double clicks.
  • Re-factor quality chooser
  • Implement audio-stream chooser.
  • Implement caption (subtitle) chooser.
  • Implement Chapters (in another pr?)
  • Implement Jellyscrub (in another pr?)

The current code may contain many placeholder/unfinished components/not working stuff as it is a wip/draft pr.

Closes #18

@oxixes
Copy link
Contributor

oxixes commented Sep 10, 2023

It may be worth mentioning that there are other subtitle types (SSA/ASS) that are much more complex than VTT and will require another library.

@iFraan
Copy link
Contributor Author

iFraan commented Sep 10, 2023

It may be worth mentioning that there are other subtitle types (SSA/ASS) that are much more complex than VTT and will require another library.

This one uses its own library for processing subtitles under the hood. Brings support for SRT, VTT and SSA/ASS subtitles.

I think we only need to figure out when to fetch one or the other based on the media stream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants