今回はRtmpClientというよりBroadcastStreamの方の話ですが、いままでできなかったH.264やVP6のストリームデータ対応についてです。
https://github.com/taktod/red5_php
ここのgitのリポジトリのcom.ttProject.red5.server.adapter.library.edge.BroadcastStreamが今回の変更した主な対象物となります。
実際やったことはdispatchEventというデータを受け流す部分にビデオデータやオーディオデータの解析する部分をいれて、Red5のClientBroadcastStreamと同様の処理にまわすようにプログラムを合わせたという形になっています。
ClientBroadcastStreamは放送するプレーヤーがあって、そちらをイベントの始まりとするような処理が書いてあり、僕のつくったBroadcastStreamは外部からもってきたパケットデータをイベントの始まりとするように書いています。
start() stop() close()あたりにまだ若干バグがありそうなので、今後少々保守していこうかなと思います。
試してはいませんが、xuggleのxuggle-xuggler-red5のcom.xuggle.red5.io.BroadcastStream.javaに上書きしてやると、Xuggleの変換後のパケットデータがうまくまわるようになるかもしれませんね。
0 件のコメント:
コメントを投稿