Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

chamuska

[Resolvido] Video conferencia com vario usuario em flex ?

Recommended Posts

Pessoal, to estudando pra faze um sistema de videoconferencia usando o Red5 e flex e achei na net um exemplo que captura o video da minha webcam e td mundo que se conecta no sistema pode ver a imagem da minha webcam, mas nesse exemplo que peguei so funciona pra uma webcam.

 

Quero sabe se tem como eu incluir mais de uma webcam e listar todas as webcans pra exibir a imagem delas??

 

Função que publica a webcam:

 private function publicar():void
            {
                if ( nsPub != null )
                {
                    btPublicar.label="Publicar no servidor Red5!"

                    nsPub.close()
                    nsPub=null
                }
                else
                {
                    btPublicar.label="Parar publicação!"

                    nsPub=new NetStream( nc );
                    nsPub.attachCamera( Camera.getCamera());
                    nsPub.attachAudio(Microphone.getMicrophone());

                    // nome que será publicado
                    nsPub.publish( "videoPublish" );
                    vdMinhaWebCam.attachCamera( Camera.getCamera());
                }
            }

 

Função que pega o video da webcam que foi publicada:

private function visualizar():void
            {
                if ( !statusConnection )
                {
                    Alert.show( "Não conectado ao servidor!" )
                    return;
                }

                if ( nsCli != null )
                {                	
                    btVisualizar.label="Visualizar do servidor de Red5!";

                    nsCli.close();
                    nsCli=null
                }
                else
                {	
                    btVisualizar.label="Parar Visualização!";

                    nsCli=new NetStream( nc )

                    var vid:Video = new Video(); 
                    vid.height=uiCaixaDoVideo.height;
                    vid.width=uiCaixaDoVideo.width;
                    vid.attachNetStream( nsCli );

                    uiCaixaDoVideo.addChild( vid );

                    // nome que foi publicado
                    nsCli.play( "videoPublish" );
                }
            }

Nessa ultima função eu temtei no nsCli ver se tinha algo que listava o nome de todas as webcam mas nao achei nada, e por enquanto to pensando em inserir os nomes no BD.

Alguem ai tem alguma ideia ?!?!

 

Aviso: nao tenho muito conhecimento em Flex!

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve ser possivel sim ,usando o flash media server, o red5, mas não sei te informar muita coisa sobre isso não.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu to procurando no google algum exemplo de codigo, mas só tem coisas pagas, cursos e tal.

Alguem ai tem algum material sobre isso ??!

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eh alem de ser pago tal coisa axo que o red5 nem hospedagem tem aqui no Brasil.

Saiu um livro agora brasileiro se nao me engano sobre Flash Media Server.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vo procura pelo livro!!

Bom, mas eu ja to fazendo uns testes usando o Red5 e to conseguindo faze a video conferencia vo i tentando com ele!

Mas vi que quando estou recebendo o video a qualidade nao fica muito boa.

Alguem sabe como posso melhorar a qualidade do video quando ele chega no pc do usuario ??

 

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você só precisa definir uma nome para cada uma, e usar esse nome no nsPub.publish

o ideal é que cada usuário tenha um ID dele, o código da publicação seria assim:

 

var idUser:int = 1;
nsPub=new NetStream( nc );
nsPub.attachCamera( Camera.getCamera());
nsPub.attachAudio(Microphone.getMicrophone());
// nome que será publicado
nsPub.publish( "videoPublish" + idUser );
vdMinhaWebCam.attachCamera( Camera.getCamera());

esse idUser tem que ser diferente para cada usuário conectado

 

 

agora na hora de visualizar, você cria uma instancia do NetStream para cada usuário

e cada instancia vai dar uma nsCli.play, num nome diferente

 

 

// nome que foi publicado
nsCli1.play( "videoPublish1" );


// nome que foi publicado
nsCli2.play( "videoPublish2" );

 

a logica de forma grosseira seria essa ai

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Eder, o que eu fiz pra funciona a videoconferencia foi isso que você passo!!!

Dai o que estou precisando agora é arrumar a qualidade do video quando o usuario recebe o video, a imagem fica meio borrada e não é por causa da webcam!

Tem como ajustar a qualidade do video com flex e red5 ???

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boua Eder! Deu certo haha! Ajudo muito!

Depois do tanto de ajuda que vcs me deram acho que vo decha o codigo disponivel caso alguem do forum queira hehe!

 

 

Valeu galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.