当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

Pion WebRTC是纯Go语言实现的WebRTC框架库。可以用于开发WebRTC服务器和WebRTC客户端。API接口与JavaScript类似,减少学习成本。在TSINGSEE青犀视频研究pion的示例中,只有视频流,因此拉流肯定也会只拉到视频流,而不会有音频流。那如何添加音频流,并在浏览器播放出来?本文研究一下实现方法。

由于pion示例没有音频流,因此要使用webrtc pion将音频流添加进去,需要修改的地方是webrtc pion的go服务,将音频流添加进去。我们先从Go服务端到浏览器端进行一次逻辑流程的分析。

一、Go服务的修改

1、pion添加的视频流如下:

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

所以需要在此处在添加个音频流。

2、pion接收的视频流,并添加个变量保存:

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

此处需再添加个变量把音频轨道保存。

3、拉流添加轨道:

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

以上go端的修改就完成了,下面进行浏览器端的修改。浏览器虽然比较简单,但是也需要进行修改。

二、浏览器端的修改

1、向WebRTC Go服务推流,需要修改参数:

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

2、拉取WebRTC的流,需要添加音频:

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

至此两个端的分析就已完毕,目前就可以大致知道对两个端如何修改了,具体修改内容则如下:

1、修改Go服务端

1)添加音频

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

2)保存音频的流

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

3)拉流的时候,需要额外添加音频轨道

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

2、浏览器修改或添加

1)向WebRTC推流

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

2)拉取WebRTC流

当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?

© 版权声明

相关文章