先日、Raspberry Pi 3 にファンを付けて温度上昇によるクロックダウンを予防することができたのだけど、動画を再生しようとすると開始からしばらくの間、遅延が発生する。
バッファサイズの調整してみたりしたが改善せず。
コンソールを見ているとキャッシュが溜まりきると改善することからキャッシュの方に原因がありそうだ。
ちなみに mpv にはキャッシュに関するオプションだけでもこれだけある。
$ mpv --list-options | grep cache --cache Choices: no auto yes (or an integer) (32 to 2147483647) (default: auto) --cache-backbuffer Integer (0 to 2147483647) (default: 75000) --cache-default Choices: no (or an integer) (32 to 2147483647) (default: 75000) --cache-file String (default: ) [file] --cache-file-size Integer (0 to 2147483647) (default: 1048576) --cache-initial Integer (0 to 2147483647) (default: 0) --cache-pause Flag (default: yes) --cache-secs Double (0 to any) (default: 10.000000) --cache-seek-min Integer (0 to 2147483647) (default: 500) --icc-cache-dir String (default: )
う〜ん、まさかなぁと思って --cache=no
にしたら遅延しなくなった…orz
Raspberry Pi の貧弱なストレージではキャッシュが逆に悪影響を及ぼすようだ。--cache-file=TMP
とすることでキャッシュの場所を tmpfs にもできるけど Raspberry Pi のメモリはそれほど高速でもないのでこれもダメだった。
Samba サーバにしている Raspberry Pi 2 からデータを引っ張っているのでキャッシュは無くても別にいいか…。
~/.config/mpv/mpv.conf
でキャッシュを無効にするようにしておく。youtube-dl プラグインによる YouTube の再生のときに遅延が発生するかもしれないが mpv の引数に --cache=auto
を与えればこの設定は上書きできるのでそれほど手間にはならない。
cache=no