1. 介绍

B站等平台有许多直播活动,只要进行直播就可以获得贝壳(可兑换为软妹币)

使用kplayer可以实现1-n个视频的循环直播

2. 项目展示

FFmpeg

FFmpeg是一套用于记录、转换数字音频和视频,并能将其转化为流的开源计算机程序,几乎所有的流媒体应用都基于FFmpeg开发

KPlayer

KPlayer是一个低成本搭建视频推流功能的工具。相比OBS等依赖图形化界面的推流方案,KPlayer无需图形界面,可在任何服务器或云服务器上部署,实现多视频资源的无缝推流

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

3.环境准备

  • 服务器: 本期使用的是良心云轻量云服务器
  • 系统: centos7.9
  • 最好安装有宝塔面板,以便后面的自动任务
  • 默认root用户登录

4.开始搭建

服务器初始设置

yum update -y && yum install -y docker #先把服务器的包更新一下,然后安装docker

systemctl start docker #启动docker

systemctl enable docker #把docker设置为开机启动

安装kplayer

mkdir /data/kplayer #创建安装目录

cd /data/kplayer

curl -fsSL get.kplayer.net | bash #安装kplayer

vi config.json
{
    "version": "2.0.0",
    "resource": {
        "lists": [
            "/data/kplayer/1.mp4" //这里填循环地址,可多视频
        ]
    },
    "play": {
      "play_model": "loop"
    },
    "encode": {
      "video_width": 1920,
      "video_height": 1080,
      "video_fps": 24,
      "bit_rate": 2000
    },
    "output": {
        "lists": [
            {
                "path": "" //这里填直播地址
            }
        ]
    }
}

打开你想要直播平台的开播设置,这里以b站为例链接

点击开始直播就会有一个服务器地址和一个串流秘钥

image-20220524122651450

复制你的服务器地址和串流秘钥一起填进config.json终端path里(组合填进)

image-20220524122805713

设置好后文件目录是这样的

image-20220524123619520

用这条命令启动直播

cd /data/kplayer && ./kplayer play start -d

可以保存成一个.sh脚本,想要直播的时候bash一下就好了,或者想我一样设置一个快捷命令

image-20220524123539008

如果显示erpo就是有一个kplayer在运行

image-20220524122839095

kill 20273 #填pid

再次运行命令显示info就成功了

image-20220524122916006

进入直播间可以确认一下

image-20220524123859776

这是我直播的数据,直播一段时间会被掐掉,需要重新开启直播

image-20220524124012928

开启直播的时候把串流秘钥复制一下,编辑config.json吧?和后面的替换掉然后运行命令就好了

image-20220524122651450