Flash10 + p2p真的有用吗?

时间:2009-07-10 17:27:08

标签: flash p2p flash-10

我一直在谷歌上搜索,我仍然无法得到它。有人说:你去,只是用它。其他人声称它有某些限制,不允许你按照你想要的方式在Flash中使用p2p。

所以,这是一个简单的问题:是否可以实现Flash10应用程序,它使用一些现有的torrent文件将视频/音频流式传输到用户的浏览器中?

如果没有 - 为什么?这个'不'有没有可行的解决方法? 如果是的话 - 实施的难点是什么,为什么没有人真正做到呢?

4 个答案:

答案 0 :(得分:12)

答案几乎不是......好吧,说实话,这是不对的 @drudru指出了适用于flash p2p的技术,即stratus。

Flash p2p基于RTMFP,它建立在UDP之上。实际上,flash确实绑定了一个端口,但这来自内部。没有API可以手动执行此操作。

RTMFP基本上允许两件事:

  1. 视频和音频的UDP流(不可靠,但速度快)。从闪存方面,您只能发布您的相机和麦克风流。从服务器,几乎任何东西。
  2. 远程调用p2p连接的另一个端点。这可用于传输数据。这种通信是安全的,即闪存播放器保持包装顺序和完整性。
  3. p2p基于NAT穿孔。 Stratus本身就是引入服务器。此外,出于安全目的,p2p连接也意味着,两个客户端必须具有与服务器的空闲TCP(如果我没记错)。我想,当然会传输一些数据,但不会传输有效数据。

    然而,torrent协议与此非常不同。因此,这不是一种选择。您可以在RTMFP之上构建等效协议,反向工程stratus服务(或等到它的开源)。这当然也可以由非Flash客户端使用。但同样,您将无法将传输的数据视为视频,因为您可以获得对NetStream客户端的一些调用,可能是ByteArray。你无法回放ByteArray。您可以编写非Flash客户端,将视频发布为流,但我认为这远远不是您想要的。

    如果你真的想做这样的事情,你需要Java。您可以对Java小程序进行签名,如果用户接受了该证书,则他们几乎可以不受限制地访问,例如你可以绑定端口。既然Java可以做UDP,那么你可以拥有一个Java小程序,它可以完成托管(可能只是使用Vuze代码库),如果你真的想在flash中显示它(这又需要flv),那么你就可以模仿本地的“ Flash Media Server“并在localhost:someport上发布视频。但实际上,闪光灯对我来说似乎非常复杂和无用。而是尝试使用Java进行回放,希望可以选择本地使用Java。

答案 1 :(得分:2)

Flash不允许您在套接字上侦听传入连接。这个会 使用现有的种子真的很难。鉴于安全问题 在此周围,我不认为它发生了。

然而,Adobe已经开始使用名为Stratus的P2P系统。 你可以在这里阅读http://labs.adobe.com/technologies/stratus/

答案 2 :(得分:2)

所有这些信息现已过时。

答案 3 :(得分:0)

嗯...这是一个有趣的命题,只将下载的文件保存在Flash的内存中。我认为这肯定是可能的,但可能很慢,你可以限制在几百兆字节。

编辑:这是不可能的,因为你不能只使用Flash来监听端口,浏览器没有那种类型的功能。