Skip to content

PeerCast YT50

Latest
Compare
Choose a tag to compare
@plonk plonk released this 08 Mar 07:40

What's Changed

  • 一部のコンパイラでビルドができない問題を修正 by @amiami5 in #127
  • pipe: URLで外部コマンド(ffmpegなど)を立ち上げてチャンネルソースにできるようにしました。
  • 同一LAN内の別ホストが立てた配信が視聴できなかったのを直しました。(そのようなホストと通信するためにはほとんどの場合ホストのプライベートIPに接続する必要があるがtip=パラメータだけではグローバルIPしかわからないのでルートサーバーに教えてもらう必要がある)
  • 複数のYPのポート0配信が視聴できるようにしました。リレーしているチャンネルごとにどのYPに掲載されているかの情報を持つようにしました。
  • http に加えて https で HTML UI に接続できるように設定できるようにしました。
  • リレーが制限を超えて出すぎてしまう問題を直しました。3980a78
  • 永続クッキーリストを読み込むときにクッキー期限の設定が「セッション」にリセットされていたのを修正。 ff79c04

pipe URLについて

「外部ソース」を元にチャンネルを立てるとき、http URLや rtmp URLを指定しますが、これを拡張して URL のスキーム部分に pipe と指定するとコロンの後の部分をコマンドラインと解釈して、コマンドを実行し、このコマンドの標準出力への出力を動画・音声データとして解釈してチャンネルを立てます。

非常に具体的な例を挙げるとLAN内で RTSPサーバを動かしている ATOM Cam がある場合、次のように指定することでカメラの映像を元に配信を立てることができます。

pipe:ffmpeg -nostdin -loglevel fatal -i rtsp://[カメラのIPアドレス]:8554/unicast -t 13:0:0 -vcodec copy -f flv -

httpsでHTML UI に接続する

peercast.ini と同じディレクトリに server.crtserver.key の名前で証明書と秘密鍵を置いて、enableSSLServer フラグを有効にすれば、https で HTML UI に接続できるようになります。(ポート番号は http と同じ)

「コンソール」の ssl コマンドでディレクトリが確認できます。(flag set enableSSLServer true でフラグが有効にできます。)

2024-03-05-072753_625x578_scrot

openssl コマンドを使って自己署名証明書 server.crt と server.key を作るには例えば次のようにできます。

openssl req -x509 -nodes -newkey rsa:2048 -keyout server.key -out server.crt -days 365

New Contributors

Full Changelog: v0.4.9...v0.5.0