2012-07-10 52 views
0

我有一个客户谁的要求是,他想要一个网站,将能够流通过上传的视频通过搜索。最苛刻的要求是他们每周都会举办一些活动,他们希望这些活动能够在相机上进行报道和录制,并且该视频应该可以在网站上直播。基于网络广播的网站在PHP

我知道如何使网站在PHP中,但我不知道什么是一个基于网络广播的网站,特别是相机和带宽要求的要求。

Also what are the requirements and methods for a website which can stream videos uploaded on server.I am totally new to video streaming and don't know how to do it in php. 

请说明实施它的方法。

+0

,如果你把它们放在YouTube上,你不用担心带宽 – 2012-07-10 04:23:45

+0

而且即使你不知道该怎么做 - 你仍然被聘为? – zerkms 2012-07-10 04:29:25

+0

我得给客户端的网站和相机的要求,我的任务是开发,我可以和客户端有其他人根据要求其他任务的网站模块。 – shivgre 2012-07-10 04:57:57

回答

1

尝试HTML5网络摄像头捕获。

它在Google IO中突出显示。

我认为你需要谷歌的方法。我还没有真正使用它。

0

我做了大量的研究,发现我们必须使用闪存类型的服务器。 为此,我们有2个选择:RED5和Flash。 RED5是开源的,而Flash不是免费的。 对于这种类型的网播,我们需要安装这样的服务器,然后使用适当的API并将Flash播放器嵌入到您的网页中。 这些特殊服务器是必需的,因为我们需要处理请求而不刷新页面,然后动态加载内容。

1

作为Red5的替代方案,可能更适合您尝试执行的是Nginx-RTMP模块。 https://github.com/arut/nginx-rtmp-module如果您目前使用或可以使用Nginx,则该模块易于配置和使用。它可以通过RTMP接收并通过RTMP将实况视频提供给基于Flash的播放器,例如JWplayer,同时创建用于在Apple设备(以及其他设备,如ROKU等)上播放的HTTP Live Streams。

我把它安装在几台服务器上,并且对结果非常满意。它通过RTMP接受视频,并做了一个伟大的工作恕我直言。

使用Nginx-RTMP,我使用运行ffmpeg的脚本将预先录制的文件“实时”传输到服务器。然后,当我们真的想要一个真正的实时视频供稿时,只需停止ffmpeg并通过运行ffmpeg的计算机(例如来自带有视频供稿的工作室)或手机或平板电脑上的OSBroadcaster从我们的实时位置流式传输;或者真正可以通过RTMP流式传输视频的任何软件或应用程序。

您可以使用一些PHP后端自动完成所有这些操作,因此预先录制的内容会自动存储在服务器上(Nginx-RTMP也可以记录您的流)并显示在HTML5视频元素的适当页面中,或者基于闪存的视频播放器或两者兼而有之。而实时供稿实际上是直播时,您可以让PHP在显示实时流的页面上显示一个播放器窗口。

这当然是过度简化了,但希望你能感觉它是如何工作的。

有关Nginx-RTMP模块的更多信息,另请参阅How to set up your own private RTMP server using nginx

至于相机,它完全取决于情况,这是一个完整的其他舞台。你可以使用像网络摄像头,或通过RTMP流式传输的平板电脑/智能手机,或者专业相机,将其送入运行RTMP客户端流媒体(如ffmpeg)的计算机(我认为VLC也可以)。或Teradek和其他一些公司做一些小的硬盒(Teradek Vidiu),您可以在视频输入插头,他们将编码和流式传输到您指定的任何服务器上的视频通过RTMP。

的带宽取决于很多因素:你有多少观众有,视频质量和分辨率,以及有多少并发数据流需要支持(来自不同位置的多个实时视频流等)

你上传带宽(摄像头到流媒体服务器)的范围可以从100kbps左右到几Mbps,具体取决于视频的要求。为了给你一个典型的例子不过,如果你以每秒24-30帧的流标清视频,有一个良好的编解码H.264一样,你可以期待一个体面的质量流拿起身边400-700kbps。它可以有很大的不同,但这是一个很好的起点。如果您发送720p30,您可能需要使用约1-1.5Mbps左右。 1080p30,也许1.5-3Mbps,UHD,5-6Mbps。但就像我说过的,您的比特率选择会根据您的质量需求而有所不同。

然后你流出来的东西,你这是要支持,添加一个用于上载流的观众人数乘以这个速度,你有你的总带宽需要。还有其他的事情需要考虑,但你有自己的出发点。