Screen Alheio On-Line

Enviada por Herlon Camargo 
Herlon Camargo
Screen Alheio On-Line
28 de October de 2003 às 02:18PM
Senhores,
Quero fazer um script que mostre no meu browser a tela de um computador qualquer que esteja na rede local. Já fiz quase tudo, só falta o seguinte: dentro de um while com fim não definido, quero ficar carregando um mesmo arquivo de imagem (p.ex. foto.jpg) inúmeras vezes. Eu estarei atualizando o conteúdo do foto.jpg, de forma que terei a impressão de estar vendo a tela de outra máquina on-line. A pergunta é: como fazer para que a nova imagem seja carregada em cima da imagem anterior? Eu estou carregando um monte de imagens na tela, uma do lado da outra. Eu quero que a imagem nova seja colocada exatamente em cima da anterior. Meu script está mais ou menos dessa forma:

while (nada acontece)
...
echo "<IMG SRC = /"foto.jpg/"> ";
...
end while


Este script fará parte de um trabalho maior onde o professor poderá observar a tela dos alunos.

Obrigado,
Herlon
André de Castro Zorzo
Re: Screen Alheio On-Line
28 de October de 2003 às 02:58PM
cara, acho que tem que ser com refresh na página...
Re: Screen Alheio On-Line
28 de October de 2003 às 08:36PM
Teoria sem prática.

O que descrevo aqui é pura teoria mas, quem sabe não é um começo:

Uma webcam nada mais é que um dispositivo anexado ao coputador que gera fotos sucessivas que são colocadas em linha para exibição a uma frequência definida (FPS).
Basta vc utilizar o mesmo princípio mas não são fotos e sim, redirecione a entrada de dados do programa da webcam (que logicamente vc tera que criar) para captura da tela e toque em um realplayer ou faça um stream em java.

Se ficou complicado, tento melhorar, Faça o que o netmeeting já faz.

Pergunta: Se é uma situação aluno professor, porque vc não usa um VCN?
Herlon Camargo
Re: Screen Alheio On-Line
28 de October de 2003 às 08:58PM
Já tentei o VNC mas ele não funciona adequadamente com o LTSP. Minha rede é uma solução com terminais burros.
Re: Screen Alheio On-Line
28 de October de 2003 às 09:39PM
Ops, desculpe a escrita errada antes de tudo. É VNC mesmo.

Vou dar uma olhada e te falo.
Re: Screen Alheio On-Line
29 de October de 2003 às 02:06PM
Eu estava com a impressão que devesse existir uma alternativa em javascript mas todas que encontrei exigem o preload das imagens, fato que impossibilita o que vc deseja.

Acho que vc vai cair no que o André falou mesmo.
Abre um popup só com a imagem e programa um refresh a cada "x tempos".

Ainda não desisti de achar um modo de fazer stream disso. Me conta uma coisa (não saco nada de LTSP), você está capturando essas imagens na máquina cliente ou no servidor?
Estou perguntando pois se for no servidor, podemos utilizar alternativas de acompanhamento em java (trabalhoso mas eficiente).

Outra coisa, o que você quer acompanhar são dados ou fatores móveis (como movimento do mouse, desenhos na tela, ...)?
Herlon Camargo
Re: Screen Alheio On-Line
29 de October de 2003 às 03:13PM
Olá Jayr,

O LTSP (www.ltsp.org) é uma solução simples, barata e eficiente de se aproveitar máquinas com pouco poder de processamento. Todas as aplicações são executadas no servidor que deve ser uma máquina "boa" (Pentium 4 2 GHz, 1 GB de RAM). As máquinas clientes podem ser 486 com 16 MB de RAM. Quando você está a frente de uma máquina cliente se sente como se estivesse no prórpio servidor. Tudo funciona perfeitamente e com alto desempenho.

O que eu quero é criar uma solução que permita que o professor possa acompanhar o desenvolvimento dos alunos através de suas telas. A taxa de 1 fps já é suficiente. Tentei o VNC, só que no Linux há um problema (pelo menos para mim): o VNC cria uma nova seção e o que eu vejo na tela do cliente VNC é uma tela de nova seção e não o desktop atual. Há algumas variações do VNC (x0rfbserver, por exemplo) que permitem que se veja a tela atual sem abrir uma nova seção. Até aí tudo bem. No servidor, máquina do professor, eu rodo o VNC-x0rfbserver e os alunos em suas máquinas veêm a minha tela em uma janela. Isto dispensa um projetor. O inverso é que não consigo: os alunos executarem o VNC-x0rfbserver em suas máquinas e eu observar o que eles estão fazendo. Isto acontece porque estou utilizando o LTSP. Se não fossem terminais burros funcionaria perfeitamente.

Olha só o grande detalhe: tudo que eu disse acima funciona apenas em uma máquina que é o servidor, não havendo tráfego intenso pela rede. A alternativa que estou utilizando é a captura de telas com o ImageMagick. Ele fica capturando as telas das estações com 2 fps e salvando sempre com o mesmo nome. Eu quero carregar essas fotos capturadas no browser do servidor, uma em cima da outra para eu ter a sensação de uma "webcam".

A melhor solução até agora foi usando um refresh. Só que o refresh é na página inteira e não apenas na região da foto. Achei interessante a idéia das janelas popup, mas eu sou novo em php e não sei como fazer isso. Você me mostra um exemplo simples que só cria um popup para eu começar a entender? A janela principal deverá ter um botão (ou link) que abra a janela popup e um que feche. Se você puder me mostrar como fazer este popup através de um exemplo para semi-analfabeto em php eu ficarei muito agradecido. Isto pode resolver o meu problema.

Obrigado pela atenção,
Herlon
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.