てっくらのーとは、触れた技術のメモと日常の記録が少し合わさった個人のサイトです。
Linux でのピアキャス視聴環境事情
半袖さんの配信を見ていたら、Adventer で Peercast のカレンダーを作成されていたことを知ったので何か書いてみます。
あんた誰?
一介のリスナーです。昔々に配信したこともあったような…ですが、まあ無しに等しいです。
どのくらいピアキャス見てんの?
ピアキャスは2004年ごろに存在を知りました。5ch(そのときは2ch)のVIP板でゲーム配信をしていることを知り、そのときやってたどなたかのアスカ配信を見たのが最初。途中ダレたり興味が無くなったりした時期もありましたが、コロナ禍でリモワ畑の人間になってしまったこともあり最近はまた見るようになりました。
ピアキャスのどんなところが良い?
なんでしょうね。いい感じに寂れていて平均年齢も高く界隈も安定しているところでしょうか。あとあまりキラキラしてないところ。「失礼な。俺は心も体もキラキラしているぞ」という配信者・リスナーの皆様がいらっしゃいましたらすみません。
昔から見ていて色々分かっている場所だからってのもありそうです。雰囲気とか関連ツールとか。
ピアキャスの視聴環境
と、ツールの話を出しましたが皆様はどのような視聴環境で配信をご覧になられていますでしょうか。
- PeerCast本体: PeerCastStation
- YP閲覧: PeCaRecorder
- 配信視聴: PCRPlayer
上記あたりを使用して快適なピアキャス生活をしているのかなあと推察されますが、私が普段使いしている PC は Windows ではなく Linux なのでした。
Linux でのピアキャス視聴環境
Linux では実行フォーマットのファイル (exe) を実行しても(基本的には)何も起動されません。exe は Microsoft 社系列の拡張子なので何もアクションしないのは想定どおりとなります。
一応、エミュレータを介して起動することは可能です。よく用いられているソフトウェアが Wine
というソフトウェアで、「Wine Is Not Emulator」と自身を称しているなんだかファンキーなエミュレータです。
こちらを使用すると、Windows の環境を仮想的に用意してくれるので Windows 環境で起動を想定されているソフトウェアも起動します。
ただ、仮想的なこともあり見た目に難があったり意図した通りに動かなかったりすることもあるので、なんとも歯がゆい思いをすることもあります。
Wine を通して視聴やらをしてもよいのですが、本ページでは Wine を使用せず別のソフトウェアで代替していることを書きたいと思います。
PeerCast本体: PeerCastStation
PeerCastStationについて - PeerCastStation
PeerCastStationはP2P形式の動画ストリーミングサーバ兼クライアントソフトウェアです。
は?同じじゃん、となる方がほとんどかと思いますが、お察しのとおり同じソフトウェアです。PeerCastStation は以前より Windows はもちろんのこと、他OSプラットフォームでも動作可能なつくりとなっています。mono
と呼ばれる .NET アプリケーションを Linux で動作させることができるソフトウェアを介して、他OSプラットフォームでも動作させることが可能です。あれくまさんありがとう。
# mono の導入をしたあとでこんなイメージで起動する
$ mono PeerCastStation.exe
そしてその後には .NET Core である.NET6
で動作するようになりました。 これで Linux でもネイティブのランタイムで動作するようになりました。あれくまさん本当にありがとう。
# .NET のインストールのあとでこんなイメージで起動する
$ dotnet /usr/local/bin/PeerCastStation-4.1.0-any/PeerCastStation.dll
YP閲覧: QPeerCastYP
YP 閲覧についてもソフトウェアを探していましたが、近々で作成されているものは見つけられませんでした。すでに GitHub のリポジトリが Archvie となっている状態ではありますが、関連のソフトウェアを見つけることができたためこちらを使用しています。
bookdraft/QPeerCastYP
QPeerCastYP は PeerCast の視聴を補助するアプリケーションです。
なかなか年季が入ったソフトウェアなのですが、必要ライブラリを用意すれば問題なくビルドおよび起動できました。ただ、機能的には不足点があります。
- HTTPSでのYP登録ができない。
- この影響かどうかよくわからないが p@ のYPが登録できない。(HTTP含め)
- 録画機能が無い。
現行のツールと比較してもマイナスとして映りそうです。GitHub の Since から大まかにいつ頃開発されたのかを知ることができますが、14 years ago と記載されていて当時は中々厳しかったのかなあと思われます。(HTTPS の未サポートは PeCaRecorder も同様だったと誰かが配信で言っていたような…記憶が曖昧)
配信視聴: mpv
軽くてよい mpv を使用しています。GUI画面もシンプルで気に入っています。
mpv-player/mpv
mpv is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.
ただピアキャス視聴用に開発されたわけでは無いのでレス表示やレス書き込みはできません。そのため現在配信にレスするときは昔ながらに掲示板経由でレスを書き込んでいます。mpv
は多機能(多すぎる)オプションと、Lua によるプラグイン機能があるので拡張の一つでも作ってみたいなあと考えています。(言うだけなら簡単
その他
上記の p@ YP が登録できない問題のため、PCYP ソフトウェアからは p@ の配信を見ることができません。さすがにアレだなあとも思ったこともあり、ユーザ関数を作成して CLI で何とかしています。下記を bashrc
とかそのあたりに追記してpato
と入力すると、p@ で配信されている配信名とStreamURLと詳細が表示されるようにしており、fzf
で選択することで閲覧できるようにしています。こういうケアが簡易に出来るのは Linux のよいところですね。
pato(){
local info url
info=$(curl -s "https://p-at.net/index.txt" | awk -F"<>" '{ print $1" http://localhost:7146/stream/"$2"?tip="$3 " "$6 }' | fzf +m)
if [[ -z $info ]]; then
echo "Stop."
else
url=$(echo $info | awk -F" http" '{print $2}')
url="http$url"
url=$(echo $url | awk -F" " '{print $1}')
mpv "$url" &
fi
}
同じ感じで ffmpeg
を使用して録画出来るようにもしています。(まあ録画したいと思うこと自体がもうほとんど無いけど…)
というわけで Linux でのピアキャス視聴環境について私の場合を記載してみました。この記事を見て、よっしゃ! Linux で配信を見たろ!となる人は皆無と思いますが、何かの弾みでそのようなことになってしまったときにはお役立ていただければ幸いです。
この記事は、peercast Advent Calendar 2023 の第23日目の記事でした。それではよいお年を。