39

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

4

8 回答 8

22

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

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

我知道 Flash 支持这一点(查看有关网络摄像头和 flash 的本教程),因此您可以使用 Flash 将内容传输到服务器。我认为如果您继续使用 Flash,那么Flexflex 和网络摄像头教程)可能是一个值得研究的好主意。

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

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

于 2008-10-22T01:42:28.880 回答
7

Please note that the below described service is no longer available as it was based on FLV media (Flash)

This project which utilizes the Red5, Flex and PHP for Live Video Streaming and Recording has many features

  1. Stream Live video to the viewers

  2. Record the streams from your cam or other video input devices to the server

  3. Preview the recorded streams and files and thumbnail the frame which you would like to display for the video.

  4. Upload the videos from your computer and convert them to FLV which can be streamed using Red5 .

  5. Choose from any resolutions

  6. Can be plugged to any script

  7. Each website user can have a separate Directory for storing their videos and thumbnails use this link http://code.google.com/p/red5-flex-streamer/

于 2013-10-01T07:12:38.603 回答
5

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

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

接下来,您希望将您的视频输出到浏览器 - windows 媒体播放器、flash 或 silverlight 将让您实现这一点 - 将您选择的技术的适当控件嵌入到您的页面(使用 PHP 或其他)并给出您的直播地址视频馈送。

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

希望这可以帮助。

于 2008-10-22T00:45:43.703 回答
2

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

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

如果您要构建这样的东西,那么从一开始就考虑如何托管视频是明智的,因为它会影响您构建应用程序的方式。Flash/Flex/Silverlight/Windows Media....等....

于 2008-10-22T04:34:09.017 回答
2

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

于 2008-10-22T00:11:54.350 回答
1

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

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

于 2010-01-25T11:24:00.930 回答
1

您可以根据要求轻松构建网站。PHP 将在那里处理网站开发部分。所有托管和正常的网站开发都将按原样工作。但是,对于流媒体部分,您必须选择一个好的流媒体服务。无论是 Red5 还是 Adob​​e,您都可以从众多服务中进行选择。

选择提供专用存储的服务以正确完成工作。如果您不知道如何正确配置服务器,您可以选择流媒体服务。良好的服务通常会提供有助于有效广播流的 CDN。只需在 PHP 中启动您的网站并将 YouTube 播放器嵌入到所述网页中即可使其正常工作。

于 2019-08-05T10:49:19.103 回答
0

同样的问题/答案在这里,引用如下

我假设您的意思是您想要运行自己的私人视频通话,而不是简单地链接到 Skype 通话或类似的通话。您在这里确实有 2 个选择:自己托管,或使用托管解决方案并将其集成到您的产品中。


自托管 ----------------- 这很混乱。这一切都可以用 PHP 来完成,但这可能不是最可取的解决方案,因为它不是所有方面工作的最佳工具。Flash 在用户端的 a/v 捕获和传输方面效率更高。您可以尝试在不使用 Flash 的情况下执行此操作,但您会感到头疼。HTML5 可能会让您的生活更轻松,但如果您追求最大的兼容性,flash 是创建客户端的最简单方法。然后,就中继音频/视频的实际服务器端而言,您可以用 php 编写聊天服务器,但最好使用开源项目,例如 janenz00提到的red5,它已经通过您的客户端构建并与之交互(如果它还没有)。或者,您可以像之前提到的那样自制一个 Flash 客户端,并将其连接到两侧的 Flash 流媒体服务器……无论哪种方式,它都会很快变得复杂,而且我的专业知识根本无法帮助您。


托管服务 ----------------- 总而言之,我的建议是,除非您想管理许多复杂服务器和故障点的荒谬设置,否则请使用像 UserPlane或类似的托管服务并将所有处理和技术工作卸载给擅长此操作的人,然后担心与他们的 api 接口并让他们的客户端很好地集成到您的站点中。如果你这样做,你将成为一个更快乐的开发者。

于 2012-10-08T13:42:20.283 回答