首页 > 编程语言 >Node+OBS直播服务器搭建总结

Node+OBS直播服务器搭建总结

时间:2023-08-11 09:56:20浏览次数:38  
标签:Node live 直播 3002 服务器 推流 OBS localhost

目录

  • 直播流媒体协议
  • 拉流与推流
  • Node服务搭建
  • 前端播放页面
  • OBS推流配置

直播流媒体协议

先来了解一下基本的直播流媒体协议。

拉流与推流

推流,指的是把采集阶段封包好的内容传输到服务器的过程。

拉流, 指服务器已有直播内容,用指定地址进行拉取的过程。

Node服务搭建

  • 安装依赖包

这次使用node-media-server包,来搭建,获取更多请访问

mkdir live
cd live
npm init -y
npm i node-media-server

引入包,编写配置文件

// server.js
const nodeMediaServer = require('node-media-server');
const config = {
    rtmp: {
        port: 3001,
        chunk_size: 6000,
        gop_cache: true,
        ping: 30,
        ping_timeout: 60
    },
    http: {
        port: 3002,
        allow_origin: "*"
    }
}

const nms = new nodeMediaServer(config);

nms.run();

启动以后会输入一下内容

D:\live>node server.js
2021/8/22 14:52:19 9588 [INFO] Node Media Server v2.3.8
2021/8/22 14:52:19 9588 [INFO] Node Media Rtmp Server started on port: 3001
2021/8/22 14:52:19 9588 [INFO] Node Media Http Server started on port: 3002
2021/8/22 14:52:19 9588 [INFO] Node Media WebSocket Server started on port: 3002

如果打印出以上内容,说明一个rtmp的直播服务器就已经搭建成功了。

  • 拉推流地址

AppName就是App名称;StreamName就是流名称。

推流地址:

url: rtmp://localhost/live key: STREAM_NAME

拉流地址:

rtmprtmp://localhost:port/live/STREAM_NAME
http-flvhttp://localhost:3002/live/STREAM_NAME.flv
HLShttp://localhost:3002/live/STREAM_NAME/index.m3u8
DASHhttp://localhost:3002/live/STREAM_NAME/index.mpd
websocket-flvws://localhost:3002/live/STREAM_NAME.flv

这里主要使用的推流地址是:rtmp://localhost/xqlive/demo,拉流地址是http://localhost:3002/xqlive/demo.flv

前端播放页面

这里主要是使用flv.js进行播放。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>云直播</title>
    <style>
        #live {
            margin: 0 auto;
            display: block;
            min-width: 300px;
            max-width: 600px;
            width: 100%;
        }
    </style>
</head>

<body>
    <video id="live" playsinline controls src="" poster="./img/poster.jpg"></video>
    <script src="js/flv.min.js"></script>
    <script>
        if (flvjs.isSupported()) {
            let ve = document.getElementById('live');
            let flvPlayer = flvjs.createPlayer({
                type: 'flv',
                url: 'http://localhost:3002/xqlive/demo.flv'
            });
            flvPlayer.attachMediaElement(ve);
            flvPlayer.load();
            flvPlayer.play();
        }
    </script>
</body>

</html>

看一下效果

OBS推流配置

这里使用OBS进行推流直播。

OBS下载地址

下载好后安装然后打开主页面,找到文件=》设置=》推流

然后填写好地址与密钥就好了。

 

接着选择媒体源开始推流。

  • 推流界面

下面是我选择的一段小视频进行推流直播。

 

  • 播放界面

 

除了媒体源,你还可以选择直播显示器桌面,直播文字,直播图片,以及开启摄像头直播你自己,都可以。

如果你要部署到线上的话,要保障你的服务器带宽至少在10MB左右,不然就会很卡的。

好了,自建直播就介绍到这里,如果你进行商业化服务,那就要购买云计算服务商的云直播服务了,那个是非常流程的清晰的,但是是根据直播带宽或者流量计费的。

标签:Node,live,直播,3002,服务器,推流,OBS,localhost
From: https://www.cnblogs.com/caicz/p/17622264.html

相关文章

  • docker-compose搭建Ftp服务器
    version:"3"services:ftp:image:fauria/vsftpdcontainer_name:vsftpdhostname:ftpprivileged:trueuser:rootports:-"21:21"-"20:20"-"21100-21110:21100-21110"......
  • win7 + cygwin + nodejs很详细的安装步骤
    win7下安装node.js详细步骤1.下载cygwin:http://cygwin.com/setup.exe2.安装cygwin几个要点:(1)InstallfromInternet,安装程序在后面步骤会下载大量文件。(2)RootDirectory,是Cygwin的安装目录。(3)LocalPackageDirectory,是存放所有下载文件的目录,子目录名即下载镜像网址,子目录下的rele......
  • 使用服务器时的一些心得
    大家好,这是我的第三篇文章,这篇文章会分享我使用服务器的一些心得我用的服务器是阿里云的规格是1核(vCPU)2GiB40GB的存储 系统是Ubuntu22.0464位UEFI版因为我是新人所以我免费申请试用了一下这个规格够新手练手了我在上面想搭建一个网页但是网页也没有那么好搭建我在前文也......
  • Ubuntu 22.04安装Node.JS和NPM
    sudoaptpurgenodejssudoaptautoremovesudoaptupdatesudoaptinstall-ycurlcurl-fsSLhttps://deb.nodesource.com/setup_18.x|sudo-Ebash-sudoaptinstallnodejsbuild-essential-y......
  • 服务器租用和服务器托管各有哪些优势?
    服务器租用和服务器托管各有哪些优势?企业使用服务器时,可选择租用服务器或托管服务器。两者的相似之处在于都把服务器放在一起IDC服务提供商的机房,但两者的区别在于谁配置了服务器。例如,租赁服务器业务通常是直接租赁商的云服务器产品,服务器托管通常由客户自行购买并交给服务提供商......
  • 常见的服务器安全管理漏洞
    常见的服务器安全管理漏洞企业信息化技术的应用,以不可逆转。随着文件服务器、ERP管理软件等等在企业中生根发芽,应用服务器也逐渐在企业中普及起来。以前在企业中有一台应用服务器已经是了不起的事情,现在有两台、三台的,也不为怪了。但是,企业应用服务器虽然增加了,可是对这个应用服......
  • Linux下搭建Nginx+nginx-rtmp-module流媒体服务器
    今天我们使用的是linux系统为Centos64位服务器。下载安装nginx首先新建nginx目录存放nginx:mkdirnginx1然后进入nginx目录分别下载nginx及nginx-rtmp-module:进入nginx目录cdnginx下载nginxwgethttp://nginx.org/download/nginx-1.17.9.tar.gz下载nginx-rtmp-modulehttps://codel......
  • 服务器数据恢复-断电导致ext4文件系统分区无法正常访问的数据恢复案例
    服务器数据恢复环境:一台服务器挂载一台存储设备,存储中划分一个Lun;服务器操作系统是Linuxcentos,EXT4文件系统。服务器故障&分析:意外断电导致服务器操作系统无法启动,系统在修复后可以正常启动,但是挂载的分区无法正常访问。管理员对这个分区执行了fsck修复,修复后文件系统可以正常......
  • 禁用账号密码使用ssh私钥登录服务器
    1、生成ssh信息id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢失后就无法再登陆了)建议删除服务器端的私钥。公钥则可以任意公开。ssh-keygen-trsa--------------------------------------输入生成的名称密码确认密码2、公钥导入到系统中cat/roo......
  • Mac下终端密钥登录linux服务器
    通常我们登录Linux有两种方法:密码或密钥密码登录每次都要输入用户名密码比较麻烦,而使用密钥则可以避免这个问题一、创建密钥对打开终端,输入以下命令ssh-keygen-trsa-C'[email protected]'-t指定密钥类型,默认即rsa,可以省略-C设置注释文字,比如你的邮箱或者服务......