Docker部署KPlayer,实现24小时无人直播(B站、斗鱼、虎牙等) 您所在的位置:网站首页 24直播间 Docker部署KPlayer,实现24小时无人直播(B站、斗鱼、虎牙等)

Docker部署KPlayer,实现24小时无人直播(B站、斗鱼、虎牙等)

2024-03-06 11:58| 来源: 网络整理| 查看: 265

文章已同步至【个人博客】,欢迎访问【我的主页】😃 文章地址:blog.fanjunyang.zone/archives/do…

前言

最近有服务器资源闲置起来了,感觉很浪费,想把它利用起来,而且自己收藏的“电影”🎞等资源也比较多(小心侵权),所以准备搞个直播玩一玩。

准备直接用服务器进行直播推流,这样能保证24小时无人直播(真人24小时直播那不得累死)。

可以点击链接去到我的直播间🎥🔞,欢迎大家光临🍿😏

目前网上直播推流的工具也有很多,对比了一下,最终选择了 KPlayer ,因为搭建和使用起来非常简单,而且文档也比较齐全。

准备工作

可以用 Docker 的方式进行搭建,如果不用 Docker 的话,可直接参考 KPlayer 文档进行搭建,也非常简单。其实该项目不用 Docker 的方式反而变的简单。

服务器,国内、国外服务器均可 服务器需安装docker、docker-compose环境,没安装的可参考文章 - docker、docker-compose安装 GitHub地址:github.com/bytelang/kp… Docker镜像地址:hub.docker.com/r/bytelang/… KPlayer文档:docs.kplayer.net B站、斗鱼、虎牙等直播平台账号 搭建方式 创建目录 // 存放视频文件 mkdir -p /root/docker_data/kplayer/video // 存放播放时的缓存数据 mkdir -p /root/docker_data/kplayer/cache cd /root/docker_data/kplayer 上传视频

把你想要直播的视频上传到 /root/docker_data/kplayer/video 文件夹下面

获取直播推流地址

这边以 B站 为例,其他平台大同小异

进入【B站】 -> 点击【直播】 -> 点击【开播设置】 -> 选择分类,点击【开始直播】(需要实名身份证认证) -> 获取【服务器地址】和【串流密钥】

【服务器地址】+【串流密钥】就是推流的地址,格式:rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_******_******&key=**************&schedule=rtmp&pflag=1

创建文件

在 /root/docker_data/kplayer 文件夹下面新建KPlayer配置 config.json 文件如下:

{ "version": "2.0.0", "resource": { # 容器中存放视频的文件夹,可根据 docker-compose.yml 中的配置进行修改 "lists": ["/video"], # 过滤允许播放的文件类型,如mp4、flv等 "extensions": [] }, "output": { "lists": [ { # 推流地址 "path": "rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_******_******&key=**************&schedule=rtmp&pflag=1" } ], "reconnect_internal": 5 }, "play": { "fill_strategy": "ratio", "skip_invalid_resource": true, # 启用推流编码缓存,会生成缓存,命中缓存节约CPU资源 "cache_on": true, # 播放模式,目前为按顺序且循环播放,其他参数请参考KPlayer文档 "play_model": "loop" } }

在 /root/docker_data/kplayer 文件夹下面新建 docker-compose.yml 文件如下:

version: "3.3" services: kplayer: container_name: kplayer volumes: - "/root/docker_data/kplayer/video:/video" - "/root/docker_data/kplayer/config.json:/kplayer/config.json" - "/root/docker_data/kplayer/cache:/kplayer/cache" restart: always image: "bytelang/kplayer" 运行yml文件

进入 /root/docker_data/kplayer 文件夹下面,运行命令:docker-compose up -d

或者在任意文件夹下面,运行命令:docker-compose -f /root/docker_data/kplayer/docker-compose.yml up -d

然后服务就跑起来了,运行 docker ps 能查看到启动的容器了。

执行命令 docker logs kplayer 查看日志,如果看到下面日志就表示成功了:

time="2023-10-21 07:15:41" level=warning msg="open terminal failed" file="cmd/root.go:35" kplayer for golang v0.5.8 Copyright(c) 2019-2023 the ByteLang Studio (https://kplayer.bytelang.cn) libkplayer version: v1.5.4-1-ge0cab16 plugin version: 1.5.1 license version: v1 toolchains GNU(10.3.1) C++ Standard 17 on Linux-x86_64-6.0.2-arch1-1 build with build-chains cmake(3.21.3) type with Release Hope you have a good experience. ------------------------------------------------------------------------------------------------------------------- time="2023-10-21 07:15:41" level=info msg="resource download success" name=default path=resource/font.ttf time="2023-10-21 07:15:41" level=info msg="resource initialization success" name=default type=font time="2023-10-21 07:15:41" level=info msg="grpc server listening" address=127.0.0.1 port=4155 token=false time="2023-10-21 07:15:41" level=info msg="http server listening" address=127.0.0.1 port=4156 token=false time="2023-10-21 07:15:42" level=info msg="core start up success" time="2023-10-21 07:15:42" level=info msg="kplayer start success" time="2023-10-21 07:15:42" level=info msg="output add success" path="rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_******_******&key=**************&schedule=rtmp&pflag=1" unique=N3uAJf time="2023-10-21 07:15:42" level=info msg="checked play resource" duration=2621 end=-1 hit_cache=false path=/video/xxx_01.mkv seek=0 type=resource_input_type_single unique=IBzmqu 访问直播间地址

之后访问你的直播间地址,就可以看到已经在正常直播了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有