我有一个客户的要求是,他想要一个网站,将能够流通过搜索上传的视频。而最苛刻的要求是,他们有某些活动举行每周,他们希望这些活动覆盖和记录在摄像机上,这个视频应该是可见的网站直播。
我知道如何用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.请给我解释一下实现的方法。
发布于 2012-07-10 13:07:45
尝试使用HTML5网络摄像头捕获功能。
它在Google IO期间被突出显示。
我认为你需要在谷歌上搜索这个方法。我还没有真正使用过它。
发布于 2016-01-03 06:52:57
作为Red5的替代方案,Nginx-RTMP模块可能更适合您正在尝试做的事情。https://github.com/arut/nginx-rtmp-module如果你目前正在使用或者可以使用Nginx,这个模块很容易配置和使用。它可以接受RTMP上的实时视频,并将其提供给JWplayer等基于flash的播放器,同时创建HTTP live流,以便在苹果设备(以及ROKU等其他设备)上播放。
我已经在几台服务器上设置了它,并且对结果非常满意。它接受RTMP上的视频,而且做得很好。
对于Nginx-RTMP,我使用运行ffmpeg的脚本将预先录制的文件“实时”传输到服务器。然后,当我们真的想要有一个真正的实时视频源时,只需停止ffmpeg,从我们的现场使用运行ffmpeg的计算机(就像是从具有视频源的演播室),或者使用手机或平板电脑上的OSBroadcaster,或者任何可以通过RTMP传输视频的软件或应用程序。
你可以用一些PHP后端自动化所有这些,这样你预先录制的素材就会自动存储在服务器上(Nginx-RTMP也可以录制你的流),并在HTML5视频元素或基于flash的视频播放器中显示在适当的页面上,或者两者兼而有之。当实况提要是实况时,您可以让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.5 may。1080p30,可能是1.5-3 6Mbps,超高清,5-6 6Mbps。但就像我说的,你选择的比特率会根据你的质量需求而有所不同。
然后,您流出的内容,您可以将该速率乘以您希望支持的观众数量,再为您的上传流添加一个,您就得到了所需的总带宽。还有其他事情需要考虑,但你有你的起点。
发布于 2012-09-02 01:47:21
我做了很多研究,发现我们必须使用闪存类型的服务器。为此,我们有两个选择: RED5和闪存。RED5是开源的,而闪存不是免费的。对于这样的网络广播,我们需要这样的服务器安装,然后使用适当的api和嵌入flash播放器到您的网页。这些特殊的服务器是必需的,因为我们需要在不刷新页面的情况下处理请求,然后动态加载内容。
https://stackoverflow.com/questions/11406558
复制相似问题