Как применить Фильтры в потоке публикации - PullRequest
1 голос
/ 06 декабря 2010

Я разработал видеомагнитофон Flash (с использованием AS3, Flex), который записывает веб-камеру в режиме реального времени и передает ее на медиасервер Wowza.

Я пытаюсь применить фильтры резкости, контрастности, насыщенности и резкости квидео в реальном времени.

Я могу применить эффекты фильтра к видео, снятому на экране.Как мы применяем фильтры, чтобы они отражались в публикуемом потоке?

Заранее спасибо Раджеш

1 Ответ

0 голосов
/ 06 декабря 2010

этот код взят из тестового приложения, созданного для исследования функций 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);
        }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...