Windows本地搭建rtmp推流服务

前言

开发时偶尔需要使用rtmp直播流做视频流测试,苦于网上开源的rtmp视频流都已经失效,无奈只好尝试在本地自己搭建一个rtmp的推流服务,方便测试使用。

一、工具准备

  1. Nginx:使用nginx-rtmp-win64
  2. 推流工具FFmpeg:官方下载地址
  3. 拉流工具VLC:下载地址

二、搭建说明

1. Nginx的安装使用

做rtmp推流服务的nginx需要包含有rtmp模块,官方的Nignx中没有包含rtmp模块,需要自行下载rtmp模块并安装编译。上面的Nginx版本已经包含了rtmp模块,无需自己重新编译。

  • 下载nginx-rtmp-win64的zip包,解压到本地文件夹中,或者通过git直接拉取到本地。
  • 修改配置文件。打开conf文件夹下的nginx.conf文件。在文件中添加rtmp配置块,可放在http配置块的上面。
rtmp {           server {                     listen 1935;         application live { // live是推流路径的名字              live on;         }    }  
} 
  • 保存配置文件,并启动Nginx。在命令行中输入
start nginx.exe
  • Windows下Nginx的启动、停止等命令汇总
// 1.启动  
start nginx.exe  
nginx.exe // 这种会让cmd窗口一直处于执行中,不能进行其他命令操作  
// 2.停止  
nginx.exe -s stop // 快速停止nginx,可能不保存相关信息;  
nginx.exe -s quit // quit是完整有序的停止nginx,并保存相关信息  
// 3.重新载入Nginx  
nginx.exe -s reload  
// 4.重新打开日志文件  
nginx.exe -s reopen  
// 5.查看Nginx版本  
nginx.exe -v
  • 打开浏览器输入“127.0.0.1”查看nginx是否启动成功。能看到下面的内容即nginx已经启动成功。

2. FFmpeg的安装使用

  • 从FFmped官网下载FFmpeg

  • 下载后在bin文件夹下找个三个exe文件

  • 接下来编写一个简单的批处理脚本,使用ffmpeg做推流。
    • 首先将要推流的视频资源放到ffmpeg.exe的同级目录下,然后创建一个bat文件。

  • 使用编辑器打开批处理文件,写入如下的批处理命令
ffmpeg -re -stream_loop -1 -i .\test.mp4 -vcodec libx264 -acodec aac -f flv  rtmp://127.0.0.1:1935/live/hls
    • -stream_loop:设置输入流的循环次数,-1表示一直循环,0表示不循环。因为我的测试视频较短,故设置一直循环。
    • -i:设置输入流
    • -vcodec:设置视频编解码器
    • -acodec:设置音频编解码器
    • "rtmp://127.0.0.1:1935/live/hls":
      • 127.0.0.1:1935:即nginx的服务器地址及端口,开始推流时要先运行nginx服务器。
      • live:是nginx中配置的推流的路径
      • hls:是自定义的推流地址,拉流时加上此地址即可。
  • 编写好后,在控制台中或者双击启动此批处理。

3. 使用VLC做拉流测试

  • 从官网下载安装VLC

  • 安装后启动,点击媒体->打开网络串流

  • 输入我们使用nginx创建的推流服务地址
rtmp://127.0.0.1:1935/live/hls

  • 验证推流成功

由于是本地推流,拉流地址中的127.0.0.1也可以使用localhost代替。可能偶尔会出现拉流在播放但是黑屏的情况,此时可以停掉批处理的推流服务,重新推流试试。重开后拉流播放器也需要重新拉流。

4. 使用手机推流测试

手机连接电脑分享的热点,把rtmp中的ip换成电脑的ip即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/201170.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海亚商投顾:北证50指数大涨 机器人概念股掀涨停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数昨日震荡反弹,黄白二线有所分化,题材热点轮动表现。北证50指数大涨超3%&#…

劲松HPV防治诊疗中心提醒:做完HPV检查后,需留意这些事项!

在接受HPV检查后,有一些注意事项需要您注意。首先,要遵循医生的建议,并按照医生的指示进行后续治疗和随访。 其次,检查后可能会有些不适感,这是正常的现象,不必过于担心。但是,如果不适感持续加…

产品工程师工作的职责十篇(合集)

一、岗位职责的作用意义 1.可以最大限度地实现劳动用工的科学配置; 2.有效地防止因职务重叠而发生的工作扯皮现象; 3.提高内部竞争活力,更好地发现和使用人才; 4.组织考核的依据; 5.提高工作效率和工作质量; 6.规范操作行为; 7.减少违章行为和违章事故的发生…

9. BeanFactory 和 ApplicationContext有什么区别?

BeanFactory 和 ApplicationContext有什么区别? BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是 BeanFactory的子接口。 依赖关系 BeanFactory:是Spring里面最顶层的接口&#…

2023 IDEA大会开幕 共探AI新篇章下的技术创新与创业

11月22日,AI与数字经济领域一年一度的科创盛会,2023 IDEA大会在深圳举行。IDEA研究院创院理事长、美国国家工程院外籍院士沈向洋在会上发表主旨演讲,发布IDEA研究院的重磅研产结晶与市场化成果;在大咖云集的论坛环节,多…

Android:Google三方库之Firebase集成详细步骤(一)

前提条件 安装最新版本的 Android Studio,或更新为最新版本。使用您的 Google 账号登录 Firebase请注意,依赖于 Google Play 服务的 Firebase SDK 要求设备或模拟器上必须安装 Google Play 服务 将Firebase添加到应用: 方式:使用…

CI/CD相关概念学习

文章目录 CI/CD相关概念学习前言CI/CD相关概念介绍集成地狱持续集成持续交付持续部署Devops CI/CD相关应用介绍JenkinsTekton PipelinesSpinnakerTravis CIGoCD CI/CD相关概念学习 前言 本文主要是介绍一些 CI/CD 相关的概念,通过阅读本文你将快速了解 CI/CD 是什么…

口袋参谋:只用一招,提前规避差评!请看具体操作步骤

​如何提前规避差评?至少99%的商家都不知道该怎么做,剩下的1%还是我刚教会的。 宝贝的评价直接影响宝贝转化,特别是新品链接。 10个好评也挽回不了一个差评对产品的致命打击,差评就像一个重磅炸弹,威力足够能让你的转…

七,vi和vim

Linux系统会内置vi文本编辑器 Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 vi和vim常用的三…

【C语言】函数(二):函数调用与链式访问

目录 函数调用传值调用传址调用练习题 嵌套调用链式访问 函数调用 函数调用分为传值调用和传址调用 传值调用 传值调用时,函数的形参和实参分别有着自己的内存空间,形参的改变不会影响实参。在上文中说到的利用一个函数实现两个整数的交换的错误写法就是…

Spring Boot中配置文件生效位置

1. 配置文件位置 首先小伙伴们要明白,Spring Boot 默认加载的配置文件是 application.properties 或者 application.yaml,properties优先级高于yaml。默认的加载位置一共有五个,五个位置可以分为两类: 从 classpath 下加载&…

css取消移动端长按元素背景色

在开发微信小程序的时候,发现有的元素长按之后,出现了讨厌人的背景色,这就很奇怪,就想把它去掉,所以这里教一下方法: 在所在元素添加css样式: // 取消长按的背景色-webkit-tap-highlight-color:…

【数据结构】链表的八种形态

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 链表的三大"性状" 一.带头链表和不带头链表 头指针与头结点的异同 头指针 头结点 二.循环链表和非循环链表 三.双向链表和单向链表 链表的八大形态 结语…

汇编-指针

一个变量如果包含的是另一个变量的地址, 则该变量就称为指针(pointer) 。指针是操作数组和数据结构的极好工具,因为它包含的地址在运行时是可以修改的。 .data arrayB byte 10h, 20h, 30h, 40h ptrB dword arrayB ptrB1 dword OFFSET arrayBarray…

5 个适用于 Linux 的开源日志监控和管理工具

当Linux等操作系统运行时,会发生许多事件和在后台运行的进程,以实现系统资源的高效可靠的使用。这些事件可能发生在系统软件中,例如 init 或 systemd 进程或用户应用程序,例如 Apache、MySQL、FTP 等。 为了了解系统和不同应用程序…

AIOps探索 | 应急处置中排障的降本增效方法探索(上)

文章来源:公众号ID-布博士(擎创科技资深产品专家) 哈喽~友友们大家好,最近运维界也是蛮热闹的,前有语雀多次崩溃,后有阿里全系产品集体故障,不管是哪种,都足够逼疯一个运维工程师。…

Java修仙记之记录一次与前端女修士论道的经历

文章开始之前,想跟我念一句:福生无量天尊,无量寿佛,阿弥陀佛 第一场论道:id更新之争 一个天气明朗的下午,前端的小美女长发姐告诉我:嘿,小后端,你的代码报错了 我答道&am…

LeetCode算法心得——打家劫舍(记忆化搜索)

大家好,我是晴天学长,准备开始深入动态规划啦,先从记忆化搜索开始,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .打家劫舍 你是一个专业的小偷,计划偷窃…

神经网络常用激活函数详解

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

科技界年度大戏剧情终结:Open AI宣布ChatGPT创始人奥特曼回归

就在刚刚,在Sam Altman在X平台表示: 我喜欢 Openai,过去几天我所做的一切都是为了让这个团队及其使命保持一致。当我决定在周日晚上加入微软时,很明显这对我和团队来说是最好的道路。在新董事会和 w satya 的支持下,我…