文章

快速实现一个流媒体服务器

快速实现一个流媒体服务器

之前在公司主要是使用 Mediamtx 来实现流媒体服务器,今天分享一个使用 Nodejs 实现的流媒体服务器—Node-media-server。

安装 nodejs

1
sudo apt install nodejs

安装 npm 包管理器

1
sudo apt install npm

添加服务器代码

  • 创建工程
    1
    2
    3
    
    mkdir mediaserver
    cd mediaserver
    vim app.js
    
  • 添加代码 ```js 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();

1
2
3
4
## 安装依赖
```bash
npm i node-media-server

运行

1
node app.js

推流到流服务器

下面的命令经过 node-media-server 后会生成 rtmp(可以在电脑上播放) 和 flv(可以在手机和电脑上播放) 流。

  • rtmp 地址为:rtmp://127.0.0.1:1935/live/my_stream_name
  • flv 地址为:http://127.0.0.1:8000/live/my_stream_name.flv
1
2
3
ffmpeg -re -i ./test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1:1935/live/my_stream_name
# 或者
ffmpeg -re -i ./video.mp4 -c copy -f flv rtmp://127.0.0.1:1935/live/my_stream_name
本文由作者按照 CC BY 4.0 进行授权

© xiongyi. 保留部分权利。

|

岂堪久蔽苍苍色,须放三光照九州