mpv を使ってネットラジオを聴いている。
raspberry pi zero W にraspberry OS というありふれた構成なので、せめてソフトウェアくらいは変えようと、定番のmpdではなくmpv にしたのですね。
で、しばらく聴いていると、音飛びするようになるのでコンソールから top を動かしてみるとRAMを相当使っていてスワップが発生している状態でした。
おかしい、と思って再起動して様子を見ていると、とにかくどんどんメモリを消費していて、30分で空き容量が30MB以上減ります。
うーむ、mpv のメモリリークかしらん、と思って audacious で聴いてみるとメモリ残量はほとんど動かない。mpv だめかしらん、と使うのを諦めて audacious をバックエンドにするようにもしたのですが、別の問題(※)で失敗しました。
ffplay はどうよ、と思って試すとmpvと似た挙動を示しました。ffmpeg由来のバグかしらん、であればちょっと手に負えないかも。
その後、試行錯誤を続けていたのですが、mp3 や aac で配信されるラジオを受ける場合はメモリが減らない事に気づきました。ogg の時だけ問題があるようです。
ogg で受けているのは RadioParadise だけでした。このサイトは ogg 以外にも mp3 や aac で配信しているので、そちらに切り替えたところ正常に聴取できるようになりました。
空きメモリが減り続ける事象のみ見れば、バグ(メモリリーク)のように思えますが、raspberry pi zero W というメモリ容量が小さくかつ動作も遅い環境では単純に開放速度が追いつかないだけなのかも知れません。であればmpv(あるいはffmpeg)の仕様、という事になるかも。使えないことには変わりありませんが。
長らくモノラル仕様だったが、このたびステレオ化しました。DIPパッケージのアンプICは手元にたくさんあるけれど、半田付けが煩わしくて結局秋月の既成品を並べる事に。作っている最中、手持ちの3線式ステレオスピーカが使えない事に気づいて、適当なスピーカーを貼り付けたため「通常はありえない」見た目になりました。
※ audacious --headless でバックグラウンドで起動しaudacious -1 -p 等で制御するのですが、 dbusを使う関係で session が必要になります。コンソールすらない組み込み動作だと systemd にて起動できても別のアプリケーションからは制御できませんでした。
- 2023.05.21 Sunday
- ラジオ工作
- 13:47
- comments(0)
- -
- by sakaisatoru