ライブ Web カメラをキャプチャし、Wowza メディア サーバーにストリーミングする Flash ビデオ レコーダー (AS3、Flex を使用) を開発しました。
キャプチャされたライブ ビデオにシャープネス、コントラスト、彩度、およびシャープネス フィルタを適用しようとしています。
画面にキャプチャされているビデオにフィルター効果を適用できます。パブリッシュされているストリームに反映されるようにフィルターを適用するにはどうすればよいですか?
よろしくお願いします
ライブ Web カメラをキャプチャし、Wowza メディア サーバーにストリーミングする Flash ビデオ レコーダー (AS3、Flex を使用) を開発しました。
キャプチャされたライブ ビデオにシャープネス、コントラスト、彩度、およびシャープネス フィルタを適用しようとしています。
画面にキャプチャされているビデオにフィルター効果を適用できます。パブリッシュされているストリームに反映されるようにフィルターを適用するにはどうすればよいですか?
よろしくお願いします
このコードは、adobe stratus の機能を調査するために作成されたテスト アプリからのもので、Skype の基本的な機能を繰り返します
。処理クラスは次のとおりです。
public class RecievingObject extends Object
{
public function RecievingObject(){
}
public function message(str: String):void {
ChatWindow.addText('>> ' + str);
}
}
NetStatusEvent
そして、それがストリームにどのようにアタッチされているか (何もしないハンドラーを除くクラス全体):
public final class Streams
{
private static var streamOut: NetStream;
private static var streamIn: NetStream;
public static function initIn(id: String): void {
streamIn = new NetStream(Main.connection, id);
streamIn.client = new RecievingObject();
streamIn.addEventListener(NetStatusEvent.NET_STATUS, onInStatus);
streamIn.receiveVideo(true);
streamIn.receiveAudio(true);
streamIn.play('media');
VideoWindow.initIn(streamIn);
Mixer.initSound(streamIn);
}
public static function initOut(): void {
streamOut = new NetStream(Main.connection, NetStream.DIRECT_CONNECTIONS);
var peerConnected:Object = new Object();
peerConnected.onPeerConnect = function(subscriberStream : NetStream) : Boolean {
var oo:RecievingObject = new RecievingObject();
subscriberStream.client = oo;
if(!streamIn){ initIn((subscriberStream as NetStream).farID); }
return true;
}
streamOut.client = peerConnected;
streamOut.addEventListener(NetStatusEvent.NET_STATUS, onOutStatus);
streamOut.attachCamera(Camera.getCamera());
streamOut.attachAudio(Microphone.getMicrophone());
streamOut.publish('media');
}
public static function send(data: String): void {
if(streamOut) { streamOut.send('message', data); }
ChatWindow.addText('<< ' + data);
}
}