【问题标题】:red5 media server and protect video from being embeded?red5 媒体服务器并保护视频不被嵌入?
【发布时间】:2012-10-22 15:17:45
【问题描述】:

我正在尝试以最可能的方式保护我的视频,所以我知道将它们放在 red5 媒体服务器上会使它们流式传输,因此 flv 文件不会下载到用户缓存中,但我主要担心的是有可能保护视频不被嵌入?所以它只会从我指定的域运行?

另外,是否有可能以某种方式加密流视频文件?并在下载时将其加密到我的 Flash 播放器中?

【问题讨论】:

    标签: video-streaming red5 flash-media-server


    【解决方案1】:

    要保护您的流,您可以编辑文件: red5-web.properties(在 $red5/webapps/$your-app/WEB-INF/ 中)

    webapp.virtualHosts=*,localhost, 127.0.0.1
    

    webapp.virtualHosts 定义了允许连接到您的 Red5 应用程序的 IP/域。

    因此,如果您的应用程序托管在 myserver.com 上,并且您只希望从 myserver.com 加载的 SWF 能够连接到您的流,那么您可以配置 red5-web.properties。

    AFAIK:这里的“安全性”是每个 SWF 都会自动向 RTMP 服务器发送一个从中加载它的 IP/域。因此,如果有一些动机,您可以用 Java 或 C++ 构建一个 RTMP 客户端,以模拟来自另一个域的连接。

    但是,对于简单的场景,例如保护您的流不被其他网站中的某些 FLV 播放器嵌入,这应该已经有所帮助。

    塞巴斯蒂安

    【讨论】:

    • 也可以设置 RTMPS 的使用:incubator.apache.org/openmeetings/RTMPSAndHTTPS.html 但这不会阻止任何人将您的流嵌入到他的网站中。
    • 感谢您的回复,但没有。这是行不通的。它的目的是实际创建一个虚拟主机。我需要的是限制从其他 IP 地址访问我的流...
    • 你是对的,virtualHosts只会定义监听接口。您必须在 ApplicationAdapter 中实现一个方法,例如“appConnect”并检查 SWF 的加载参数。但最好是在 init 方法中传递一些参数来授权用户。如果用户失败,您可以断开 RTMP 连接,并且第三方在没有适当授权的情况下无法使用您的流媒体服务。
    【解决方案2】:

    为防止视频被嵌入,请勿使用可嵌入播放器(即,如果您使用的是商业播放器,请禁用嵌入选项)。如果您不希望他们找到流然后将视频嵌入到他们自己的播放器中,您必须隐藏电影的 URL。有很多方法可以做到这一点。最流行的是使用 php 文件通过 readfile 输出视频。你也可以使用符号链接或一些类似的解决方案。

    re:加密,有一些像 iTunes 使用的 DRM 解决方案,但我认为如果你在这里问,这对你来说可能是矫枉过正。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-04
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多