Red5のフォーラムにChange the scope/room of a streamというのがあったので放送を別のスコープに受け流すプログラム書いてみた。
どこかのコネクションがplayを始めるとそのコネクション用のBroadcastStreamをつくる。
どこかのコネクションがpublishをはじめるとそのstream内でながれているパケットデータをつくったBroadcastStreamに流していく。
FlashによるFlv1のストリームの場合は、放送を先にはじめてもOKですが、FMEによる放送の場合は、先に視聴を開始→放送を開始としないと視聴できないです。
これはたぶんH.264の場合先頭にメディアのヘッダ情報がないと放送が開始できないとかいった理由でしょう。
あと、プログラムをみればわかりますが、2つ以上の放送を開始してしまうと、両方のデータをパケットに流すことになってしまうので、壊れると思います。試していませんが。
終了まわり等きちんと書いていないので運用等で使いたい場合は、そのあたりの修正が必須になります。
ここんところRed5ネタばかりだ。
0 件のコメント:
コメントを投稿