快捷搜索:  汽车  科技

webrtc如何实现音通信(4.0如何使用WebRTC音通话)

webrtc如何实现音通信(4.0如何使用WebRTC音通话)git checkout v4.0.84#使⽤当前最新的v4.0.84版本选择当前最新的release版本4.0git clone https://github.com/ossrs/srs.git srs.4.0.84cd srs.4.0.84

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(1)

需要相关学习资料的可以后台私信:资料:一起学习哦

WebRTC时代来临

所有主要的浏览器的兼容
WebRTC现在得到了所有主要浏览器的支持和采用 包括谷歌chrome、苹果Safari、Mozilla Firefox、QQ浏览器、
IE支不支持webrtc?
威胁传统音视频提供商 声网(跨国 跨印度)即构科技、融云
一波新的会议供应商正在使用WebRTC技术来勇闯互联网 对传统音视频提供商给予了致命的一击。
WebRTC可靠性和易用性(声网在web端调用的是标准的API (WebRTC api) w3c)WebRTC通过web浏览器普及会议体验 支持点击开始 并消除了额外软件的麻烦从而使这种体验成为可能

1 安装和测试SRS流媒体服务器

1.1 安装SRS流媒体服务器

SRS官⽹:http://www.ossrs.net/ github源:https://github.com/ossrs/srs.git

选择当前最新的release版本4.0

第⼀步,获取SRS

git clone https://github.com/ossrs/srs.git srs.4.0.84

cd srs.4.0.84

#使⽤当前最新的v4.0.84版本

git checkout v4.0.84

cd trunk

建议⼤家也先⽤ v4.0.84版本,因为我们课程后续的源码分析以此版本进⾏讲解

第⼆步,编译SRS。详细参考Build

./configure --with-gb28181 && make

配置⽀持常⻅的协议:rtmp/HLS/RTMP/GB28181/WebRTC

更多的配置信息参考:trunk/auto/options.sh ⽂件。

第三步,查看SRS配置⽂件。详细参考RTMP分发 配置⽂件在trunk/conf⽬录,服务器启动时指定该配置⽂件(srs的conf⽂件夹有该⽂件)。 我们这⾥先使⽤srs.conf,⽀持rtmp推流,⽀持rtmp、hls、http-flv拉流。

对应配置的解析可以参考full.conf⽂件

这⾥的端⼝

1935端⼝对应的是rtmp服务

1985对应的是http api服务,进⼀步学习:https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi 8080对应的是http-flv、hls的服务器端⼝ 云服务器⼀定要在后台开放对应的端⼝。

第四步,启动SRS。由于时间问题 不详情介绍了 后台私信“资料:免费领取

第五步,查看⽇志详 、

测试SRS流媒体服务器

第六步,启动推流编码器。

第七步,观看RTMP/HLS/HTTP-FLV流

可以使⽤VLC观看。 或者使⽤在线SRS播放器播放:srs-player

使⽤OBS推流

ffmpeg的命令⾏⽅式不太友好,推荐使⽤主流的OBS开源推流软件,可从官⽹https://obsproject.com/

⽂件推流

先添加⼀个:“媒体源”

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(2)

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(3)

2-SRS 4.0配置支持控制台信息

防止伸手党 后台私信:资料:免费领取 一起学习

3-SRS 4.0配置支持WebRTC直播

1 启动⽀持rtc的srs服务

webrtc是默认⽀持的(--rtc=on),所以我们不需要重新编译:

我们直接使⽤默认的rtc配置(conf/rtc.conf)跑起来:

cd srs-4.0.84/trunk ./objs -c conf/rtc.conf

默认rtc.conf配置如下

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(4)

防止伸手党 后台私信:资料:免费领取 一起学习

WebRTC拉流演示

我们通过RTMP进⾏推流,然后通过WebRTC进⾏拉流。

推送RTMP视频

这⾥采⽤ffmpeg命令进⾏推流

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(5)

WebRTC拉流播放

推送流成功之后,使⽤srs⾃带的rtc_player播放器进⾏播放,直接请求srs服务的8080端⼝即 可

http://114.215.169.66:8080/players/rtc_player.html

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(6)

WebRTC推流

因为我们现在使⽤使⽤ip地址进⾏测试,没有使⽤https 域名的⽅式,所以在使⽤WebRTC时需要修改 Chrome的启动参数。

在使⽤Chrome浏览器推流时会报:TypeError: Cannot read property 'getUserMedia' of undefined 错误,这个错误主要是https证书问题。

解决办法:先把chrome完全退出,右击桌⾯上chrome的快捷键,点击属性,在⽬标⼀栏添加如下内容, 记着有个英⽂空格,IP换成⾃⼰的。

在⽬标加上以下参数(IP地址换成⾃⼰的):

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(7)

WebRTC拉流播放

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(8)

总结;音视频通话原理

关注 后台私信;资料;两个字可以免费领取 资料内容包括:C/C ,Linux,golang Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,嵌入式 等。。。
媒体协商-offer、answer sdp音视频编解码能力沟通、怎么网络传输数据、如何发现对方

webrtc如何实现音通信(4.0如何使用WebRTC音通话)(9)

猜您喜欢: