답변은 거의 없습니다 ... 음, 정직합니다.
@drudru는 플래시 P2P, 즉 stratus에 적합한 기술을 지적했습니다.
플래시 P2P는 UDP를 기반으로하는 RTMFP를 기반으로합니다. 사실, 플래시는 포트를 묶어 버리지 만 내부에서 가져옵니다. 수동으로 처리하는 API는 없습니다.
- UDP 스트리밍 (신뢰할 수없는,하지만 빠른) 비디오 및 오디오 :
RTMFP는 기본적으로 두 가지를 할 수 있습니다. 플래시 측면에서는 카메라와 마이크 스트림 만 게시 할 수 있습니다. 서버에서 거의 모든 것.
- 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로 재생 해보십시오. 희망적으로 그렇게 할 수있는 옵션이 있습니다.
감사합니다. 거의 완전한 답변입니다. – snitko
그건 ninjavideo가 ninjavideo helper로하는 것과 비슷합니다. 단, flash가 아닌 divx 웹 플레이어를 사용하여 localhost에 연결하는 경우는 예외입니다. – Enriquev