版本号

添加内容

修改时间

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关于播放器官网地址:

PotPlayer下载 - PotPlayer中文网

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直播,最简单的部署手册相关推荐

  1. 基于JAVA直播购物平台计算机毕业设计源码+系统+lw文档+部署

    基于JAVA直播购物平台计算机毕业设计源码+系统+lw文档+部署 基于JAVA直播购物平台计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...

  2. 基于JAVA直播管理系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA直播管理系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA直播管理系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...

  3. 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  4. 基于消息中间件RabbitMQ实现简单的RPC服务

    转载自  基于消息中间件RabbitMQ实现简单的RPC服务 RPC(Remote Procedure Call,远程过程调用),是一种计算机通信协议.对于两台机器而言,就是A服务器上的应用程序调用B ...

  5. [转帖]Oracle 11G RAC For Windows 2008 R2部署手册

    Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次) https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 ...

  6. PostgreSQL on Linux 最佳部署手册

    PostgreSQL on Linux 最佳部署手册 TAG 24 作者 digoal 日期 2016-11-21 标签 Linux , PostgreSQL , Install , 最佳部署 背景 ...

  7. 我的Serverless实战—基于Serverless搭建一个简单的WordPress个人博客图文详解-JJZ

    文正在参与 "100%有奖 | 我的Serverless 实战"征稿活动 活动链接:https://marketing.csdn.net/p/15940c87f66c68188cf ...

  8. STM32CubeMX基于HAL库实现简单串口通信

    STM32CubeMX基于HAL库实现简单串口通信 板子:STM32F103C8 编译工具:Keil+STM32CubeMX 烧录工具:FlyMcu 串口调试程序:XCOM 实验要求: 1)设置波特率 ...

  9. Dynamic CRM9.0 环境安装部署手册步骤和遇到的一些问题解决方案(包含ADFS部署)

    Dynamic CRM9.0 环境安装部署手册 Dynamic 365和ADFS配置安装过程踩了一些坑,拿出来和大家记录分享一下. 目录 Dynamic CRM9.0 环境安装部署手册 一.Activ ...

最新文章

  1. 2019年汽车行业深度投资研究
  2. Python程序设计题解【蓝桥杯官网题库】 DAY6-基础练习
  3. Qt5.5.1移植到freescale imx6
  4. Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)(转)
  5. Xcode6 手动建empty application
  6. 现男友代言!最强自拍手机荣耀20S正式发布:售价1899元起
  7. Windows 下使用GNU开发环境[转]
  8. 停止不了_男性脂溢性脱发之坚持及停止止脱方法后的对比(顺便找发友组队再战)...
  9. mysql 查询替换语句_MYSQL查询字符替换sql语句
  10. springboot+jsp小说在线阅读系统-java原创文学网
  11. python win32转pdf 横版_.doc使用python转换为pdf
  12. 用ArcGIS提取HWSD中的土壤单一属性数据
  13. 如何提高团队的研发效率呢?
  14. 腰围2尺1,2,3,4,5,6,7,8寸分别等于是多少厘米/英寸(对照表)
  15. 使用Sklearn学习决策树
  16. 干货推荐 | 一个好的产品设计原则都有这些
  17. 团队的英文翻译缩写_动漫团队名称-团队英文名称~~人数不限的、 最好是** – 手机爱问...
  18. 连接本地数据库,mysql提示Can‘t connect to MySQL server on localhost (10061)解决办法
  19. python学习第一讲(基本的操作)
  20. 闲聊JavaScript

热门文章

  1. 大学计算机作业互评评语简短,同学作业互评评语
  2. [转]Java咖啡馆---叹咖啡
  3. USB声卡噪音问题,USB声卡中文名设置,基于STM32F411
  4. 群英服务器网站,群英网
  5. java的跨平台特性是指_如何理解JAVA的跨平台特性
  6. HDU - 胜利大逃亡(搜索)
  7. 微信小程序开发抽取HTML中数据的最快方法是正则表达式,而不是循环
  8. 工业物联网在制造业中有哪些用途?以数网星工业物联网平台为例
  9. 【UOJ 454】打雪仗(通信题)(分块)
  10. 你的伙伴对你最大会话_当你给朋友打电话的时候,最搞笑的一句回话是什么?...