怎么使用 smart_rtmpd 的纯 webrtc 功能?

28 篇文章 24 订阅
27 篇文章 3 订阅

1. 为什么叫纯 webrtc ?

我们知道 smart_rtmpd 的扩展版本叫 smart_webrtc ,已经支持 webrtc 功能;不过这里 webrtc 的功能只是指的通过 rtmp, rtsp, srt 协议进行推流,smart_webrtc 通过媒体层的转码把视频 video( h264 ---> vp8 ) 和音频 audio ( aac ---> opus ) 实现的此功能,目前仅支持 webrtc 方式的 H5 拉流。

这里的纯 webrtc 功能,就是单纯的 webrtc 功能,和现有的 smart_rtmpd 的功能是并行的,之间没有任何交互,不存在互通的情况及转码的情况。也就是说 rtmp, rtsp, srt 它们之间是相互转换的,而纯 webrtc 和它们之间没有任何联系包括信令和媒体数据。

2. 纯 webrtc 有那些优点?

纯 webrtc 功能,全部是通过网页实现的,只要浏览器版本支持 webrtc 功能,就可以满足您的要求,在此基础上进一步实现您的需求。这样大大的适配几乎所有的设备,兼容性问题,环境引起的问题几乎不再存在障碍!!!

纯 webrtc 部署比较方便,只要配置好 smart_rtmpd ,点击运行即可,前端只需打开浏览器输入网址即可,就可以满足您所有的需求了。这样大大简化您各种配置的烦恼,兼容性的问题,环境设置问题,统统扔一边去。

3. 纯 webrtc 具有那些功能?

账号登录,在线列表/用户查找 ,

点对点业务

消息对聊, 对等端音视频 (webrtc p2p)

聊天室业务

聊天室列表,聊天室查找,聊天室进入, 聊天室用户列表, 聊天室用户上下线通知, 用户秀列表,用户上下秀通知, 聊天室群聊,聊天室音视频 ( webrtc sfu )

4.  怎么使用 smart_rtmpd 的纯 webrtc 功能

4.1 制作证书

为什么需要制作证书,一般浏览器打开音视频设备,需要 https 的链接才有权限执行。因此我们需要制作证书,才能通过 https 的方式访问 smart_rtmpd 的内部的 http 服务器。这样后续通过网页打开音视频设备才不会有问题。

如果您有正规的证书,就可以忽略 4.1 章节。您知道证书是需要花银子的,大部分测试和验证过程是没有证书的,下面我就教教您怎么产生证书。

在这里使用了mkcert生成证书,需要到github下载,

Releases · FiloSottile/mkcert · GitHub

我们一般选择  mkcert-xxx-windows-amd64.exe 下载到本地改名为 mkcert.exe。

4.1.1

在命令行 ( win + r 热键弹出运行对话框,输入 cmd 即可进入 ) 内,切换到 mkcert.exe 所在的目录

4.1.2 

假设您的 smart_rtmpd 服务器的运行地址为 192.168.1.1,我们这里虚拟一个网址为 www.smartrtmpd.com 的网址, 那么我们输入

mkcert.exe www.smartrtmpd.com  192.168.1.1

那么对应的目录下,就会产生对应的私钥和证书,基本类似于www.smartrtmpd.com+1-key.pem, www.smartrtmpd.com+1.pem 这种格式,我们分别改名为 server.key 和 server.crt,注意千万不要弄错,带 key 的是私钥,不带 key 的是证书。

4.1.3 

安装证书到本地,不要问我为什么,按下面的执行即可

mkcert.exe -install

4.1.4 

修改本地dns(c:\windows\system32\drivers\etc\hosts)文件,添加下面语句到此文件内。

192.168.1.1 www.smartrtmpd.com

注意,您在那个机器上验证 smart_rtmpd 的功能,都需要加上这个配置,这句话的目的就是告诉机器, www.smartrtmpd.com 这个域名的地址是 192.168.1.1 , 也就是 smart_rtmpd 服务器运行的地址。

4.2 配置 smart_rtmpd 服务器

把上述所产生的证书和私钥,拷贝到 smart_rtmpd ( 服务器 192.168.1.1 ) 的目录下,下面的操作是在 smart_rtmpd 运行的 192.168.1.1 上,不是您产生证书的机器,打开配置文件 config.xml

- <ssl>
  <serverca /> 
  <serverkey>server.key</serverkey> 
  <servercert>server.crt</servercert> 

  <clientca /> 
  <clientkey /> 
  <clientcert /> 
  </ssl>

- <http>
  <ip /> 
  <port>8080</port> 
  <sport>8181</sport> 
  <ssl>true</ssl> 

配置证书路径,开启 http 服务器的 ssl 及配置端口,如果没有别的需求,启动 smart_rtmpd 服务器即可

4.3 运行纯 webrtc

在刚才您配置 hosts 文件的客户机机器上浏览器地址栏输入

https://www.smartrtmpd.com:8181/webrtc.html

效果图如下:

千万看清楚是 https ,这样就能看到对应的 webrtc 操作界面了

5.  怎么使用自己的域名和地址

 如果您有自己的正规证书,那么首先按上面的服务器配置配置好,启动服务器。服务器正常启动后,服务器端工作基本完成。

下面需要您需要编辑服务器目录 html 里面的 webrtc.html 文件了,打开文件进行编辑,搜索下面的关键字

wss://www.smartrtmpd.com:8181/webrtc/socket

比如您的域名为 www.qiyicc.com:8181 ,您就修改为

wss://www.qiyicc.com:8181/webrtc/socket

只需要修改域名地址和端口即可,别的不能随便更改。然后在客户机的浏览器内输入

https://www.qiyicc.com:8181/webrtc.html

就可以看到效果了。

6. 额外功能

用演示环境浏览器地址输入下面网址

http://www.smartrtmpd.com:8080/player.html 

就会体验到 smart_rtmpd 的另外一个强大的功能了,就是 h5 的,直播,录像及 VOD 功能了!不要忘记修改后台 player.html 里面的地址为你们服务器的地址。如果界面感觉不漂亮,则自行编辑 html 文件即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值