大疆上云之SRS视频流服务配置
✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨
这里有:
- 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
- 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
- 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!
👉 点击直达→ 盹猫猫的个人小站 👈
🌟 来逛逛吧,说不定能挖到你正在找的技术宝藏哦~
目录
前言
环境准备
安装运行SRS服务
持久化配置文件
重新启动
文件配置
页面访问
Nginx映射
欢迎来到 盹猫(>^ω^<)的博客
本篇文章主要介绍了
[大疆上云之SRS视频流服务配置]
❤博主广交技术好友,喜欢文章的可以关注一下❤
前言
近期需要进行大疆上云的SRS服务部署操作,完成从RTMP视频流到WebRtc视频流的转换操作,同时进行了Https服务配置,配置期间遇到了很多错误,在这里对配置流程进行记录,方便之后相关功能实现的查阅.
环境准备
这里使用docker进行部署,首先需要保证相关配置可以被持久化,而不是重复配置,所以主要配置文件需要映射到本地,使用以下方式进行安装:
安装运行SRS服务
使用以下命令进行安装:
docker run --name srs_dji -it -p 7935:7935 -p 1985:1985 -p 8899:8899 -p 8000:8000/udp registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5 ./objs/srs -c conf/rtmp2rtc.conf
这里配置的端口信息如下:
- 7935: RTMP协议端口
- 1985: WebRtc信令服务端口
- 8899: SRS的web控制台端口
- 8000: WebRtc视频流服务接口
注:如果是在公网配置,则上述端口需要进行开放,1985和8899端口可以使用nginx做映射.
持久化配置文件
我们需要进行配置服务的持久化操作,SRS服务的配置文件默认放在:
/usr/local/srs/conf/
所以这里先将配置文件COPY到本地,以作为路径映射基础:
docker cp srs_dji:/usr/local/srs/conf/ ./srs_config/
使用上述命令将运行中的服务文件夹下的配置文件进行到本地的srs_config文件夹内.
重新启动
需要进行服务的重新启动,以实现服务配置的持久化:
docker run --name srs_dji -it -p 7935:7935 -p 1985:1985 -p 8899:8899 -p 8000:8000/udp -v $(pwd)/srs_config/conf:/usr/local/srs/conf registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5 ./objs/srs -c conf/rtmp2rtc.conf
这里使用-v命令将Docker容器内的配置文件映到本地,即使用本地的配置进行启动,后续都会使用该命令作为服务重启命令.
文件配置
# RTMP视频流端口
listen 7935;
max_connections 1000;
daemon off;
srs_log_tank console;http_server {enabled on;# 管理页面端口listen 8899;dir ./objs/nginx/html;
}http_api {enabled on;#RTC信令服务配置listen 1985;
}
stats {network 0;
}rtc_server {enabled on;#RTC服务配置listen 8000; # UDP port# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidatecandidate 127.0.0.1;
}vhost __defaultVhost__ {rtc {enabled on;# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtcrtmp_to_rtc on;# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmprtc_to_rtmp on;}http_remux {enabled on;mount [vhost]/[app]/[stream].flv;}tcp_nodelay on;min_latency on;play {gop_cache off;queue_length 10;mw_latency 100;}publish {mr off;}
}
编辑本地问价夹内/srs_config/config/rtmp2rtc.conf配置文件,如上面的配置(需要和运行时开放的端口一致,但不是必须固定).配置完成后重新启动SRS服务.
页面访问
在浏览器中访问http://{你的IP地址}:8899进行访问显示下面的界面表示服务正在运行.
可以根据教程进行推流测试,测试服务是否正常运行.
Nginx映射
如果是公网访问,则webrtc信令服务端口需要使用Https协议放在,可以在nginx的配置文件中进行如下配置映射到信令服务端口:
server {listen 8000 ssl;server_name 域名;# SSL证书配置(请替换为实际路径)ssl_certificate /root/ssl/证书.pem;ssl_certificate_key /root/ssl/证书.key;# SSL优化配置ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;# 处理 OPTIONS 预检请求location / {proxy_pass http://127.0.0.1:1985;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 60s;proxy_read_timeout 60s;proxy_send_timeout 60s;}}
上面就是所有配置信息了,如果内容对你有帮助,麻烦留一个赞👍和收藏⭐支持一下!
如果你对区块链内容感兴趣可以查看我的专栏:小试牛刀-区块链
感谢您的关注和收藏!!!!!!