SRS视频流服务器初试
1.关于协议理解
在前面的博客中,我简单的介绍了关于RTC,RTMP,HLS三个协议的不同之处和区分点。
关于这三者协议SRS文档中有着较好的介绍
2.快速开始
1.SRS安装
使用SRS文档中快速开始,docker进行启动,非常简单
--rm:当容器stop时,自动删除容器(所以仅仅demo使用)
-it :这位兄弟写的很好:
- -i:以交互模式运行容器
- -t:为容器重新分配一个伪输入终端
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 ./objs/srs -c conf/docker.conf
然后打开8080端口,进入服务器的控制台
连接SRS,端口号不为默认的8080,为1985
连接成功后,在概况中可以看到SRS的主机负载等信息
2.推流
在1中,我是用的直播Stream的配置方式,使用RTMP进行直播流推送,RTMP基于TCP链接,需要打开服务器1935端口,需要注意
现在开始推流和拉流:
使用obs,(你也可以使用ffmeg,obs为可视化界面,ffmeg需要使用命令行进行推流):
在obs设置中选择推流
服务器栏为:rtmp://你的ip/live/
串流密钥为:livestream
选:你可以在输出中设置流的码率,测试服务器带宽较弱,我改为300kb
在来源中添加视频流(视频文件/显示器采集等方式)
点击推流,即可成功
3.拉流
注:
根据你Docker部署的方式不同,你拉流URL也会有所不同,因为他们采用了不同的编码。比如在本文中,我使用RTMP方式进行推流,SRS搭建也是直播Stream方式。所以你在拉流时有三种选择:
RTMP:
rtmp://ip/live:8080/livestream(本方式需要使用VLC等软件进行播放)(延迟3s左右)H5(HTTP-FLV):
http://localhost:8080/live/livestream.flv(延迟3s左右)FLV的格式是SRS在服务器中将RTMP封装为FLV格式进行分发(因为RTMP和FLV关系非常“亲近,所以这个封装的行为不会非常耗时和消耗资源,故此格式能保证较低的延迟(详细可以参考SRS文档介绍)
详细可以查看
FLV-RTMP关系H5(HLS):
http://localhost:8080/livestream.m3u8(延迟10s+)
在1中协议理解,SRS官方文档以及我的简单介绍,中有这三种协议的特点介绍。
1)方式一:SRS网页播放器(推荐)
播放器链接 :
http://ip/players/srs_player.html?vhost=__defaultVhost__&app=live&stream=livestream.flv&server=101.43.244.40&port=8080&autostart=true&schema=http
通过此网页播放器,可以通过2(RTMP封装FLV),3(HLS)方式拉流
2)方式二:VLC播放器(需要下载,延迟高,不推荐)
注:使用该方式播放,拉流的延迟会不稳定,如果你一直刷新,可以达到3s左右的延迟
- 选择媒体,流,网络,输入网络URL
- URL填入注中的三种拉流URL,都可以实现拉流
SRS视频流服务器初试的更多相关文章
- 为SRS流媒体服务器添加HLS加密功能(附源码)
为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...
- SRS流媒体服务器搭建+ffmpeg推流VLC取流观看
一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https:// ...
- linux部署安装SRS流媒体服务器教程
这段时间一直在搞RTMP流媒体直播项目,期间踩过很多坑,刚开始是用的nginx-rtmp作为流媒体转发服务器,但是效果并不尽人意,推拉流不稳定,特别是拉流,速度特别慢,平均要十多秒才能拉到流,并且交互 ...
- centos 安装 rtmp nginx 视频流服务器
---恢复内容开始--- 1.使用yum安装git yum -y install git 2.下载nginx-rtmp-module,官方github地址 // 通过git clone 的方式下载到服 ...
- Android直播实现srs流媒体服务器部署
链接:http://blog.csdn.net/mr_sk/article/details/71086885 在配置文件中加入 pid 参数执行
- ubuntu 14.04 下实现浏览器接收UDP视频流
前言 由于近期项目需求,需实现在浏览器上实时预览接收UDP视频流信息.此功能若在VLC上可轻松播放,奈何由于Chrome.Firefox版本的升级,渐渐浏览器不支持外部插件,因而使用VLC web插件 ...
- 动车上的书摘-java网络 连接服务器
摘要: 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 应该有些延迟,你会看到黑幕中弹出 来自USA的X原子的计量时间: ...
- Android视频直播:流媒体服务器搭建
一.前言 实时视频直播是这两年非常火的技术形态,已经渗透到教育.在线互娱等各种业务场景中.但要搭建一套实时视频直播系统,并非易事,下面针对直播系统的的搭建做一下说明: 1.1 通常的直播系统的技术模型 ...
- 利用flask将opencv实时视频流输出到浏览器
opencv通过webcam可以获取本地实时视频流,但是如果需要将视频流共享给其他机器调用,就可以将利用flask框架构建一个实时视频流服务器,然后其他机器可以通过向这个服务器发送请求来获取这台机器上 ...
- 【腾讯Bugly干货分享】H5 视频直播那些事
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...
随机推荐
- mindxdl--common--type.go
// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common this file ...
- Go实现常用软件设计模式二:工厂模式
目录: 举个栗子 概念介绍 使用场景 1.举个栗子 类图 ``` @startuml'https://plantuml.com/class-diagramclass Elephant { String ...
- 重学c#系列——枚举[二十三]
前言 该系列继续更新,枚举介绍. 正文 首先呢,枚举是值类型,这个没什么好说的. enum ConnectionState { DisConnected, Connecting, Connected, ...
- devexpress 中advBandedGridView内容自动换行和调整自适应行高
首先是自动换行,可以创建一个repositoryItemMemoEdit 并绑定到需要换行的列中 再设置一下repositoryItemMemoEdit高度自适应,这样子就完成了自动换行了 repos ...
- C温故补缺(五):main函数的参数
main()的参数 main()函数的参数,用于在外部执行时传入参数,类似windows的bat脚本或linux的sh脚本.在bat脚本中传入参数,用%接收.sh脚本的参数用$接收. c语言编译成可执 ...
- 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」
Linux系统:Centos 7 x64 Nginx版本:1.11.5 Nginx 是一款面向性能设计的 HTTP 服务器,能反向代理 HTTP,HTTPS 和邮件相关(SMTP,POP3,IMAP) ...
- tesseract-orc训练 结合python3图像识别验证码
##前言 其实就是用到tesseract-ocr这个引擎来识别,只不过我们需要做一些在此之前的工作 将图片用pillow进行初步处理,将图片中的验证码显示的清晰一些,关于这些教程可以查看我的另一篇文章 ...
- HashMap为何线程不安全?HashMap,HashTable,ConcurrentHashMap对比
这两天写爬虫帮组里收集网上数据做训练,需要进一步对收集到的json数据做数据清洗,结果就用到了多线程下的哈希表数据结构,猛地回想起自己看<Java并发编程的艺术>框架篇的时候,在Concu ...
- 分布式日志:Exceptionless的安装与部署
安装步骤 首先exceptionless依赖elasticsearch,而elasticsearch需要java环境,所以先安装jdk jdk下载地址:https://www.oracle.com/t ...
- 时间片差分调度法-充分利用MCU的资源
前言 通过该篇学习了嵌入式的任务调度(即时间片论法)后,了解到通过以1ms为调度时间单位轮询判断是否需要执行函数任务,那么下面介绍如何基于时间片论法的任务调度模式充分利用MCU的资源,姑且先称这种方式 ...