Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Reduce stream cache

Reduces MPV cache for streams by increasing playback speed. It meant to work with Twitch through Streamlink. I find this setup has a few hundred milliseconds lower latency than the Twitch web player.

Installation

Copy related folders to your MPV config folder ~/.config/mpv.

Script configuration

In ./script-opts/reduce_stream_cache.conf, you can adjust when to start and stop speeding up the playback. The default configuration is quite aggressive, and it works fine on a wired stable Internet connection. But if you or your streamer have an unstable Internet connection, consider increasing enable_faster_speed_over_cache_seconds to prevent often speed changes. Or turn off this script with a shortcut.

Make an MPV profile

MPV has its own low-latency profile. But the profile below has lower latency in my setup.

# ~/.config/mpv/mpv.conf
[stream]
demuxer-lavf-o-add="fflags=+nobuffer+fastseek+flush_packets"
cache=no
deband=no
dither-depth=no
scale=bilinear
cscale=bilinear
dscale=bilinear
scale-antiring=0
cscale-antiring=0
dither-depth=no
correct-downscaling=no
sigmoid-upscaling=no

Start a stream with Streamlink.

streamlink twitch.tv/twitch \
  best \
  -p "mpv" \
  --player-args="--profile='stream' --script-opts='enable-stream-cache-reduction=true'" \
  --title="stream-twitch" \
  --twitch-low-latency \
  --twitch-disable-ads \
  --ringbuffer-size=256M

You can put it in the gnome extension or modify the play-with-mpv Chrome extension to your liking.

Stream replay

If you use the MPV profile that disables cache, you won't be able to seek the video stream. As a workaround, you can record the stream to /tmp/ and open the recorded video with a shortcut.

streamlink twitch.tv/twitch \
  best \
  -p "mpv" \
  --player-args="--profile='stream' --script-opts='enable-stream-cache-reduction=true'" \
  --title="stream-twitch" \
  --twitch-low-latency \
  --twitch-disable-ads \
  --ringbuffer-size=256M \
  --record="/tmp/stream-twitch.mp4" \
  --force

Then pressing ' will open the recorded video. See ./script-opts/stream_replay.conf for configuration.

About

Reduces MPV cache for streams by increasing playback speed.

Resources

Stars

13 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages