Skip to content

feature: advanced latency options + handling #104

@jvxz

Description

@jvxz

Feature Description

various options for streams that allow more fine grain behavior for dealing with latency. Twitch focus initially; Kick support welcome from contributors.

Expected Behavior

the main option I had behind this is the ability to automatically set (determined) the playback rate of a stream when latency is above a certain (determined) threshold.

example: "if the latency of the current stream is above 5 seconds, set the playback rate to 1.2x." I am aware that Twitch has this built-in already, but I personally find that: the speed it chooses (~1.02x) is too slow, it does not catch up close enough to my liking, & does not trigger when behind enough.

Additional Context

  1. Why this feature would be useful

this feature would allow users to catch up more quickly & autonomously. this prevents the manual behavior of having to click the latency reset button every time.

  1. Any related ideas or features you think should be considered

when testing to see if this was possible, I discovered that FFZ has some sort of feature to manipulate playback (injected setFFZPlaybackRate symbol on video element). I am currently uncertain how (or where) this feature works, though if interest is expressed in this idea then I would be more than willing to investigate.

If you have an idea of how this feature could be implemented, feel free to suggest it here.

since there is already logic of calculating & tracking latency, it would be a matter of manipulating the stream's video element playbackRate property. a new field in the options of the extension would be in order to allow the user to set the speed to what they desire.

there could potentially be issues when it comes to Twitch manipulating the speed on its own, but that seems like a straightforward prevention.

config example concept:

  • Latency (possible new tab to the left):
    • Advanced speed-up: (toggle)
    • Speed-up playback rate: (value, eg: 1.2x)
    • Speed-up threshold: (value, eg: 5 seconds)
    • (...other existing latency options)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions