google-chrome - Chrome native 消息传递: can I stream a MediaStream to a native program?

标签 google-chrome google-chrome-extension webrtc chrome-native-messaging

我正在编写一个 Web 应用程序,需要在主机窗口系统中显示 native 窗口。该窗口必须显示正在流式传输到 Web 应用程序的视频。

我为 OS X 编写了一个 native 程序,它以我需要的方式显示视频,并且在 Web 应用程序中我有一个通过 WebRTC 发送的 MediaStream。我需要将它们连接在一起。

我想使用 Chrome 的 native 消息传递,它可以让我将 JSON 对象流式传输到 native 程序。如果我可以从 MediaStream 访问原始数据流,我应该能够将其转换为 JSON 对象,将它们流式传输到 native 应用程序,在那里我可以重建原始视频流。

这样的事情可能吗?

最佳答案

如果可能,我强烈建议在您的 native 应用程序中实现 WebRTC 媒体服务器,并直接在浏览器的 WebRTC API 和您的服务器之间进行通信。其他任何事情都有更多的开销。

例如,要从 MediaSource 转到 native 消息传递,您需要一种方法将 MediaSource 中的音频和视频源序列化为字节序列,然后通过 native 消息传递 channel 将其发送(将通过以下方式进行 JSON 编码)浏览器,然后由您的 native 应用程序进行 JSON 解码)。

这听起来非常低效,而且可能确实如此,因此您最好在 native 应用程序中实现 WebRTC 媒体服务器以获得一些合理的性能。

关于google-chrome - Chrome native 消息传递: can I stream a MediaStream to a native program?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34569765/

相关文章:

google-chrome-extension - 如何从本地主机读取 cookie?

webrtc 视频流停止共享

javascript - 如何合并两个音频文件 - JavaScript?

javascript - 在 chrome 中打印嵌入的 PDF

html - 溢出-x :hidden; in Chrome & Firefox 的问题

javascript - 跨域 AJAX GET Chrome 扩展不起作用!

google-chrome-extension - 我可以使用 UDN 作为 chromecast 的唯一 ID

android - 无法在 Android Studio 中解析符号 webrtc

google-chrome - 在Chrome中播放WAV文件失败

css - 在 Chrome 中,具有不断变化的可见性的元素上的 CSS3 动画仅在隐藏时播放