Releases: plonk/peercast-yt
PeerCast YT12
新機能
- WebMフォーマットの配信と公開ディレクトリでの再生に対応しました。
Chrome では、MKV も WebM と言えば再生してくれることがあるので、再生を試みるようにしました。WebM 相当のコーデックか x264 + AAC/MP3 あたりなら再生できました(バージョン 58.0.3029.81)。
-
公開ディレクトリのページがブラウザの言語設定によって各言語のバージョンを表示するようになりました。
-
設定ページでサーバーに名前が付けられるようになりました。サーバー名は公開ディレクトリ等で表示されます。
バグ修正
-
チャンネルごとのリレー数制限がダイレクト接続にも影響していたのを修正しました。チャンネルがリレーを限界まで出しているとダイレクト接続ができなくなっていました。
-
index.txt の配信時間の単位が分ではなく秒になっていたのを修正しました。
-
プログラムを再起動させた等の理由で Cookie 認証トークンが無効になった時に、表示しているページの一部にログインフォームが埋め込まれていたのを修正しました。
PeerCast YT11
-
限定的な状況で、FLVとMKVがキーフレームから再生できるようになりました。VLC や mpv などのプレーヤーで再生開始直後に画面が灰色になるのが防げます。
-
キーフレーム情報をリレーに乗せられる 継続パケット拡張を入れました。
キーフレームからの再生ができるのは、チャンネルを自分で配信している場合と、「継続パケット拡張」に対応しているクライアント (現状 YT11 のみ) が配信しているチャンネルを、非対応のクライアントを間に挟まずに受け取った場合だけです。
- チャンネル情報ページで、チャンネルパケットバッファーの状態や、ヘッドパケットの内容が見られるようにしました。
Packets
の c
と nc
はそれぞれ継続パケットと非継続パケットの数を表わしています。ヘッド
の表示
を選択するとヘッドパケットの16進ダンプが表示されます。(FLV 配信で nginx などを間に挟んだ時にスクリプトタグが消えていないか確認するのに使えるかと思います。)
-
設定ページでポート番号を変更したときにプログラムが終了してしまっていたのを直しました。
-
一度キープにしたチャンネルのキープ設定をオフにできるようにしました。
PeerCast YT10
PeerCast YT9
-
公開ディレクトリでMP3ストリームの再生ができるようになりました。
-
public ディレクトリを作業ディレクトリではなく実行ファイルのあるディレクトリで探すようにしました。また、public ディレクトリが見付からない時に落ちていたのを修正しました。
-
HTMLテンプレートのレンダリングを軽くしました。チャンネルペー ジなどの生成が結構CPUを使っていました。
-
自分が配信しているチャンネルを停止した場合など、リレー接続が切断されるべき状況で切断されていなかったのを修正しました。69d46fd
-
HTTP Push 配信の開始時に bitrate に整数以外のものが指定されると落ちていたのを修正しました。
PeerCast YT8
変更点
-
FLVのMIMEタイプが正しい
video/x-flv
ではなくvideo/flv
になっていたのを直しました。 -
HTTP Push配信時にURLでビットレートとコメントが設定できるようになりました。(by @ha2ne2)
-
「イエローページ」ページと「 リレー」ページを「チャンネル」ページに統合しました。
-
「公開ディレクトリ」機能を追加しました。
公開ディレクトリ
http://ホスト:7144/public/
をパスワードがかかっていない公開ディレクトリとして、サーバーで配信しているチャンネルをWebから視聴できるようにする機能です。
視聴者がページを開くとチャンネルリストが表示され、Playボタンを押すとブラウザ内でFLVあるいはWMVのチャンネルが再生されます。(ブラウザプラグインが廃止されていく昨今の風潮ですので、WMV の再生は難しいかもしれません)
また、/public/index.txt
でサーバーで配信中のチャンネル一覧が提供されます。pcyp などのYPブラウザに登録すれば普通に開くことができます。
用途
PeerCastを導入していない比較的少人数の知人にも自分の配信を見てもらいたい時に使えるかと思います。また、ヒトリワイピの代わりになるでしょう。
設定の仕方
- サーバーのダイレクト接続が使われますので、
基本設定
でダイレクト数上限
を0より大きくしてください。
-
公開ディレクトリ
の有効化
をチェックします。 -
フィルタ
で255.255.255.255
の項目のダイレクト
にチェックを入れてください。(全てのIPアドレスから配信中のチャンネルにダイレクト接続できるようになります。)
- 設定を保存します。
公開ディレクトリ
の項目にある表示
を押すと公開ディレクトリに移動します。
PeerCast YT7
新機能
- WME や Expression Encoder でのプッシュ配信に対応しました。(Windows Media HTTP Push Distribution Protocol)
変更点
-
ホスト情報の上流への送信と、古いホスト情報の消去の間隔を 120 秒と 180 秒に固定しました。従来はデフォルト値が 180 秒と 210 秒でした。設定の「ホスト更新間隔」で変更できたのですが、他のクライアントとの通信で互換性の問題を生じることがわかったので、変更できないようにしました。
-
チャンネルフィードの項目からチャンネルのトラッカーを探すようにしました。設定されているYPに掲載されていないチャンネルでも再接続がしやすくなりました。
バグ修正
-
YT6 でいろいろなページのタイトルを消してしまっていたのを修正しました。
-
チャンネルリストのチャンネルの ID が 0 で始まっていると、再生不可の判定になっていたのを修正しました。
Windows Media HTTP Push 配信のやり方
(PeerCastの設定で、ポートでのブロードキャストが許可されていて、また、エンコーダーを動かすホストのネットワークがプライベートとして登録されている必要があります。)
-
リレーページで配信ボタンを押して配信ページへ行きます。
-
下の方にある「Windows Media HTTP Push ストリーム」フォームで、チャンネル名などの項目を入力すると、「サーバー名」「公開ポイント」と「URL」が作成されます。
- WME を使う場合は、セッションのプロパティでサーバー名と公開ポイントにそれぞれ作成された値を貼り付けてください。Expression Encoder を使う場合は「出力タブ→パブリッシュポイント→場所」に作成されたURLを貼り付けてください。
- エンコーダーの開始ボタンを押すとチャンネルが作成されて配信が開始します。
PeerCast YT6
PeerCast YT5
新機能
- ffmpeg で HTTP Push 配信ができるようになりました。
- MKV (Matroska) 配信ができるようになりました。
HTTP Push 配信のやり方
1.設定ページでブロードキャストの許可設定をチェックします。
2.外部のホストがエンコードする場合は、フィルターの設定でホストの IP がプライベートになるようにしてください。
3.配信フォームの上部にある「HTTP Push ストリーム」から URL 作成用のフォームに行きます。
4.チャンネル名などを入力すると URL が作成されるので、この URL を ffmpeg のコマンドラインに指定して、エンコードを開始してください。
例:
ffmpeg -re -rtbufsize 100MB -flags +global_header -framerate 30 -video_size 640x360 -f dshow -i video="SCFF DirectShow Filter":audio="ライン入力 (BEHRINGER USB WDM AUDIO " -threads 0 -vcodec libx265 -tune ssim -preset ultrafast -b 900k -af aresample=async=1 -acodec libvo_aacenc -ar 44100 -ab 96k -ac 2 -vol 256 -f matroska "http://127.0.0.1:7144/?name=予定地&genre=spGame&desc=アスカ+盾縛り&url=http://example.com"
上手く行けばチャンネルが作成されます。なお、ビットレートは自動計測です。
PeerCast YT4 MKVは超サイコー特別エディション
これは?
ffmpeg で MKV 配信ができるようにした YT4 です。
どうやるの?
0.ビルドして起動します。
README.md
を参考にしてください。
1.設定ページでブロードキャストの許可設定をチェックして、設定を保存します。
2.PeerCast に向けて ffmpeg から HTTP Push します。
送信先URLに以下のように指定します。
http://ホスト名:7144/?name=チャンネル名&genre=tp料理&desc=カレーつくります&url=http://example.com
name
キーは必須です。値の部分はURLエンコードしてあっても構いません。半角の空白文字を入れたい場合は半角の +
に置き換えてください。
ffmpeg コマンドラインの例。(URLは引用符で囲んでください)
ffmpeg -re -rtbufsize 100MB -flags +global_header -framerate 30 -video_size 640x360 -f dshow -i video="SCFF DirectShow Filter":audio="ライン入力 (BEHRINGER USB WDM AUDIO " -threads 0 -vcodec libx265 -tune ssim -preset ultrafast -b 900k -af aresample=async=1 -acodec libvo_aacenc -ar 44100 -ab 96k -ac 2 -vol 256 -f matroska "http://192.168.0.4:8144/?name=予定地&genre=spGame&desc=アスカ+盾縛り&url=http://example.com"
上手く行けばチャンネルが作成されます。なお、ビットレートは自動計測です。
PeerCast YT4
新機能
通知機能
- Web通知APIで、チャンネル状態の変更などが通知されるようになりました。
- YPからのルートメッセージや、リレーしているチャンネルのコメントが変更された場合も通知されます。
変更点
チャンネル情報ページ
- きちんと日本語に翻訳されるようにしました。
- 上流ホストのバージョン番号と、さらにその上流のホストのIPが表示されるようにしました。
- ヒットリストで、トラッカーが太字で表示されるようにしました。
その他
- 別のYPで配信されているチャンネルでも再接続できるように、なるべくトラッカーの情報が残るようにしました。
- チャンネル一覧ページが自動で更新されるようにしました。