【JS】基于node-media-server搭建流媒体服务器示例

★,°:.☆( ̄▽ ̄)/$:.°★
这篇文章主要介绍基于node-media-server搭建流媒体服务器示例。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路

文章目录

    • :smirk:1. node-media-server介绍
    • :blush:2. 环境安装与配置
    • :satisfied:3. 应用示例

1. node-media-server介绍

node-media-server 是一个基于 Node.js 的流媒体服务器,它提供了构建和管理实时音视频流媒体应用程序所需的功能。它是一个开源项目,具有灵活性和可扩展性,适用于各种流媒体应用场景。

以下是一些 node-media-server 的特点和功能:

1.RTMP支持:node-media-server 支持 RTMP(Real-Time Messaging Protocol)协议,用于接收和传输实时的音视频流。RTMP 适用于实时直播和互动应用等场景。

2.多路并发流支持:node-media-server 具有多路并发流处理能力,可以同时处理多个流媒体的接收、转码、推流和录制等操作。

3.高性能和低延迟:node-media-server 的设计注重高性能和低延迟,使其适用于实时应用场景,如实时直播、互动直播和视频聊天等。

4.支持多种编码格式:node-media-server 支持多种常用的音视频编码格式,如 H.264、AAC、VP8 等,使其能够处理不同类型的流媒体数据。

5.功能丰富的 API:node-media-server 提供了丰富的 API,方便开发人员进行配置和管理。你可以通过编写代码来定制和扩展服务器的功能。

6.高度可配置:node-media-server 具有灵活的配置选项,允许你根据特定需求进行定制。你可以配置服务器的端口、流媒体路径、认证方式等。

2. 环境安装与配置

# 安装nodejs和ffmpeg
sudo apt install nodejs ffmpeg
# 安装node-media-server
npm install node-media-server

3. 应用示例

创建app.js,写入:

const NodeMediaServer= require('node-media-server');
const config = {
    rtmp: {
        port: 1935,
        chunk_size: 60000,
        gop_cache: true,
        ping: 60,
        ping_timeout: 30
    },
    http: {
        port: 8000,
        allow_origin: '*',
    }
};
 
var nms = new NodeMediaServer(config)
nms.run();

运行该程序:node app.js

准备好一个mp4视频,用ffmpeg命令行推流(也可自己写程序):

ffmpeg -re -i input.mp4 -c:v copy -c:a copy -f flv rtmp://localhost:1935/live/stream_name

最后效果示例,地址在http://localhost:8000/admin/

请添加图片描述

以上。

你可能感兴趣的:(#,Nodejs,javascript,服务器,开发语言)