2009-07-10 1 views
9

나는 인터넷 검색을 해왔지만 여전히 얻을 수 없다. 어떤 사람들은 이렇게 말합니다. 여기에 가서 사용하십시오. 다른 사람들은 플래시에서 원하는 방식으로 P2P를 사용할 수없는 특정 제한 사항을 가지고 있다고 주장합니다. 그것은 Flash10 응용 프로그램을 구현할 수 있으며, 사용자의 브라우저에 비디오/오디오 권리를 스트리밍하는 기존의 토런트 파일의 일부를 사용Flash10 + p2p가 실제로 작동합니까?

그래서, 여기에 간단한 질문입니다?

아니요 - 왜요? 이 '아니오'에 대한 가능한 해결 방법이 있습니까? 예인 경우 구현의 어려움은 무엇이며 실제로 아직 완료하지 않은 이유는 무엇입니까?

답변

12

답변은 거의 없습니다 ... 음, 정직합니다.
@drudru는 플래시 P2P, 즉 stratus에 적합한 기술을 지적했습니다.

플래시 P2P는 UDP를 기반으로하는 RTMFP를 기반으로합니다. 사실, 플래시는 포트를 묶어 버리지 만 내부에서 가져옵니다. 수동으로 처리하는 API는 없습니다.

  1. UDP 스트리밍 (신뢰할 수없는,하지만 빠른) 비디오 및 오디오 :

    RTMFP는 기본적으로 두 가지를 할 수 있습니다. 플래시 측면에서는 카메라와 마이크 스트림 만 게시 할 수 있습니다. 서버에서 거의 모든 것.

  2. P2P 연결의 다른 끝점에 대한 원격 호출 중. 이것은 데이터를 전송하는 데 사용할 수 있습니다. 이러한 통신은 보안되며, 즉 패키지 주문 및 무결성은 플래시 플레이어에 의해 유지된다.

p2p는 NAT 펀치 스루를 기반으로합니다. Stratus 자체는 소개 서버입니다. 또한, 보안 목적으로 p2p 연결은 두 클라이언트가 서버에 대한 유휴 TCP (정확하게 기억한다면) 연결이 있어야 함을 의미합니다. 물론 약간의 데이터가 전송되지만 payload는 전송되지 않습니다.

그러나 토렌트 프로토콜은 이와 매우 다릅니다. 따라서이 옵션이 아닙니다. RTMFP 위에 stratus 서비스를 리버스 엔지니어링 할 때 (또는 오픈 소스가 될 때까지 기다리십시오) RTMFP 위에 동일한 프로토콜을 구축 할 수 있습니다. 이것은 물론 비 플래시 클라이언트에서도 사용할 수 있습니다. 하지만 다시 전송 된 데이터를 동영상으로 볼 수는 없으므로 NetStream의 클라이언트 (아마도 ByteArray)에 대한 호출의 매개 변수로 사용하게됩니다. 그리고 ByteArray 초를 재생할 수 없습니다. 비디오를 스트림으로 게시하는 비 플래시 클라이언트를 작성할 수는 있지만 원하는 내용과는 거리가 멀습니다.

정말 그런 식으로하고 싶다면 Java가 필요합니다. Java 애플릿에 서명 할 수 있으며 사용자가 인증서를 수락하면 실제로 액세스가 제한되지 않습니다. 포트를 바인딩 할 수 있습니다. 자바는 UDP를 할 수 있기 때문에 Java 애플릿을 사용할 수 있습니다. (실제로는 Vuze 코드베이스 만 사용하는) 토렌트를 만들 수 있습니다. 플래시로 표시하려면 (실제로는 flv가 필요합니다) 로컬 " Flash Media Server "를 열고 localhost : someport에 비디오를 게시하십시오. 하지만 실제로, 플래시 비트는 어리석게 복잡하고 쓸모없는 것 같습니다. 오히려 Java로 재생 해보십시오. 희망적으로 그렇게 할 수있는 옵션이 있습니다.

+0

감사합니다. 거의 완전한 답변입니다. – snitko

+0

그건 ninjavideo가 ninjavideo helper로하는 것과 비슷합니다. 단, flash가 아닌 divx 웹 플레이어를 사용하여 localhost에 연결하는 경우는 예외입니다. – Enriquev

0

음 ... 흥미로운 제안입니다. 다운로드 한 파일 만 플래시의 메모리에 보관하십시오. 분명히 가능하다고 생각하지만, 느린 경우 수백 메가 바이트에 달할 것입니다.

편집 : 플래시 만 사용하여 포트를들을 수 없기 때문에 불가능합니다. 브라우저에는 해당 유형의 기능이 없습니다.

+0

내가 아는 바로는 Flash10에서 이미 디스크에 파일을 저장할 수 있습니다. – snitko

2

플래시를 사용하면 들어오는 연결을 위해 소켓에서 수신 대기 할 수 없습니다. 이것은 기존의 급류로 작업하기가 정말 어렵습니다. 이 문제를 해결하기 위해 보안 문제가 발생했는지는 알 수 없습니다.

그러나 Adobe는 Stratus라는 P2P 시스템의 자체 버전을 시작했습니다. 여기에 대한 내용을 읽을 수 있습니다 http://labs.adobe.com/technologies/stratus/

2

이 정보는 오래되어서 제공되지 않습니다.