广告网站建设网,软件开发做网站,怎么上国外网站,深色大气网站模板前言
若只是实现一对一通信#xff0c;仅使用webrtc就足够了。但有时间需要进行多个人的直播会议#xff0c;当人比较多时#xff0c;建议使用一个流媒体服务器#xff0c;笔者使用的是SRS。
这个开源项目资料比较全#xff0c;笔者仅在此记录下搭建过程
一、准备
1.操…前言
若只是实现一对一通信仅使用webrtc就足够了。但有时间需要进行多个人的直播会议当人比较多时建议使用一个流媒体服务器笔者使用的是SRS。
这个开源项目资料比较全笔者仅在此记录下搭建过程
一、准备
1.操作系统ubuntu22.04 64位 x86架构建议更新到最新
2.安装编译器相关执行如下命令
sudo apt-get install build-essential
二、获取源码并编译
源码下载
git clone -b develop https://gitee.com/ossrs/srs.git
注意 建议使用国内的代码库下载速度快一些
切换到srs/trunk目录并编译
cd srs/trunk
./configure --ffmpeg-opuson
make 注音频编码需要支持opus所以记得需要添加ffmpeg-opus选项
若是需要播放网络摄像头的画面建议使用如下编译选项
cd srs/trunk
./configure --gb28181on --ffmpeg-opuson
make
注摄像头推流建议使用gb28181视频选择x264编码音频选择AAC编译
三、 设置配置文件并启动服务
编译完成后在conf目录下有多个配置文件即可以直接使用也可以修改或创建新的配置文件
笔者为方便测试参考https.rtc.conf和push.gb28181.conf两个配置合并成https.push.gb28181.conf以方便测试
说明
1.使用SRS的web端推流需要使用https协助的接口相关配置在https.rtc.conf中
2.播放网络摄像头的视频流相关配置在push.gb28181.conf中 准备好配置文件后就可以启动SRS服务器了执行如下命令
CANDIDATE192.168.1.10
./objs/srs -c conf/https.push.gb28181.conf
若是在公网测试CANDIDATE的地址设置成公网IP
若是在本地测试CANDIDATE的地址设置成服务器网卡的IP
检查SRS是否成功启动可以打开 http://192.168.1.10:8080或者执行命令
# 查看SRS的状态
./etc/init.d/srs status# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
四、推拉流测试
访问http://192.168.1.0:8080或https://192.168.1.0:8088
如下所示 可以通过SRS控制台查看相关流信息 进行SRS播放器可以查看流信息 需要注意的是若使用非默认端口的需要手工修改下对应的端口如下图所示 注若需要web推流测试且SRS没有安装在本地需要使用https协议的接口 笔者测试项目如下
1.web推流web拉流播放
2.gb28181推流web拉流播放
3.webrtc native推流web拉流播放
4.web推流,webrtc native拉流播放
5.gb28181推流,webrtc native拉流播放
6.webrtc native推流webrtc native拉流播放
目前各测试项目工作正常
后记
本文档记录的是笔者的测试过程有几点问题笔者强调下
1.webrtc native默认推流使用opus音频编码SRS默认使用AAC音频编码建议在SRS中启用opus音频编码
注每路音频编码AAC转opus都会消耗服务器资源的不要开太多
2.webrtc native默认本地不启用h264编码的需要自己打开相关编译选项部分支持硬件加速的Android设备会启用h264需要在编译时开户软解码。否则SRS默认默认不支持的接口上会返回400错误
3.webrtc默认使用udp传输数据的不建议修改成tcp
4.为测试方便建议关闭浏览器的跨域限制
以谷歌浏览器为例
在浏览器地址栏输入
chrome://flags/#block-insecure-private-network-requests
将Block insecure private network requests.项的Default改为Disabled即可。