自建直播推流服务器

前言

最近在研究无人直播, 一直使用B站直播平台测试 由于在测试的过程中我需要不断地尝试各种骚操作 经常需要反复中断启动直播 某次偶然间发现有几个小伙伴在看我推的直播

为了给自己留点路人缘 我打算自建一个本地推流服务器 用于测试

Github上有很多现成的项目可以使用, 有网友推荐nginx-rtmp-moduleNode-Media-Server

秉着少掉点头发的目的 这里我选择由nodejs开发的 Node-Media-Server

接下来给大家分享我的搭建过程

实现步骤

首先电脑需要先安装nodejs环境 这一步就不在这细说了

  1. 下载安装包

    1
    npm install node-media-server
  2. 创建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
    18
    const 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();
  3. 启动服务器

    1
    node app.js

    此时我们在终端能看到启动日志, 表示推流服务器启动成功:

    image-20240423175954116

  4. 将视频推送到该服务器中

    这里使用FFmpeg工具进行推流, 指令如下:

    1
    ffmpeg -re -i xxx.mp4 -c copy -f flv "rtmp://localhost/live/STREAM_NAME"

    推流地址固定为 : rtmp://localhost/live/STREAM_NAME

    如果终端出现类似于以下日志 表示推送成功:

    image-20240423180246497

  5. 拉流测试效果

    拉流地址和推流地址相同 为 rtmp://localhost/live/STREAM_NAME 我们可以借助能播放直播流的第三方播放器来测试 这里我使用恒星播放器 能正常拉取到视频

    image-20240423180604883

    image-20240423180422500

  6. 实现完毕

是不是很简单呢 有需要的话赶紧试试吧😜

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

0%