如何使用HTML5直播,没有Flash?

时间:2015-07-11 09:18:57

标签: php html5 webrtc live-streaming wowza

问题:我需要我的客户能够将他们的网络摄像头流式传输到我的流媒体服务器(例如Wowza服务器)。我正在用PHP构建我的网站。 我经历了各种流媒体网站,如twitch.tv,livestream.com,发现他们都使用第三方广播软件,如Wirecast,XSplit广播公司,OBS等,将网络摄像头信息流传输到服务器。 然后我遇到了使用WebRTC进行视频聊天的vLineOpentokrtc等网站。

我的问题:所以,我的问题是,我是否可以将流发送到Wowza等广播服务器(以便他们可以广播我的直播流)而无需使用广播软件只有WebRTC?如果是,那怎么样?如果,不,那么其他选择是什么?

PS。我不想在这里使用Flash,ActionScript。

4 个答案:

答案 0 :(得分:2)

您基本上需要一个集成了伪WebRTC客户端的服务器。 WebRTC可以获取流,但在设置PeerConnection之前无法启动流。您可以尝试使用各种服务器/网关,例如JanusKurentoLicodeFreeSwitch等。

WebRTC生成的MediaStream也可以直接附加到HTML5 <video>标记。

答案 1 :(得分:2)

将WebRTC用于此类用例会导致服务器端的计算成本很高,这是一种相当新的技术,这意味着如果您知道自己在做什么,就应该使用它。

我的建议是坚持使用Flash或MPEG-DASH - 除非您需要的内容必须具有非常低的延迟,并且您可以通过较小的解决方案来支付它。

答案 2 :(得分:1)

除非我误解,否则我认为您希望将视频流式传输到您的服务器(使用&#34;普通&#34;直播机制进行分发),而不是使用WebRTC从服务器流式传输视频

如果是这样,WebRTC将起作用,尽管您需要服务器端实现一套相当完整的WebRTC协议,包括视频解码。这些存在,但当然不是直接在PHP中。这将处理从客户端获取实时音频和视频,而无需客户端上的插件,包括带宽适应和纠错。

在服务器上解码数据后,您就可以将视频+音频数据流输入到直播编码器中进行流式传输。

答案 3 :(得分:1)

Wowza确实支持您在WebRTC场景中成为其他同伴所需的内容。从那里,您可以以媒体服务器通常所做的任何方式重新分发流。

此功能仍处于“预览”模式并且有一些限制,但在大多数情况下都能正常运行。您可以通过https://www.wowza.com/products/capabilities/webrtc-streaming-software

请求访问此权限