YoutubeLiveの追っかけ再生をstreamlinkで

YoutubeLiveで配信中の映像は配信者が許可していれば先頭から見返すことが出来ます.再生速度を早くして追いつくことも出来ます.
ウェブブラウザでのYoutubeプレイヤーであればあまり意識せずにこれを実現できます.

streamlinkとビデオプレイヤーを使うことで同じようなことが出来ました.

まずは普通に再生すると最新の部分から再生が始まります.(360pを指定しています.)

$ streamlink https://www.youtube.com/watch?v=brrm328XItM 360p

次に --hls-live-restart オプションを付けると最初から再生が始まりました.このときのビデオプレイヤーで再生速度の変更が出来ます.(VLC の場合は「Playback」→「speed」で増減できる)
1.5倍くらいなら問題なさそうです.

$ streamlink --hls-live-restart https://www.youtube.com/watch?v=brrm328XItM 360p

1.5倍速をはじめから指定したいなとVLCのmanを観ても載ってなく,オンラインドキュメントもエラーで見ることが出来なかったので,mpvを使ってみました.

まず mpv で再生速度を1.5倍にするには, --speed=1.5 でいけました.

例 1. man mpvより
--speed=<0.01-100>
       Slow down or speed up playback by the factor given as parameter.
If  --audio-pitch-correction  (on  by  default)  is  used,  playing  with  a speed higher than normal automatically inserts the
scaletempo audio filter.

これをstreamlinkの --player オプションで渡すと,以下のようになって実行して再生が1.5倍で始まります.

$ streamlink --hls-live-restart https://www.youtube.com/watch?v=brrm328XItM 360p --player="mpv --speed=1.5"

ということでとりあえずやりたいことが出来ました :)

これをやって何が嬉しいかというとウェブブラウザを介さないことでウェブブラウザからGPUが利用できない環境でGPUが利用できたり,省メモリだったりするのが嬉しいです.
私はサブマシンに古いマシンを利用してそちらで動かすとウェブブラウザ経由では駒落ちしてしまうけど直接ビデオプレイヤーで実行するときれいに再生されるので助かっています.

環境
$ dpkg-query -W streamlink mpv vlc
mpv     0.32.0-2+b1
streamlink      2.0.0-1
vlc     3.0.12-3
$ lsb_release -dr
Description:    Debian GNU/Linux bullseye/sid
Release:        unstable
$ uname -m
x86_64