搭建24小时无人直播间(B站)

简介

无人直播间是一种自动化直播解决方案,它允许用户在无需人工干预的情况下,持续播放视频内容。这在需要长时间直播,如展示产品、播放教育视频或娱乐内容时非常有用。本文将详细介绍如何使用KPlayer在B站搭建一个24小时无人直播间。

其实非常简单,只需要一台服务器和视频资源就能完成。

KPlayer 简介

KPlayer是由ByteLang Studio设计开发的一款Linux环境下的媒体资源推流应用程序。它旨在简化直播流程,让用户无需深入了解推流适配和视频编解码技术,即可轻松实现直播。

功能特色

  • 无缝推流:支持本地和网络视频资源的无缝推流,资源切换不会导致直播中断。
  • 自定义编码参数:用户可以根据需要调整分辨率、帧率等编码参数。
  • 多输出源:允许同时向多个直播平台推流,而无需重复编码,节省硬件资源。
  • 缓存机制:通过缓存机制避免相同内容的重复编解码,降低硬件资源消耗。
  • API接口:提供丰富的API接口,方便在运行时动态控制播放行为和资源。
  • 插件系统:支持基础插件,并允许用户根据需要开发自定义插件。

项目地址:https://github.com/bytelang/kplayer-go

在线文档:https://docs.kplayer.net/v0.5.8/

安装 KPlayer

KPlayer支持多种安装方式,包括一键安装、手动安装和Docker安装。

一键安装

通过SSH进入服务器,运行以下命令,找到合适的目录并运行以下的命令进行下载:

curl -fsSL get.kplayer.net | bash

手动安装(可选)

  1. 下载压缩包
wget http://download.bytelang.cn/kplayer-v0.5.8-linux_amd64.tar.gz
  1. 解压压缩包
tar zxvf kplayer-v0.5.8-linux_amd64.tar.gz

安装完成

  1. 执行 cd kplayer 进入到 kplayer 目录,使用 ll 查看文件列表:
-rw-r--r-- 1 root root 285 3月  23 18:23 config.json.example
-rwxr-xr-x 1 root root 27M 7月  29 11:12 kplayer
  • config.json.exampleKPlayer 最小化的配置信息示例
  • kplayerKPlayer 服务启动、停止的执行脚本命令
  1. 使用 ./kplayer 命令查看当前版本

image-20240915120751380

创建配置文件

  1. 复制并重命名配置文件: config.json.example
cp config.json.example config.json
  1. 修改配置文件,指定视频资源路径和直播推流地址。
{
    "version": "2.0.0",
    "resource": {
        "lists": [
            "/video/example_1.mp4",
            "/video/example_2.mp4"
        ]
    },
    "output": {
        "lists": [
            {
                "path": "rtmp://127.0.0.1:1935/push"
            }
        ]
    }
}
  • resource.lists 视频资源文件路径
  • output.lists 直播推流地址,在B站、斗鱼、虎牙等直播平台中开启直播后,将会得到推流地址与推流码

开启直播

上传视频

上传视频资源:将视频资源上传至服务器,并修改 KPlayer 中的 resource.lists 视频路径。

注意:确保直播内容拥有相应版权,避免侵权风险。

image-20240915122524321

{
    "version": "2.0.0",
    "resource": {
        "lists": [
            "/creammint/tools/kplayer/movie/test.mp4"
        ]
    },
    "output": {
        "lists": [
            {
                "path": "rtmp://127.0.0.1:1935/push"
            }
        ]
    }
  }
}

获取推流地址

获取推流地址:在B站开启直播,获取推流地址和推流码,并配置到KPlayer。

  1. 点击首页直播

image-20240915122558590

  1. 点击网页右侧的开播设置

image-20240915122645989

  1. 选择分类,点击开播

注:前提需要身份证和姓名实名认证,且粉丝需要达到50人才能使用第三方软件开播。

image-20240915122853261

  1. 复制直播间地址
rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_*********_********&key=**************&schedule=rtmp&pflag=1
  1. 将直播间地址配置到 KPlayer 配置文件中的 output.lists 直播推流地址
{
    "version": "2.0.0",
    "resource": {
        "lists": [
            "/creammint/kplayer/movie/test2.mp4",
            "/creammint/kplayer/movie/test.mp4"
        ]
    },
    "output": {
        "lists": [
            {
                "path": "rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_*********_********&key=**************&schedule=rtmp&pflag=1"
            }
        ]
    }
}

运行 KPlayer

执行以下命令启动 KPlayer

./kplayer play start

image-20240915123044158

image-20240915124015404

后台运行 KPlayer

./kplayer play start --daemon

image-20240915123103653

查看在运行的kplayer

 ps aux | grep kplayer

杀掉进程

kill 22647 

测试访问

打开直播间地址,确认直播已经开始。

image-20240915123516332

多平台支持:斗鱼、虎牙等其他直播平台的配置流程类似,只需获取相应平台的推流地址并进行配置,就可以同时配置多个平台同时进行直播!

配置循环播放

KPlayer支持循环播放配置,确保24小时不间断播放。

{
    "version": "2.0.0",
    "resource": {
        "lists": [
            "/creammint/kplayer/movie/test2.mp4",
            "/creammint/kplayer/movie/test.mp4"
        ]
    },
    "output": {
        "lists": [
            {
                "path": "rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_*********_********&key=**************&schedule=rtmp&pflag=1"
            }
        ]
    },
    ## 播放配置
    "play": {
        "fill_strategy": "ratio",
        ## 启用推流编码缓存,会生成缓存,命中缓存节约CPU资源
        "skip_invalid_resource": true,
        "cache_on": true,
         # 播放模式为按顺序且循环播放
        "play_model": "loop"
  }
}

高级配置

KPlayer还支持更多高级配置,如:

  • 资源预加载:提前加载视频资源,减少播放延迟。
  • 错误处理:配置错误处理策略,如遇到无效资源时自动跳过。
  • 日志记录:开启日志记录,方便问题诊断和性能监控。

更多的配置信息请参考KPlayer提供的在线文档

RTMP(Real-Time Messaging Protocol)是一种流媒体协议,用于在互联网上实时传输音频、视频和数据。RTMP支持点播和直播两种模式,其中直播模式常用于视频直播和游戏直播等场景中。下面是RTMP直播推流的详细介绍: 1. 准备推流工具 推流工具可以将视频、音频等流媒体数据推送到RTMP服务器,常用的推流工具有 OBS、XSplit、FFmpeg 等。其中,OBS(Open Broadcaster Software)是一个开源的推流工具,易于使用且功能强大。 2. 获取RTMP推流地址 在推流之前,需要先获取RTMP服务器的推流地址,一般由直播平台提供。例如,在B站直播中,可以在直播间设置中获取推流地址。 3. 配置推流工具 将获取的RTMP推流地址填入推流工具的设置中,同时根据需要设置视频、音频等参数。例如,在OBS中,可以配置视频分辨率、视频码率、音频码率等参数。 4. 开始推流 当推流工具配置完成后,点击开始推流按钮,即可将流媒体数据推送到RTMP服务器。在推流过程中,可以通过推流工具的界面监控推流状态和推流质量等信息。 5. 直播播放 推流完成后,直播平台即可将推流的视频、音频等流媒体数据转发给观众,观众即可通过直播平台观看直播。在直播过程中,可以通过直播平台的管理后台监控直播状态和观众数据等信息。 需要注意的是,在推流过程中,需要保证网络稳定和带宽充足,否则会影响推流质量和观看体验。另外,推流过程中也需要注意保护个人隐私和知识产权等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值