使用PHP实时视频流

时间:2008-10-21 23:53:13

标签: php video streaming

我有一个PHP / AJAX / MYSQL聊天应用程序。我想在我的应用程序中添加视频聊天功能。如何创建实时视频流以用于PHP应用程序中的实时视频会议/聊天。如果我想建立这样一个系统,我需要知道的关键术语是什么?首先使用PHP是一个好主意吗?有没有我没想过的东西?我可以使用哪些其他语言,也许与PHP结合使用?

8 个答案:

答案 0 :(得分:21)

我不是说你必须放弃PHP,但你需要不同的技术。

让我们从简单开始(没有Akamai :-))并考虑其中的含义。视频,聊天等 - 一开始就是客户端。用户有一个网络摄像头,你想以某种方式获取信号并将其发送到服务器。到目前为止还没有PHP。

我知道Flash支持这一点(请查看此tutorial on webcams and flash),以便您可以使用Flash将内容传输到服务器。我想如果你继续使用Flash,那么Flexflex and webcam tutorial)可能是一个好主意。

所以这些只是基础知识,也许它会让你知道你需要研究的地方,因为很明显这不会让你在你的应用程序中进行完整的视频聊天。对于初学者,您需要某种方式来记录流并重新发布,以便其他人从聊天中看到其他人等。

我也不确定这会消耗多少流量和带宽,一般来说,你需要的不仅仅是Stackoverflow问题来解决这个问题。最好是做一个完整的应用程序规范,然后聘请一些人来帮助你构建它。

HTH!

答案 1 :(得分:7)

  

请注意,以下描述的服务不再可用   它基于FLV媒体(Flash)

这个利用Red5,Flex和PHP进行实时视频流和录制的项目有很多功能

  1. 将直播视频流式传输给观众

  2. 将您的摄像头或其他视频输入设备的流记录到服务器

  3. 预览录制的流和文件,并缩略显示您要为视频显示的帧。

  4. 从您的计算机上传视频并将其转换为可以使用Red5流式传输的FLV。

  5. 从任何决议中选择

  6. 可以插入任何脚本

  7. 每个网站用户都可以有一个单独的目录来存储他们的视频,缩略图使用此链接 http://code.google.com/p/red5-flex-streamer/

答案 2 :(得分:4)

PHP将允许您构建构成视频会议和聊天应用程序的网站页面,但它不会为您提供或流式传输视频 - PHP仅在服务器上运行并将HTML呈现给客户端浏览器。

对于视频,您需要的第一件事是与像akamai或该领域的众多其他人一样的直播流媒体帐户。使用此帐户可以为您的视频提供一个入口点 - 即:您将直播视频流的服务器。

接下来,您希望将视频发送到浏览器 - Windows媒体播放器,闪存或Silverlight将让您实现此目的 - 将您选择的技术的适当控件嵌入您的页面(使用PHP或其他)并给出地址您的实时视频供稿。

PHP(或其他脚本语言)将用于构建应用程序的聊天部分并将整个事物(聊天和嵌入式视频播放器)整合在一起。

希望这有帮助。

答案 3 :(得分:2)

对于实时视频会议,您无法忽略流媒体服务器的需求。

是的,flash会让您在本地闪存控件中显示来自网络摄像头的视频,但这不会让您通过网络发送该视频 - 因为您需要一个流媒体服务器将其发送到。

如果你要构建这样的东西,那么考虑一下你将如何在很早的阶段主持视频是明智的,因为它会影响你构建应用程序的方式。 Flash / Flex / Silverlight / Windows Media ....等....

答案 4 :(得分:1)

PHP / AJAX / MySQL不足以创建实时视频流应用程序有一个类似的线程here。它主要建议使用Flex或Silverlight。

答案 5 :(得分:1)

有许多“现成的”“服务器”将在您的环境中运行。 其中大多数都使用前面提到的Flex或Silverlight来实现实际的视频本身,但我很确定所有这些都将在LAMP / PHP下运行。

挑战将从可用的所有内容中挑选最好的软件,并让您的托管服务提供商让您流式传输视频(不用说流式传输带宽很大)。

答案 6 :(得分:0)

同样的问题/回答here,引用如下

  

我假设您的意思是想要运行自己的私有视频   电话,而不仅仅是链接到Skype电话或类似电话。你真的有2个   这里的选项:自己托管,或使用托管解决方案并集成   它进入你的产品。

     
     

自托管   -----------------这很乱。这一切都可以通过PHP实现,但这可能不是最合适的解决方案   不是各方面工作的最佳工具。 Flash更多   在用户端的a / v捕获和传输上有效。你可以尝试   没有闪光灯这样做,但你会头疼。 HTML5可能会   你的生活更轻松,但如果你的射击是为了获得最大的兼容性,   flash是创建客户端最简单的方法。然后,到目前为止   作为将转发音频/视频的实际服务器端,您可以   在php中写一个聊天服务器,但你最好使用开源   项目,像   janenz00提到了   red5,已经建成了   通过您的客户端与它进行交互(如果它还没有   一)。或者你可以像之前提到的那样自制一个flash客户端   将它连接到两侧的闪存流服务器......无论哪种方式   快速变得复杂,并且超出我的专业知识来帮助你   所有

     
     

托管服务   -----------------全部,我的建议,除非你想管理许多复杂服务器和失败的荒谬设置   要点是使用托管服务   UserPlane或类似的,并卸载所有   处理和技术工作给那些擅长的人,然后   担心与他们的api接口并让他们的客户好   集成到您的网站。如果你这样做,你将是一个更快乐的开发者。

答案 7 :(得分:0)

您可以根据要求轻松构建网站。 PHP将在那里处理网站开发部分。所有的托管和正常的网站开发都将照常进行。但是,对于流媒体部分,您将必须选择优质的流媒体服务。无论是Red5还是Adobe,您都可以从大量服务中进行选择。

选择一项提供专用存储的服务,以完成正确的事情。如果您不知道如何正确配置服务器,则可以选择流服务。良好的服务通常会提供CDN,以帮助有效地广播流。只需使用PHP启动您的网站,然后将YouTube播放器嵌入上述网页即可使其正常工作。