如何将音频流从网页发送到C ++服务器?

时间:2018-01-17 17:24:15

标签: javascript c++ audio webserver

我正在处理一个项目,我需要将一个音频流从网页(通过javascript)发送到用C ++编写的服务器。这可能吗?我怎样才能做到这一点?我在考虑使用WebRTCWebRTC library for C++,但我真的不知道如何实现这一目标。

一般来说,我需要一些C ++中的网络服务器之王,它允许我发送/接收音频流和json,并与多个Web客户端一起工作。

我曾经使用过Socket.io,一旦我在Java EE 7中编写了一个网络服务器,那些我能够从网页上发送/接收json,但我真的不知道我是否可以通过websocket或json。

1 个答案:

答案 0 :(得分:2)

问题(或回答问题的实现)实际上由两部分组成,即:

  • 如何在Javascript中从浏览器发送音频流
  • 如何在服务器上接收C / C ++中的音频流

这是因为当他们使用相同的协议时,通过网络发送数据只会松散地耦合客户端和服务器。您可以用C ++编写服务器,然后编写两个与之通信的客户端,一个用Javascript编写,另一个用Java编写的桌面应用程序。

客户端的Javascript

对于客户端,在Javascript中从浏览器发送音频应遵循WebRTC可用的普通库; WebRTC网站提供了一些有用的信息,包括此处的视频流示例(https://webrtc.github.io/samples/

该页面可能感兴趣的一些链接:

  1. 仅限音频的getUserMedia()输出到本地音频元素
  2. 从视频元素流式传输到视频元素
  3. 关于WebRTC和javascript中的音频,已经有一些StackOverflow答案,这里有几个,这些(和库)将比关于该主题的C ++问题更丰富:

    1. Sending video and audio stream to server
    2. Sending a MediaStream to host Server with WebRTC after it is captured by getUserMedia
    3. 对于C ++服务器:

      WebRTC站点在这里有一个指向库的Native API的链接(https://webrtc.org/native-code/native-apis/),这里是一个使用它们的对等连接WebRTC服务器的一个很好的简单示例(https://webrtc.googlesource.com/src/+/master/examples/peerconnection)。它还有一个C ++客户端的实现,它可以帮助测试服务器以使其首先工作,或者查看一般原则。