webrtc拉流在srs中的配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webrtc拉流在srs中的配置相关的知识,希望对你有一定的参考价值。
参考技术A 配置文件...
http_api
enabled on;
listen 1985;
stats
network 0;
rtc_server
enabled on;
# Listen at udp://8000
listen 8000;
candidate 192.168.8.97;
vhost __defaultVhost__
rtc
enabled on;
rtmp_to_rtc on;
.....
其实webrtc拉流,需要用到两个端口,一个是1985,一个是8000(udp)
如果在配置文件中1985改成了1986,则
http://192.168.8.97:8080/players/rtc_player.html,中拉流地址:webrtc://192.168.8.97:1986/live/stream
真正的webrtc的流程:
1)、webrtc客户端通过API接口/rtc/v1/play/通知SRS服务端创建WebRTC拉流连接,访问的是以下 http://192.168.8.97:1986/rtc/v1/play/
2)、rtc交互过程,在日志中会有记录,
RTC remote offer: 客户端请求
RTC local answer: ...... udp 2130706431 192.168.8.97 8000 typ host generation 0\r\n
返回给客户端的具体地址与端口号 (8000就是前面配置的端口)
特别注意,在docker中配置,在端口映射时,特别要注意,这个8000端口号,一定要与外网的端口号一样。比如同时改成30049,才能正常拉流。
参考:
https://blog.csdn.net/adkada1/article/details/120590921
https://blog.csdn.net/adkada1/article/details/120590944
https://blog.csdn.net/adkada1/article/details/120590949
安卓基于SRS的Webrtc推拉流
安卓基于SRS的Webrtc推拉流
服务端:SRS (Simple Realtime Server,支持RTMP、HTTP-FLV、HLS、WebRTC)
SRS V4 Webrtc Wiki
推流端:ffmpeg 、 OBS
拉流端:ffplay 、 VLC 、 srs播放器
在线表秒 https://miaobiao.bmcx.com/
本文首发地址:https://blog.csdn.net/CSqingchen/article/details/120830028
最新更新地址:https://gitee.com/chenjim/chenjimblog
Https必须需要域名
- 如果没有域名,用
https://192.*.*.*
访问,会有类似你的连接不是专用连接
提示页面,地址栏也有不安全
提示 - 如果没有域名,出现以上不安全提问,可以在页面空白地方输入 thisisunsafe,或者按页面提示点击,可以继续访问,但是地址栏会有
不安全
提示 - 如果没有域名,出现以上不安全提问,在
EDGE
或者Chrome
启动命令后加 " --test-type --ignore-certificate-errors",可以继续访问,但是地址栏会有不安全
提示 - 终极完美解决方案是配置域名,如果不在意地址栏提示,也是可以直接用IP的,包括后面提到的推拉流
- 本文使用 阿里云域名 ,配置域名
s.h89.cn
指向IP192.168.31.110
, 申请了免费一年有效期证书,下载apache
证书 - 环境变量
~/.bashrc
中添加export CANDIDATE=s.h89.cn
httpx-static 配置 https 代理
webrtc 推拉流失败 80% 是 https 配置的异常
winlin 介绍 httpx-static 配置 SRS Https 代理的 视频@Bilibili
相关总结步骤如下
- 安装
go
sudo apt install golang-go
- 配置Go环境变量,在
.bashrc
添加以下export GOPATH=~/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN
- 下载
httpx-static
go get github.com/ossrs/go-oryx/httpx-static
默认源码在目录$GOPATH/src/
,httpx-static
在目录$GOPATH/bin
配置代理命令
sudo $GOBIN/httpx-static -https 443 -ssk key/s.h89.cn.key -ssc key/s.h89.cn.crt -p http://s.h89.cn:1985/rtc -p http://s.h89.cn:8080
80
、443
端口需要sudo
- 代理
http://s.h89.cn:1985/rtc
为https://s.h89.cn/rtc
- 启动srs
./objs/srs -c conf/rtc.conf
- webrtc推流、拉流
地址webrtc://s.h89.cn/live/livestream
webrtc推流 https://s.h89.cn/players/rtc_publisher.html
webrtc拉流 https://s.h89.cn/players/rtc_player.html
控制台 https 无法连接,需要用 http 地址
基于SRS 配置文件支持 https
- 在
http_server
和http_api
配置https
相关,参考如下listen 1935; max_connections 1000; daemon off; srs_log_tank console; http_server enabled on; listen 8080; dir ./objs/nginx/html; https enabled on; listen 8088; key ./key/s.h89.cn.key; cert ./key/s.h89.cn.crt; http_api enabled on; listen 1985; https enabled on; listen 443; key ./key/s.h89.cn.key; cert ./key/s.h89.cn.crt; stats network 0; rtc_server enabled on; listen 8000; candidate $CANDIDATE; vhost __defaultVhost__ rtc enabled on; rtc_to_rtmp on; http_remux enabled on; mount [vhost]/[app]/[stream].flv; dvr enabled on; dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv; dvr_plan session;
- 启动SRS
用到 443端口,注意加sudo
- webrtc 推流地址
https://s.h89.cn:8088/players/rtc_publisher.html?autostart=true&app=live&stream=camera&server=s.h89.cn&port=8088&vhost=s.h89.cn&schema=https
webrtc 拉流地址
https://s.h89.cn:8088/players/rtc_player.html?autostart=true&app=live&stream=camera&server=s.h89.cn&port=8088&vhost=s.h89.cn&schema=https
控制台地址
https://s.h89.cn:8088/console/ng_index.html#/summaries?port=443&schema=https&host=s.h89.cn
webrtc 地址
webrtc://s.h89.cn/live/camera
Android 推拉webrtc流到srs
Demo示例 https://github.com/shenbengit/WebRTC-SRS
冬季穿短裤 博文传送门如下
其它相关文档
-
安卓webrtc在ubuntu 2004下编译使用
https://blog.csdn.net/CSqingchen/article/details/120016697 -
Android 断点调试 webrtc、 medieasoup
https://blog.csdn.net/CSqingchen/article/details/120156900 -
安卓增加 mediasoup webrtc 日志输出
https://blog.csdn.net/CSqingchen/article/details/120156669 -
安卓 webrtc 开启h264 软编解码
https://blog.csdn.net/CSqingchen/article/details/120199702
以上是关于webrtc拉流在srs中的配置的主要内容,如果未能解决你的问题,请参考以下文章