我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用nginx部署rtmp流媒体服务器完成直播推流

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用nginx部署rtmp流媒体服务器完成直播推流

安装配置Nginx

笔者为了开发方便使用windows系统的Nginx进行配置。

  1. 下载Nginx http://nginx-win.ecsds.eu/download/
    在windows版本下只有个别的几个版本才支持rtmp服务,本文选择版本
    nginx 1.7.11.3 Gryphon.zip
    在这里插入图片描述
  2. 解压下载zip文件
    在这里插入图片描述
    在conf文件夹中找到nginx-win.conf配置我们所需要的内容
    在这里插入图片描述
rtmp {    server {        listen 1935;#监听端口,若被占用,可以更改        chunk_size 4000;#上传flv文件块儿的大小        application hls { #创建一个叫live的应用             live on;#开启live的应用             hls on;     hls_path E:/data/lives/;#视频流存放地址             hls_fragment 5s;             hls_playlist_length 15s;             hls_continuous on; #连续模式。             hls_cleanup on;    #对多余的切片进行删除。             hls_nested on;     #嵌套模式。        }    }}

rtmp是adobe基于flash开发的音视频传输协议,flash在2020年停止了维护,现在大部分浏览器基本上不支持flash。并且由于笔者前端使用的是
DPlayer(https://dplayer.diygod.dev/zh/)一款基于h5的播放器是无法识别rtmp协议的,所以这里使用hls协议进行传输。
hls协议是苹果提出的基于http的流媒体网络传输协议,将视频或流切分成小片(ts), 并建立索引(m3u8),一开始是为了解决移动端的传输,这里pc端也可以用。

在这里插入图片描述
配置hls映射,并且添加请求头解决跨域问题
注意这里的 alias和上图的hls_path要对应
localtion /路径要和上图的应用名对应

  1. 安装nginx-rtmp-module模块
    配置完conf文件之后还是成功启动的,因为还没有安装rtmp模块,要去github上下载。https://github.com/arut/nginx-rtmp-module/
    选择一个喜欢的版本笔者用的v1.2.2
    在这里插入图片描述

下载完之后解压到nginx的根目录之中。

  1. 启动nginx
    现在我们就可以启动nginx了
nginx.exe -c conf\nginx-win.confnginx.exe -s stop    //快速终止服务器,可能不保存相关信息nginx.exe -s quit    //完整有序停止服务器,保存相关信息nginx.exe -s reload  //重新载入Nginx,当配置信息修改,需要重新载入这些配置时使用此命令

在/logs/error.log文件中看到
在这里插入图片描述就算启动成功了

安装OBS进行推流

在官网下载obs https://obsproject.com/
obs是一个很强大的直播录屏工具,也可以进行推流

安装完obs打开设置填入我们刚才在nginx中配置好的rtmp地址,这里推流码可以随便填,他会在视频存储路径下 生成推流码图中是1213文件夹把视频文件存到里面
在这里插入图片描述
随便加一个视频源,点击开始直播就可以开始推流了,这时候检查配置的文件路径就会发现生成了视频文件,我们可以通过http://localhost/hls/1213/index.m3u8 进行访问
在这里插入图片描述

在这里插入图片描述

前端使用DPlayer进行拉流

DPlayer播放器地址 https://dplayer.diygod.dev/zh/
之前使用hls协议了,所以DPlayer使用的时候也要配置hls协议才能解析到视频地址,同时也要在前端配置下解决跨域问题

由于时间原因,笔者太困了下次再进行更新代码

参考

https://stalin.blog.csdn.net/article/details/128968989?spm=1001.2014.3001.5502

https://blog.csdn.net/u012156872/article/details/103969094

来源地址:https://blog.csdn.net/qq_38580583/article/details/129720966

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用nginx部署rtmp流媒体服务器完成直播推流

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用阿里云RTMP服务器进行流媒体直播

随着互联网的发展,流媒体直播已经成为了一种非常流行和重要的服务。在众多流媒体直播服务中,阿里云的RTMP服务器以其稳定、高效、安全等特点,成为了许多企业和个人的首选。本文将详细介绍如何使用阿里云RTMP服务器进行流媒体直播。一、什么是阿里云RTMP服务器?阿里云RTMP服务器是阿里云推出的一款流媒体直播服务,它能
如何使用阿里云RTMP服务器进行流媒体直播
2023-10-30

使用Nginx-rtmp怎么实现一个直播媒体实时流效果

使用Nginx-rtmp怎么实现一个直播媒体实时流效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。流程图?12345671. 客户端A无法进行P2P穿透,请求业务服务器要
2023-06-08

给数字人生成加上界面,基于ER-NeRF/RAD-NeRF/AD-NeRF,Gradio框架构建WEBUI,使用HLS流媒体,实现边推理边播放——之一:在WEBUI中实时输出服务器控制台日志

前言 目前数字人实现技术众多,我这里采用基于ER-NeRF,在这里可以看到其介绍:ICCV 2023 | ER-NeRF: 用于合成高保真Talking Portrait的高效区域感知神经辐射场-https://zhuanlan.zhihu
给数字人生成加上界面,基于ER-NeRF/RAD-NeRF/AD-NeRF,Gradio框架构建WEBUI,使用HLS流媒体,实现边推理边播放——之一:在WEBUI中实时输出服务器控制台日志
2023-12-22

编程热搜

目录