前言
最近在研究无人直播, 一直使用B站直播平台测试 由于在测试的过程中我需要不断地尝试各种骚操作 经常需要反复中断启动直播 某次偶然间发现有几个小伙伴在看我推的直播
为了给自己留点路人缘 我打算自建一个本地推流服务器 用于测试
Github
上有很多现成的项目可以使用, 有网友推荐nginx-rtmp-module和Node-Media-Server
秉着少掉点头发的目的 这里我选择由nodejs
开发的 Node-Media-Server
接下来给大家分享我的搭建过程
实现步骤
首先电脑需要先安装nodejs
环境 这一步就不在这细说了
下载安装包
1
npm install node-media-server
创建
app.js
启动文件1
vi app.js
并将以下启动代码填入到app.js中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18const NodeMediaServer = require('node-media-server');
const config = {
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 30,
ping_timeout: 60
},
http: {
port: 8000,
allow_origin: '*'
}
};
var nms = new NodeMediaServer(config)
nms.run();启动服务器
1
node app.js
此时我们在终端能看到启动日志, 表示推流服务器启动成功:
将视频推送到该服务器中
这里使用
FFmpeg
工具进行推流, 指令如下:1
ffmpeg -re -i xxx.mp4 -c copy -f flv "rtmp://localhost/live/STREAM_NAME"
推流地址固定为 :
rtmp://localhost/live/STREAM_NAME
如果终端出现类似于以下日志 表示推送成功:
拉流测试效果
拉流地址和推流地址相同 为
rtmp://localhost/live/STREAM_NAME
我们可以借助能播放直播流的第三方播放器来测试 这里我使用恒星播放器 能正常拉取到视频实现完毕
是不是很简单呢 有需要的话赶紧试试吧😜
本文为作者原创 转载时请注明出处 谢谢