Raspberry Pi Streaming System feature and the next for Secondlife

ねみぃ

いやぁすいません、お仕事で昨日徹夜で眠いので、アレです。また、アドベントカレンダーブログは後から編集で書きます。今日はRaspberry Pi Advent Calendar 23日目、明日はクリスマスですね。あっきぃさん頑張ってるなぁ。

今のレンダラーシステムは2システム

今のシステムはdarkiceでiPhoneからのAirplayのデータをjackdで受け取り配信するというシステムと、Mixxxでmpd経由で配信するシステムと2つ持っています。なお、Mixxxベースはかなり楽勝で組めたのですが、darkiceで配信する側はjackd特有で出てしまう『音飛び』といかに格闘するかが問題となっています。低レートである128kpbsでも起きてしまうのとたびたびひどい音とびからいきなり音がフラッタリングしたうえ、工事音のような音になってしまい、音がひたすら再送し続ける?ようなことが起きてしまうようなことが起きています。ドハマりなところにさらに320kbpsという高レートでの配信をデフォルトとし変更したため、さらに大変なことになるという…
ま、その原因とひたすら格闘し続けてましたが、それがキャッシュ問題でCephと同様定期的にcrontabでデータを削除してあげなきゃいけない問題になるとは思いませんでした。ただ、これは定期的削除はさや当てみたいなもので、これをしても音ズレは完全に解消しないし、わからないくらいにまでにはしましたが、まだまだ格闘の余地がありそげです。
どうもさらにicecast側のapt listの更新のストップ、tempの定期的な削除も止めないとだめなようです。両方ともRaspberry Piだからでしょうね、SDカード遅いし、aptはチェック持にネットワークもってくし。今両方ともmaskをかけて、動けなくしてどうか?見ています。

配信サーバはicecast2

これも今回128kbpsでSL再開前は走らせていましたが、320kbps変更に伴い、icecast.xmlのqueue-sizeとburst-sizeの設定をいろいろ試行錯誤をしています。基本、5秒分をqueue-size、1秒分をburst-sizeでとるようで、burst-sizeはqueue-sizeより小さくしないと反映してくれないとかでいろいろググった末にこの辺りを見つけました。これはこの設定の度合いわからず結構格闘をここ数日していました。

音飛びと途中いきなり切れる要因は複雑..

Mixxxのレンダラーシステムもいきなり切られて無音になっていたり、darkiceのレンダラーシステムでは音飛びしたまま、工事音のような音がして落ちてしまったり、音が前後で配信しておかしくなったりする要因やら、Mixxxのシステム同様、途中で音切れが起きるわけですが、この要因はレンダラーでなくて、icecast側でも見直しが必要なことをいまさら実感しました。何が言いたいかというと音飛びやいきなり切れる要因は、icecastが重いことによって配信がうまくいかず結果として配信不具合が起きるのだなといまさら気づきました。そこでicecast側はdbus-daemonやら、aptのdaily updateにmaskをかけて起動できなくして、サーバ負担を落としてicecast以外のデーモンが常時にいないよう努めしました。aptはそれでもどうも23分程度も居座ってくれたらしく、なるほどこれが起きる前後はネットワークポートはプロセスアップでレンダラーからの受信ができず音飛びするわーと思った次第です。で、dbusなりapt dailyなどとめて、今連続稼働をテストしてみてるちうです。

でな、まだまだテストちう。

今日も朝から調整しつつ半日流していますが、いまのところ何とかなっています。えらいぞRaspberry Pi。ま、jackdのドキュメントにも書いてありますが、音飛びはどうも発生してしまうっぽなので、とにかく数を減らす、目立たなくするというのがワークアラウンドで今は調整>テストのトライアルエラーといったところです。

今後の方針

今はSecondlife内で配信するシステムとして、Secondlife内であたしが経営しているカフェとSaiさんという酔っ払いなおじさま?が経営されているBar Beastでの利用を想定しておりまして、メインはdarkiceベースのシステムで考えています。ただ、darkice自体がもうすたれたOSSで今の段階開発がストップ?している状況にあるため、メンテナーが今いるうちはどうにかなりそうでしょうけど、今後どのようにハードのアップデートなどやるかは検討課題なのかなと思っています。ま、darkiceベースシステムの方は、今後Raspberry Pi4の最新版に移行すると思いますが、ぼちぼちやろうかと思っています。ほんと時間がない、困ったもんです。
またもちろんのことながらですが、OSSベースのシステムなのでいつかどこかでいじった部分なりまとめてソースコードとOS+アプリを入れた形で丸ごと出そうと思っております。未開発ままのものなので皆さんで発展させてくれてあたしに戻してくれたらイシシシで本人喜びますので、よろしくお願いいたします。多分ノウハウをGit、OSイメージはどう配るかなぁ。

カフェはどこに(メモ)

あとから貼り付けます。

尻切れトンボですんません。

ほんとはもっと技術的な解説、どう動かしてるかコツを出したりしたいのですが、こちらに暇なく、、今後このブログで発表していきますから、どうかご容赦ください。

であであ、24日はあっきぃさんかな、メリクリーですー明日はケンタッキーだ!

尻切れでおしまい、すまん!

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中