基于smart_rtmp直播,最简单的部署手册
版本号 |
添加内容 |
修改时间 |
V1.0 |
新建 |
2021年12月30日 |
V1.1 |
增加网页播放 |
2021年12月31日 |
V1.2 | 增加是否可以多流和测试数据 | 2022年1月5日 |
目录
一、软件储备
1.推流软件:OBS
2.服务器流媒体软件:smart_rtmp
3.播放软件:Potplayer
二、服务器部署
2.1 部署windows环境(win2003或win7以上系统)
2.2 部署Linux环境(centos7.X以上)
2.3.部署需要windows和linux的安全组规则
三、推流准备
3.1 用OBS推流
四、播放(拉流)规则
五、播放(拉流)
六、其他材料:
6.1关于smart_rtmp git地址
6.2播放软件方案VLC②下载地址
6.3关于播放器官网地址:
6.4关于NAT设置
6.5关于无法推流拉流播放
6.6关于NAT内网无法播放
6.7关于是否可以推多流
6.8关于流量测试
七、关于浏览器播出
7.1自带播放器测试用
7.2手动设置做一个页面
八、关于点播、录像问题
九、关于和nginx_rtmp-module、nginx-http-flv-module功能分析
一、软件储备
1.推流软件:OBS
OBSStudio是一款视频直播录制软件,为用户提供了视频、文本、图像等的捕获录制功能。
OBS官网:Open Broadcaster Software | OBS
WINDOWS版本下载地址:
https://cdn-fastly.obsproject.com/downloads/OBS-Studio-27.1.3-Full-Installer-x64.exe
注:OBS支持Windows/linux/Mac(可从其他地方下载)
2.服务器流媒体软件:smart_rtmp
下载地址:
http://www.qiyicc.com/download/rtmpd.zip
注:文件內包含win/linux版本
3.播放软件:Potplayer
支持用VLC或者potplayer,两个方案任选其一,没有什么太大的区别;
播放软件方案potplayer下载地址(可从其他地方下载)
https://545c.com/f/15911488-521156289-9c2f86
密码1234
https://potplayer.org/
二、服务器部署
系统支持WIN、linux
2.1 部署windows环境(win2003或win7以上系统)
①rtmpd.zip压缩解压到桌面,再次找到smart_rtmpd_win压缩包,解压到桌面。
②修改connfg.XML文件
需要修改的内容如下
<nat><!-- nat地址上映射地址和端口, 例如: 118.145.6.103:1935 --><rtmp>182.18.5.115:1935</rtmp><!-- nat地址上映射地址和端口, 例如: 118.145.6.103:8554 --><rtsp><182.18.5.115:8554/rtsp><!-- nat地址上映射地址和端口, 例如: 118.145.6.103:8080 --><http><182.18.5.115:8080/http><!-- nat地址上映射地址和端口, 例如: 118.145.6.103:8181 --><https>182.18.5.115:8181</https><!-- nat地址上映射地址和端口, 例如: 118.145.6.103:9000 (udp) --><srt>182.18.5.115:8000</srt><!-- nat地址上映射地址, 例如: 118.145.6.103, udp 一般是映射端口段, see rtp min & max --><rtp>182.18.5.115</rtp></nat>
填写NAT里的地址;
如果开启SSL模式,请上传修改证书名称
③执行smart_rtmpd_win文件夹的smart_rtmpd.exe文件,直接点击开始即可
2.2 部署Linux环境(centos7.X以上)
开终端(如 putty 或 Xshell),连接到该服务器。 通过 cd 转到 smart_rtmpd 所在目录,改connfg.XML文件,然后执行下方启动命令:(二选一) 启动命令 1: (这种启动方式,在关闭终端后,直播服务器就自动停止了) ./smart_rtmpd 启动命令 2: (这种启动方式,在关闭终端后,直播服务器依旧运行着) nohup ./smart_rtmpd (可通过 netstat -tunlp | grep 1935 查到使用1935端口的进程号,然后通过:kill+进程号 的方式停止服务)
2.3.部署需要windows和linux的安全组规则
推拉流需要一下端口,酌情开通处理
RTMP:1935(TCP)
RTSP:8554(TCP)
HTTP:8080(TCP)
HTTPS:8181(TCP)
SRT:9000(UDP)
三、推流准备
3.1 用OBS推流
打开OBS
①点击设置》②推流》③点击服务后面的自定义,在服务地址里输入上面NAT的地址》④串流密钥》⑤点击左侧输出选择分辨率码流》⑥点击确定》⑦返回界面后,点击开始推流
需要添加场景》添加来源(显示器采集或窗口采集或视频采集)
3.2 服务器日志
开始点击推流后,服务器日志
windows日志
linux 日志:在解压文件夹的log目录下,已日期呈现
四、播放(拉流)规则
从刚才NAT地址中,我们可以选择播放
比如:
推流地址
rtmp://182.18.5.115:1935/live/cs01
那么同理,播放地址为(推拉流地址一模一样)
rtmp://182.18.5.115:1935/live/cs01
如果开启了8080端口,那么推流地址rtmp://182.18.5.115:1935/live/cs01
拉流地址
rtmp://182.18.5.115:1935/live/cs01
或
http://182.18.5.115:8080/live/cs01.m3u8
看着有点复杂,来个结构图|
五、播放(拉流)
打开potplay,点击打开-》打开链接-》输入地址http://182.18.5.115:8080/live/02.m3u8
按TAB键盘,显示流信息
六、其他材料:
6.1关于smart_rtmp git地址
https://github.com/superconvert/smart_rtmpd
6.2播放软件方案VLC②下载地址
https://free.nchc.org.tw/vlc/vlc/3.0.16/win64/vlc-3.0.16-win64.exe
安装后,打开流媒体-》打开流——》输入地址——》点击播放
6.3关于播放器官网地址:
VLC: Official site - Free multimedia solutions for all OS! - VideoLAN
6.4关于NAT设置
6.5关于无法推流拉流播放
如果是Windows ,关闭防火墙,或者设置防火墙策略
如果是linux 同样关闭防护墙或者设置防火墙策略;关闭selinux
6.6关于NAT内网无法播放
由于在内网服务器的配置是公网配置,所以需要修改服务器hosts配置!
比如在win上添加
172.16.19.5 182.18.5.115
6.7关于是否可以推多流
可以,互不干扰。名字可以不一样;
推送地址格式如下(以rtmp为例):
rtmp://IP+端口/live/名字1
rtmp://IP+端口/live/名字2
播放地址:
rtmp://IP+端口/live/名字1
rtmp://IP+端口/live/名字2
6.8关于流量测试(待继续补充)
清晰度(流量) |
普清1280*720 (码率在1000k至1400K)) |
标清1280*720( 码率1600k至2000K) |
高清1280*720 (码率3800k-4200K |
手机推流 | 0.32G | 0.32G | 0.32G |
服务器 | 0.39G | 0.54G | 0.46G |
拉流播放 | 0.9G | 0.814G | 0.96 |
七、关于浏览器播出
如果推流后,实在不方便观看到视频,实际上文件夹內是有播放列表等参数的。
7.1自带播放器测试用
直接输入地址:http:/IP:端口/player.html
如下列地址:
http://182.18.5.53:8080/player.html
7.2手动设置做一个页面
在smart_rtmp目录下有个html文件,需要新建个网页,复制一下代码:
<!DOCTYPE html><html><head><script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script><video id="video"></video><script>if(Hls.isSupported()) {var video = document.getElementById('video');var hls = new Hls();// 初始化 修改地址hls.loadSource('http://182.18.5.115:8080/live/01.m3u8');hls.attachMedia(video);hls.on(Hls.Events.MANIFEST_PARSED,function() {video.play();});}</script></head></html>
然后在浏览器打开地址+端口+页面
http://182.18.5.115:8080/2.html
默认隐藏控件,可以点击右键显示控件进行播放
八、关于点播、录像问题
点播和录像分别存放与VOD和REC目录下。
比如在VOD目录下上传一个1.MP4文件
那么打开http://182.18.5.115:8080/vod/1.MP4
九、关于和nginx_rtmp-module、nginx-http-flv-module功能分析
smart_rtmp | nginx-rtmp-module | nginx-http-flv-module | |
部署 | 直接运行 | 需要编译 | 需要编译 |
hlv | 集成 | 需要增加模块 | 包含nginx-rtmp-modulb模块了 |
支持win | 支持 | win环境编译模块失败 | 可以,比较麻烦 |
配置文件 | 中文注释 | 需要多个修改优化 | 需要多个修改优化 |
基于smart_rtmp直播,最简单的部署手册相关推荐
- 基于JAVA直播购物平台计算机毕业设计源码+系统+lw文档+部署
基于JAVA直播购物平台计算机毕业设计源码+系统+lw文档+部署 基于JAVA直播购物平台计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...
- 基于JAVA直播管理系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA直播管理系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA直播管理系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...
- 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...
- 基于消息中间件RabbitMQ实现简单的RPC服务
转载自 基于消息中间件RabbitMQ实现简单的RPC服务 RPC(Remote Procedure Call,远程过程调用),是一种计算机通信协议.对于两台机器而言,就是A服务器上的应用程序调用B ...
- [转帖]Oracle 11G RAC For Windows 2008 R2部署手册
Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次) https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 ...
- PostgreSQL on Linux 最佳部署手册
PostgreSQL on Linux 最佳部署手册 TAG 24 作者 digoal 日期 2016-11-21 标签 Linux , PostgreSQL , Install , 最佳部署 背景 ...
- 我的Serverless实战—基于Serverless搭建一个简单的WordPress个人博客图文详解-JJZ
文正在参与 "100%有奖 | 我的Serverless 实战"征稿活动 活动链接:https://marketing.csdn.net/p/15940c87f66c68188cf ...
- STM32CubeMX基于HAL库实现简单串口通信
STM32CubeMX基于HAL库实现简单串口通信 板子:STM32F103C8 编译工具:Keil+STM32CubeMX 烧录工具:FlyMcu 串口调试程序:XCOM 实验要求: 1)设置波特率 ...
- Dynamic CRM9.0 环境安装部署手册步骤和遇到的一些问题解决方案(包含ADFS部署)
Dynamic CRM9.0 环境安装部署手册 Dynamic 365和ADFS配置安装过程踩了一些坑,拿出来和大家记录分享一下. 目录 Dynamic CRM9.0 环境安装部署手册 一.Activ ...
最新文章
- 2019年汽车行业深度投资研究
- Python程序设计题解【蓝桥杯官网题库】 DAY6-基础练习
- Qt5.5.1移植到freescale imx6
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)(转)
- Xcode6 手动建empty application
- 现男友代言!最强自拍手机荣耀20S正式发布:售价1899元起
- Windows 下使用GNU开发环境[转]
- 停止不了_男性脂溢性脱发之坚持及停止止脱方法后的对比(顺便找发友组队再战)...
- mysql 查询替换语句_MYSQL查询字符替换sql语句
- springboot+jsp小说在线阅读系统-java原创文学网
- python win32转pdf 横版_.doc使用python转换为pdf
- 用ArcGIS提取HWSD中的土壤单一属性数据
- 如何提高团队的研发效率呢?
- 腰围2尺1,2,3,4,5,6,7,8寸分别等于是多少厘米/英寸(对照表)
- 使用Sklearn学习决策树
- 干货推荐 | 一个好的产品设计原则都有这些
- 团队的英文翻译缩写_动漫团队名称-团队英文名称~~人数不限的、
最好是** – 手机爱问...
- 连接本地数据库,mysql提示Can‘t connect to MySQL server on localhost (10061)解决办法
- python学习第一讲(基本的操作)
- 闲聊JavaScript
热门文章
- 大学计算机作业互评评语简短,同学作业互评评语
- [转]Java咖啡馆---叹咖啡
- USB声卡噪音问题,USB声卡中文名设置,基于STM32F411
- 群英服务器网站,群英网
- java的跨平台特性是指_如何理解JAVA的跨平台特性
- HDU - 胜利大逃亡(搜索)
- 微信小程序开发抽取HTML中数据的最快方法是正则表达式,而不是循环
- 工业物联网在制造业中有哪些用途?以数网星工业物联网平台为例
- 【UOJ 454】打雪仗(通信题)(分块)
- 你的伙伴对你最大会话_当你给朋友打电话的时候,最搞笑的一句回话是什么?...