7

我需要帮助来寻找可以帮助我或至少为我指明构建 Flash 媒体服务器/PHP 应用程序的正确方向的资源。我基本上想改进我当前的应用程序,而不是使用 Flash 媒体服务器进行渐进式下载,这样视频不仅可以流式传输,而且最终用户无法下载。

当前应用程序所做的是在主页上显示一个登录表单,然后在登录后,用户可以通过从特定视频类别中选择视频或特定用户上传的视频来浏览网站。所有这些都是用 PHP 完成的。使用 PHP 传递视频 ID 后,视频页面使用渐进式下载显示视频。

我需要知道 PHP 和 flash 媒体服务器是如何协同工作的。是否有任何资源可以找到一个很好的应用程序示例(非常简单),演示如何使用 PHP 和 Flash 媒体服务器动态流式传输视频,以便 PHP 检查登录、视频 ID、视频频道和视频类别Flash 媒体服务器流式传输视频时的信息。

4

5 回答 5

3

真的,PHP 和 FMS 根本不应该讨论。它可以在 FMS 中完成,但更简单的方法是让您的 Flash Player(无论如何您都必须拥有)与 FMS 对话。Flash 到 FMS 的通信有据可查并且非常容易。只需让 PHP 调用包含您需要的任何信息的 Flash 视频播放器。如果您真的担心安全性,让 PHP 进行身份验证并为 Flash 提供某种身份验证令牌可能会更容易。

只是让您知道,仅仅因为您的媒体正在流式传输并不意味着有人无法下载它。有几种工具可以翻录流媒体。它当然安全,但它不是完全证明的。

于 2008-11-28T03:28:33.563 回答
1

PHP 和 Flash(媒体服务器)的最大问题是代码的不同“流”。PHP 很简单:

开始请求,做某事,发送响应。完毕。

Flashmedia 仅在客户端连接时加载(编译)您的代码,然后仅触发事件。大多数操作不会返回,但需要回调。

加载应用程序..等待某事..事件启动:做某事,触发另一个请求以及响应处理程序对象..等。

我已经建立了一个广泛的聊天服务,使用 FlashMedia 服务器和 PHP 作为前端后端。

前端很简单:只是普通的 PHP/HTML 页面,最终将创建一个<OBJECT>-tag 加载一些 Flash 小程序。该 Flash 小程序应使用通过 FlashVars 选项传递给它的信息/凭据或从单独的 URL 加载(生成)的 XML 数据连接到 Flash 媒体服务器。

从那时起,Flash 小程序(客户端)就和 Flashmedia 服务器一样了。对于此示例,您要验证来自 Mediaserver 的凭据。您应该为此使用AMFPHP框架。

AMFPHP 是 Macromedia 的“Flash Remoting”系统的替代品,其中 Flash [applet/servlet] 可以通过 HTTP 进行异步通信。

对于 AMFPHP 框架,您编写一个接口类来包装您的凭证验证代码。有一个测试页面可以验证您的包装器的响应。

(AMFPHP 框架还可以生成 AS2 示例代码,以便您了解 Flashmedia 服务器应该如何发送请求和处理响应。)

  • 警告:AMFPHP 使用 POST 发送和检索数据。过去,当截断超过 2k 的数据时会出现问题。我现在只将它用于相对短消息。
  • AMFPHP非常可靠。例如,您可以使用它来进行外部日志记录。
于 2008-11-25T20:32:29.190 回答
1

您可能想尝试Red5而不是 Flash Media Server。我过去使用过 Flash Media Server,照顾起来可能会很痛苦。使用 Red5,您至少拥有更大的灵活性,而且它是免费的。如果你沿着 Red5 的道路走下去,你会发现更多的人像这张Red5 post 的一次性票一样定制它。我相信这与您正在寻找的非常接近。

于 2008-11-24T17:11:04.433 回答
0

我正在做类似的事情。首先,对于认证,可以使用FMS的认证插件。当然,你可以用 PHP 制作你自己的东西。我没有将 PHP 添加到 FMS 的原始 Apache 中,而是决定并行运行 XAMPP,当然使用不同的端口。

要启动和停止编码器,可以使用FMLEcmd命令。

我的环境:

  1. Flash 媒体开发服务器 3.5
  2. Flash 媒体实时编码器 3.1
  3. XAMPP(在端口 8080)
于 2010-06-30T06:26:57.990 回答
0

使用 Flash 媒体服务器,这样视频不仅可以流式传输,而且最终用户无法下载

这真的行不通。它使某些人“更难”,就像不放一个大而巨大的“在此处下载”按钮使其“更难”一样,但内容仍在以不同的方式下载到他们的计算机上。下载的任何内容都可以保存到磁盘中。

于 2008-12-03T20:39:25.963 回答