Pergunta

Estive pesquisando em torno e eu ainda não pode obtê-lo. Algumas pessoas dizem: aqui você vai, apenas usá-lo. Outros afirmam que tem certas restrições que não permitem que você use p2p do jeito que você quer no flash.

Então, aqui está uma pergunta simples:? é possível implementar uma aplicação Flash10, que utiliza alguns dos arquivos torrent existentes para transmitir vídeo direita / áudio em navegador do usuário

Se não - por quê? Existe alguma solução possível para este 'não'? Se sim - Quais são as dificuldades de implementação e por que ninguém realmente feito isso ainda

Foi útil?

Solução

A resposta é praticamente não ... bem, é apenas não, para ser honesto.
@drudru apontou a tecnologia certa para p2p flash, ou seja stratus.

Flash p2p é baseado em RTMFP, que é construído em cima de UDP. Na verdade, flash se liga de uma porta, mas isto vem da parte interna. Não há nenhuma API para fazer isso manualmente.

RTMFP basicamente permite que duas coisas:

  1. UDP streaming (não confiável, mas rápido) para vídeo e áudio. Do lado de flash você só pode publicar sua câmera e fluxo de microfone. A partir do servidor, quase nada.
  2. Fazer chamadas remotas para a outra extremidade da conexão p2p. Isso pode ser usado para transferir dados. Esta comunicação é assegurado, isto é, a ordem e a integridade da embalagem é mantida pelo jogador de flash.

O p2p é baseado em NAT punchthroughs. -se Stratus é o servidor de introdução. Além disso, para fins de segurança, uma conexão p2p também significa, ambos os clientes tem que ter um TCP em marcha lenta (se bem me lembro) conexão com o servidor. Eu acho, um pouco de dados são transmitidos, é claro, mas não a carga útil.

No entanto, o protocolo torrent é muito diferente deste. Portanto, esta não é uma opção. Você poderia construir um protocolo equivalente em cima do RTMFP, engenharia reversa do serviço estratos (ou espere até que seja código aberto). Isso poderia, claro, também ser utilizado por clientes não-Flash. Mas, novamente, você não seria capaz de ver os dados transmitidos como um vídeo, uma vez que você vai conseguir é como um param para alguns chamam para o cliente de sua NetStream, provavelmente um ByteArray. E você não pode reproduzir ByteArrays. Você poderia escrever clientes não flash, que publicam vídeos como um fluxo, mas que estaria longe de ser o que você queria, eu acho.

Se você realmente quer fazer algo assim, você precisa de Java. Você pode assinar applets Java, e se o usuário aceitar o certificado, eles têm acesso praticamente irrestrito, por exemplo, você pode ligar portos. Desde Java pode fazer UDP, você poderia ter um applet Java, que faz o torrenting (talvez apenas usar a base de código Vuze) e se você realmente quiser exibi-lo em Flash (que por sua vez requer flv), então você poderia imitar um local " Flash Media Server" e publicar o vídeo no localhost: someport. Mas, realmente, o bit de flash parece ridiculamente complicado e inútil para mim. Em vez disso, tente reproduzir com Java, que esperamos que tem a opção de fazê-lo de forma nativa.

Outras dicas

Flash não permite que você para escutar em um soquete para conexões de entrada. Isso seria torná-la realmente difícil trabalhar com torrentes existentes. Dadas as questões de segurança contornar isso, eu não vejo isso acontecendo.

Adobe, no entanto, começou a sua própria versão de um sistema P2P chamado Stratus. Você pode ler sobre isso aqui http://labs.adobe.com/technologies/stratus/

Toda esta informação está desatualizado agora.

Hmmm ... isso é uma proposta interessante, só manter o arquivo baixado na memória flash. Eu acho que é certamente possível, mas provavelmente lento e você estaria limitado a algumas centenas de megabytes.

EDIT:. Não é possível porque você não pode ouvir portas usando apenas Flash, o navegador não tem esse tipo de capacidade

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top