SRS流媒体服务器——WebRTC推拉流演示
SRS流媒体服务器——WebRTC推拉流
目录
- WebRTC推拉流配置
- WebRTC拉流演示
- WebRTC推流演示
SRS官方WebRTC文档:https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtc
SRS安装部署相关内容:
- SRS流媒体服务器——单机环境搭建和源码目录介绍
- SRS流媒体服务器——Forward集群搭建和源码分析
- SRS流媒体服务器——Edge集群搭建
- SRS流媒体服务器——WebRTC推拉流演示
- SRS流媒体服务器——SRS4.0 WebRTC⼀对⼀通话环境搭建与逻辑分析
SRS部分源码分析相关内容:
- SRS流媒体服务器——基本流程简单分析
- SRS流媒体服务器——RTMP端⼝监听逻辑分析
- SRS流媒体服务器——RTMP推流、拉流创建连接
- SRS流媒体服务器——服务器读取RTMP推流数据
- SRS流媒体服务器——服务器给RTMP拉流端转发数据
1. WebRTC推拉流配置
- webrtc是默认⽀持的(–rtc=on),使⽤默认的rtc配置(conf/rtc2rtmp.conf)就可以运行。
- 默认rtc2rtmp.conf配置如下:
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;http_server {enabled on;listen 8080;dir ./objs/nginx/html;
}http_api {enabled on;listen 1985;
}
stats {network 0;
}
rtc_server {enabled on;listen 8000; # UDP port# @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#config-candidate# candidate $CANDIDATE;candidate 8.141.75.248;
}vhost __defaultVhost__ {rtc {enabled on;# @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtcrtmp_to_rtc on;# @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmprtc_to_rtmp on;}http_remux {enabled on;mount [vhost]/[app]/[stream].flv;}
}
- 其中rtc_server是全局的RTC服务器的配置,部分关键配置包括:
- enabled:是否开启RTC服务器,默认是off。
- listen:侦听的RTC端口,注意是UDP协议。
- candidate:服务器提供服务的IP地址,需要是公网ip地址,否则局域⽹webrtc可以拉流,正式环境⿊屏。
- ecdsa:服务器自动生成的证书种类,ECDSA或RSA,是否用ECDSA。
- 然后是每个vhost中的RTC配置,部分关键配置包括:
- rtc.enabled:是否开启RTC能力,默认是off。
- rtc.rtmp_to_rtc:是否开启RTMP转RTC。
- rtc.rtc_to_rtmp:是否开启RTC转RTMP。
- rtc.stun_timeout:会话超时时间,单位秒。
- rtc.nack:是否开启NACK的支持,即丢包重传,默认on。
- rtc.twcc:是否开启TWCC的支持,即拥塞控制的反馈机制,默认on。
- rtc.dtls_role:DTLS角色,active就是DTLS Client(主动发起),passive是DTLS Server(被动接受)。
- 注意:对应端口,比如8000,1985端口必须开启,否则不能进行WebRTC测试。
2. WebRTC拉流演示
- 通过RTMP进⾏推流,然后通过WebRTC进⾏拉流。
- 启动SRS流媒体服务器:
./objs/srs -c conf/rtc.conf
- 使用ffmpeg命令进⾏推流(注意:ip需要换成自己的):
ffmpeg -re -i time.flv -vcodec copy -acodec copy -f flv -y rtmp://8.141.xxx.248/live/livestream
- 推送流成功之后,使⽤srs⾃带的rtc_player播放器进⾏播放,直接请求srs服务的8080端⼝即可。
- http://8.141.xxx.248:8080/players/rtc_player.html
- 下图是用WebRTC播放和RTMP播放对比。
3. WebRTC推流演示
- WebRTC推流器:http://8.141.75.248:8080/players/rtc_publisher.html
- 点击开始推流报错,推流需要是HTTPS或者localhost,如下图:
- 如果是window系统,可以Chrome的启动参数。方法:
- 找到Chrome图表
- 右键图标,选择属性
- 找到”目标”文本框,里面的内容是你的Chrome程序路径,类似这样:C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe
在这段文本的后面输入一个空格,然后输入–ignore-certificate-errors --allow-running-insecure-content --un
safely-treat-insecure-origin-as-secure=“http://8.141.75.248:8080”(ip换成自己的) - 点击确定,重新打开Chrome浏览器
- mac系统没找到对应方法,可以配置一台Nginx,申请个免费的HTTPS证书,并配置转发。
- 然后就可以使用WebRTC或者RTMP进行播放。
SRS流媒体服务器——WebRTC推拉流演示相关推荐
- 开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享
开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享 一.优秀的流媒体博客资源 1.1 EasyNVR:专注于安防视频互联网化的技术 1 ...
- 安卓基于SRS的Webrtc推拉流
安卓基于SRS的Webrtc推拉流 文章目录 安卓基于SRS的Webrtc推拉流 Https必须需要域名 httpx-static 配置 https 代理 基于SRS 配置文件支持 https And ...
- 音视频开发-音视频面试必问的直播延迟分析丨FFmpeg|SRS流媒体服务器|webrtc|Android NDK开发|HTTP-FLV|RTSP
音视频面试必问的直播延迟分析 1.直播延迟500ms是极限吗,加上WebRTC能做到多少 2.推流的延迟分析 3.流媒体服务器延迟分析 4.拉流的延迟分析 视频讲解如下,点击观看: 音视频开发-音视频 ...
- 【SRS】流媒体服务器(推流+拉流+转流)
文章目录 前言 安装 推流 拉流 转流 前言 课程作业需要搭建一个视频流服务器,最初我采用的是HLS推流方式,发现那延迟卡的我一愣一愣的,这主要还是由于HLS需要等待切片完成.那行吧,那就换一个吧,一 ...
- nms之——流式服务器(直播推拉流等)
nms之流式服务器 nms--Go语言开发的高性能流媒体服务端 下载安装 配置文件(config.ini) ffmpeg推流.拉流 NMS 推流(NMS v3支持RTMP, HTTP-FLVT推流) ...
- SRS流媒体服务器——RTMP推流、拉流创建连接
SRS流媒体服务器--RTMP推流.拉流创建连接 目录 识别客户端,然后获取或者创建SrsLiveSource 启动推流 启动拉流 SRS安装部署相关内容: SRS流媒体服务器--单机环境搭建和源码目 ...
- SRS流媒体服务器——服务器读取RTMP推流数据
SRS流媒体服务器--服务器读取RTMP推流数据 目录 处理RTMP推流video message 处理RTMP推流audio message 处理RTMP推流onMetaData message S ...
- 音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
公司项目需要实现一个只是rtsp推流和rtsp拉流的业务机制,据说ZLMediaKit能满足rtsp推拉流的相关业务. 对ZLMediaKit流媒体服务器进行安装以及了解. 0:从开源库Readme中 ...
- Nginx搭建RTMP推拉流服务器
如题,今天就来实现一个推拉流服务器,模拟下推流后被客户端拉流看到效果. 详细步骤如下 - 安装Nginx - 安装FFmpeg - 安装VLC客户端 安装Nginx 在Mac上有一个很好用的包管理插件 ...
最新文章
- kali2020安装中文输入法(切换中文输入法)
- tensorflow打印模型结构_社区分享 | 详解 TensorFlow 中 Placement 的最后一道防线 — Placer 算法...
- 智能型住宅自动控制与管理系统分析
- Codeforces Round #670 (Div. 2)
- 解决firebug报“illegal character错误的问题
- ftp文档服务器设置,ftp服务器基本设置
- 信息学奥赛一本通(1251:仙岛求药)
- iOS面试中经常问的点 - RunTime
- NIO系列六:流行 NIO Framework netty 和 mina 性能测评与分析
- bzoj 4516: [Sdoi2016]生成魔咒
- Unix系统中Shell概述
- 高分屏笔记本,如何处理程序提示“文本缩放比率要求为100%”
- 影响力最大化——CELF算法的简介与python实现
- 关于无穷级数收敛的充要条件的猜想
- 问卷调查:自定义表单设计vue
- mysql navicat视图_navicat怎么创建视图
- FALL_20_NOTE EDAV「Exploratory Data Analysis and Visualization」图像可视化
- SQL Server事务日志分析
- jsp汽车销售系统带前端
- 握手,交流从掌心开始