将音频从浏览器流式传输到WebRTC本机C++应用程序
stream audio from browser to WebRTC native C++ application
我管理运行WebRTC对等连接示例,但它没有在浏览器上运行。 我正在尝试找到一种方法将视频和音频从浏览器流式传输到我的本机程序。
有什么办法吗?
这是可以做到的。WebRTC被设计为在两个WebRTC代理(通常是Web浏览器(之间以点对点的方式工作。您的本机程序需要成为第二个对等方。
如果您需要依赖开源组件,一个好的起点是:
- 用于 DTLS 密钥交换的 OpenSSL。
- libsrtp 来加密 RTP 数据包。
- ffmpeg 从浏览器解码 PCM 音频(如果需要制作视频,则为 libvpx(。
您还需要处理需要处理 STUN 消息的 ICE 协商。还要从 RTP 数据包中提取媒体有效负载。所有这些步骤也是在确定在应用和浏览器之间交换 SDP 选件和答案的信令方法之后进行的。
正如您可能已经意识到的那样,从头开始是一项艰巨的任务。可能有一些商业图书馆可以完成这项工作并为您节省很多痛苦。
如果这并没有吓到你,并且你仍然想尝试使用开源组件,那么这个例子"可能"有帮助。该示例执行的操作与您提出的要求相反,而是将视频流发送到 Chrome,而不是接收音频流。有用的方面是连接协商。示例程序能够使RTP数据包流动,这通常是主要问题。
该示例还使用特定于Windows的Windows Media Foundation。它还具有许多快捷方式,特别是RTP和STUN数据包处理。
相关文章:
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 无法将标准库导入本机 android 项目中的头文件
- 使用本机 C++ 应用程序中的 C# 代码
- 在nodejs中使用本机代码的最佳方法是什么?
- 如何告诉本机节点模块所需的dll存储在哪里?
- 在自定义程序中使用本机 Windows 自然顺序排序
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- MS 本机单元测试 - 断言::线程失败不起作用
- 将音频从浏览器流式传输到WebRTC本机C++应用程序
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- C++/CLI 混合托管/本机 DLL 不起作用
- WebRTC本机,AdiotrackSinkInterface添加到轨道上,但从未召集过ondata
- 它是否需要为webrtc本机应用程序中的每个对等体提供单独的rtc::Runnable线程和PeerConnection
- 将H.264支持添加到本机WebRTC
- 正在接收来自C++本机Windows应用程序的WebRTC调用