0

简短版本:
我需要一个浏览器内的解决方案来将网络摄像头和麦克风流传送到服务器。

长版:
我正在尝试创建一个实时流媒体应用程序。到目前为止,我只设法弄清楚了这个工作流程:

  1. 客户端创建流(这里可能需要一些转码器)
  2. 客户端向服务器发送(发布?)流(基本上托管RTMP我的服务器应该可以访问的 /other 流)
  3. 服务器转码、转码等,并将流发布到 CDN
  4. 观众观看发布的流

理想情况下,我想要一个基于浏览器的解决方案,该解决方案需要从客户端进行最少的设置(可能可以接受 Flash 插件下载)并将网络摄像头和麦克风输入流式传输到服务器。我要么不知道确切的关键字,要么正在寻找错误的东西,但我找不到合适的解决方案。

涉及使用ffmpegvlc发布流的解决方案并不是我真正想要的,因为它们需要额外的下载和设置,并且不仅限于网络摄像头和麦克风输入。WebRTC可能不会提供相同的质量,但如果一切都失败了,我认为它可以完成工作,至少对于某些浏览器而言。

我正在使用 Ubuntu 进行开发,并且刚刚激活了 Wowza 流媒体服务器和云的试用许可证。

ffmpeg/vlc等。人。唯一的出路?或者有什么东西可以在单个浏览器选项卡中完成这项工作?

4

1 回答 1

1

如果你顺其自然RTMP,Adobe Flash Player 直接支持H.264 编码。由于您提到了 Wowza,您可以在目录中找到示例和完整的源代码(包括flaexamples。这里还有一个演示。还有许多其他开源 Flash 捕获插件。

您也可以在没有 Wowza 的情况下使用上述闪存记录器。在这种情况下,您将需要一个RTMP服务器,一个值得注意的例子是Nginx RTMP 模块,它支持录制 (to flv) 并提供回调,允许您在录制完成后启动转码。

WebRTC您可以使用( getUserMedia, ) 记录小型媒体块并将它们发送到服务器,在那里它们将被连接或使用( )MediaStreamRecorder的点对点通信功能。有关详细概述,请参见我的答案WebRTCRTCPeerConnection

在这两种情况下,您都会遇到不支持Flashor的设备/浏览器的问题WebRTC,例如。iPhone、Safari。PlusgetUserMedia不会在所有浏览器中捕获相同的格式:Firefox 音频/视频输入WebM和 Chrome 音频输入wav和视频输入WebM

对于移动设备,您可能必须编写应用程序。

于 2015-09-28T08:26:22.993 回答