Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将音频从浏览器传输到WebRTC本机C++;应用_C++_Webrtc - Fatal编程技术网

C++ 将音频从浏览器传输到WebRTC本机C++;应用

C++ 将音频从浏览器传输到WebRTC本机C++;应用,c++,webrtc,C++,Webrtc,我设法运行WebRTC peerconnection示例,但它没有在浏览器上运行。 我正试图找到一种方法,将视频和音频从浏览器传输到我的本地程序 有什么办法吗?这是可以做到的。WebRTC设计为在两个WebRTC代理(通常是Web浏览器)之间以对等方式工作。您的本地程序需要成为第二个对等程序 如果您需要依赖开源组件,一个好的起点是: DTLS密钥交换的OpenSSL libsrtp加密RTP数据包 ffmpeg解码来自浏览器的PCM音频(如果需要视频,请使用libvpx) 您还需要处理ICE

我设法运行WebRTC peerconnection示例,但它没有在浏览器上运行。 我正试图找到一种方法,将视频和音频从浏览器传输到我的本地程序


有什么办法吗?

这是可以做到的。WebRTC设计为在两个WebRTC代理(通常是Web浏览器)之间以对等方式工作。您的本地程序需要成为第二个对等程序

如果您需要依赖开源组件,一个好的起点是:

  • DTLS密钥交换的OpenSSL
  • libsrtp加密RTP数据包
  • ffmpeg解码来自浏览器的PCM音频(如果需要视频,请使用libvpx)
您还需要处理ICE协商,这需要处理眩晕消息。还从RTP数据包中提取媒体有效负载。所有这些步骤都是在您确定了在应用程序和浏览器之间交换SDP提供和应答的信令方法之后进行的

正如你可能已经意识到的那样,从头开始是一项重要任务。可能会有一些商业图书馆来做这项工作,为你省去很多痛苦

如果这并没有吓倒你,而且你仍然想尝试使用开源组件,这“可能”会有帮助。该示例与您的要求相反,它向Chrome发送视频流,而不是接收音频流。有用的方面是连接协商。示例程序能够获得RTP数据包流,这通常是主要问题

示例还使用Windows特定于Windows的MediaFoundation。它还有很多快捷方式,尤其是RTP和STUN数据包处理