Php 如何在没有Flash的情况下使用HTML5直播?
问题:我需要我的客户端能够将他们的网络摄像头传输到我的流媒体服务器(例如Wowza服务器)。我正在用PHP建立我的网站。 我浏览了twitch.tv、livestream.com等各种流媒体网站,发现它们都使用第三方广播软件(如Wirecast、XSplit广播公司、OBS等)将网络摄像头的视频流媒体传送到服务器。 然后我发现了一些网站,比如,使用WebRTC进行视频聊天 我的问题:那么,我的问题是,我是否可以将流发送到像Wowza这样的广播服务器(这样他们就可以广播我的直播流),而无需使用只有WebRTC的广播软件?如果是的话,怎么办?如果没有,那么还有其他选择吗Php 如何在没有Flash的情况下使用HTML5直播?,php,html,webrtc,live-streaming,wowza,Php,Html,Webrtc,Live Streaming,Wowza,问题:我需要我的客户端能够将他们的网络摄像头传输到我的流媒体服务器(例如Wowza服务器)。我正在用PHP建立我的网站。 我浏览了twitch.tv、livestream.com等各种流媒体网站,发现它们都使用第三方广播软件(如Wirecast、XSplit广播公司、OBS等)将网络摄像头的视频流媒体传送到服务器。 然后我发现了一些网站,比如,使用WebRTC进行视频聊天 我的问题:那么,我的问题是,我是否可以将流发送到像Wowza这样的广播服务器(这样他们就可以广播我的直播流),而无需使用只有
另外,我不想在这里使用Flash、ActionScript。您基本上需要一台集成了伪WebRTC客户端的服务器。WebRTC可以获取流,但在设置对等连接之前无法启动流。您可以尝试使用各种服务器/网关,如、等
此外,WebRTC生成的MediaStream可以直接连接到HTML5标签。将WebRTC用于此类用例会在服务器端产生较高的计算成本,这是一种相当新的技术,这意味着如果您知道自己在做什么,就应该使用它
我的建议是坚持使用Flash或MPEG-DASH,除非您需要的东西必须具有非常低的延迟,并且您可以通过较小的解决方案规模进行支付。除非我误解,否则我认为您希望将视频流到服务器(用于使用“正常”实时流媒体机制进行分发),不使用WebRTC从服务器流式传输视频 若是这样,WebRTC将起作用,不过您需要一套相当完整的WebRTC协议(包括视频解码)的服务器端实现。这些都存在,但当然不是直接在PHP中。这将处理从客户端获取实时音频和视频的问题,而不需要客户端上的插件,包括带宽自适应和纠错
一旦数据在服务器上解码,您就有了一个视频+音频数据流,您可以将该数据流馈送到实时流编码器进行流式输出。Wowza确实支持您成为WebRTC场景中的另一个对等方所需的功能。从那里,您可以以媒体服务器通常采用的任何方式重新分发流
此功能仍处于“预览”模式,并有一些限制,但在大多数情况下不起作用。您可以通过请求访问此服务器。这是非常可能的,但您可能需要修改广播服务器。有很多webrtc MCU服务器可以用作webrtc广播服务器(广播服务器是P2P到服务器的,然后侦听器是P2P到服务器的特定提要)。您可以尝试一下kurento media server,计算成本较高的原因是什么?一个好的MCU只需要重新编译控制包,然后重新加密RTP。成本是否比Flash高得多(注意,我对Flash没有经验/知识,只是好奇它是如何降低成本的)?几年后Flash不会被弃用吗?正因为如此,我不想学习ActionScript,当Flash完全被弃用时,这将是一种完全的浪费。我一直在对Kurento和@Benjamin和Understand Geek建议的其他服务器进行研发。对于像我这样的初学者来说,在WebRTC上找到一些好的学习材料真的很难。Flash正在走渡渡鸟的路——只是时间问题。对于流媒体,它的主要替代品是MPEG-DASH和iOS HLS。WebRTC不是为流媒体而设计的,尽管它可以用于流媒体。它的双向性和适应网络的方式使得它不适合这种活动。您知道如何从MediaStream对象获取视频/音频的实际比特流吗。然后,我可以尝试将该位流发送到服务器,不过这只是一个想法。@ParthapratimNeog我认为在浏览器客户端上无法直接访问流内容。这可能是一条很长的路,但可能会有某种结果。然后可以将图像发送到服务器,并在查看客户端画布标记上呈现。然而,请注意,在这种情况下,滞后将是相当大的。