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

Manually set stream quality #54

Open
seanarnold opened this issue Mar 19, 2022 · 0 comments
Open

Manually set stream quality #54

seanarnold opened this issue Mar 19, 2022 · 0 comments

Comments

@seanarnold
Copy link

It would be good to add the functionality of manually setting stream quality.

Background

I have an issue where the set bitrates in F1TVs .m3u8 files are too aggressive:

  • BANDWIDTH=10991332,AVERAGE-BANDWIDTH=6811332,RESOLUTION=1920x1080

A 1080p stream requires a bandwidth of 0.8MB/sec. This shouldn't be an issue but I think due to where the CDNs are located (I'm in New Zealand) the iOS players seem to have issues from switching me to 1080p. Other streaming platfoems I've tested in NZ use a low 0.4MB threshold.

Solution?

I know that HLS streams are designed to play & be managed by the client with bitrate adjustments being made on the fly, but it'd be great to allow custom overrides like F1TV offers in browsers. Unfortunately it seems not easy to achieve on iOS. however I think I have a rough hacky plan after doing some research:

  1. Add a stream override setting in the Settings menu (auto, 280, 360, 540, 720, 1080)
  2. If the setting exists, Intercept the .m3u8 file and remove stream options that do not match to the setting.
  3. Serve the file again via local webserver (This seems mandatory due to the inability to play local .m3u8 files. Maybe Telegraph will work?
  4. Play the modified .m3u8 file.

The other option might be to

  1. Parse the matching stream from the .m3u8.
  2. Play the stream directly (unsure on the modifications that would be needed for the playback here).

What do you think? Adaptive streaming issues seem to be the most prevalent problem I see on the F1TV Reddit. Ideally F1 would just reduce the required bitrate, but that seems unlikely since it's been an issue for some many years. It'd be great to be able to have this in a native app, rather than having to fetch a laptop and an HDMI cable.

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

No branches or pull requests

1 participant