大家好,我是 Java陈序员。
不知道大家平时看不看直播呢?现在有各式各样的直播,游戏直播、户外直播、带货直播、经典电视/电影直播等等。
电视、电影直播是24小时不间断无人直播,如斗鱼/虎牙中的一起看,这种直播要如何实现呢?
其实非常简单,只需要一台服务器和视频资源就能完成。
再借助于直播推流工具,如 KPlayer,将电视剧、电影等媒体资源推流到直播间,就能实现24小时无人直播了!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
KPlayer 简介KPlayer —— ByteLang Studio 设计开发的一款用于在 Linux 环境下进行媒体资源推流的应用程序。
只需要简单的修改配置文件即可达到开箱即用的目的,不需要了解众多推流适配、视频编解码的细节即可方便的将媒体资源在主流直播平台上进行直播。意愿是提供一个简单易上手、扩展丰富、性能优秀适合长时间不间断推流的直播推流场景。
功能特色:
本地/网络视频资源的无缝推流,切换资源不导致断流可自定义配置的编码参数,例如分辨率、帧率等自定义多输出源,适合相同内容一次编码多路推流节省硬件资源提供缓存机制避免相同内容二次编解码,大大降低在循环场景下对硬件资源的消耗丰富的API接口在运行时对播放行为和资源动态控制提供基础插件并具备自定义插件开发的能力项目地址:https://github.com/bytelang/kplayer-go在线文档:https://docs.kplayer.net/v0.5.8/安装 KPlayerKPlayer 支持一键安装、手动安装和 Docker 安装。
一键安装通过 ssh 进入到你的服务器中,找到合适的目录并运行以下的命令进行下载:
curl -fsSL get.kplayer.net | bash手动安装(可选)1、下载压缩包
wget http://download.bytelang.cn/kplayer-v0.5.8-linux_amd64.tar.gz2、解压压缩包
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 kplayerconfig.json.example 是 KPlayer 最小化的配置信息示例kplayer 是 KPlayer 服务启动、停止的执行脚本命令2、使用 ./kplayer 命令查看当前版本
创建配置文件1、使用 cp 命令重命名并复制一份 config.json.example
cp config.json.example config.json2、修改配置文件
{ "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 视频路径
❗❗❗注意:直播的媒体文件必须得有平台版权,否则就会被投诉,封禁直播间❗
{ "version": "2.0.0", "resource": { "lists": [ "/data/software/movie/WechatMomentScreenshot.mp4", "/data/software/movie/IT Tools.mp4", "/data/software/movie/EasyCode.mp4", "/data/software/movie/TinyRDM.mp4", "/data/software/movie/Fooocus.mp4", "/data/software/movie/Stirling-PDF.mp4" ] }, "output": { "lists": [ { "path": "rtmp://127.0.0.1:1935/push" } ] } }}获取推流地址以开启B站直播为例。
1、点击首页直播
2、点击网页右侧的开播设置
3、选择分类,点击开播
前提需要身份证和姓名实名认证
4、复制直播间地址
rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_*********_********&key=**************&schedule=rtmp&pflag=15、将直播间地址配置到 KPlayer 配置文件中的 output.lists 直播推流地址
{ "version": "2.0.0", "resource": { "lists": [ "/data/software/movie/WechatMomentScreenshot.mp4", "/data/software/movie/IT Tools.mp4", "/data/software/movie/EasyCode.mp4", "/data/software/movie/TinyRDM.mp4", "/data/software/movie/Fooocus.mp4", "/data/software/movie/Stirling-PDF.mp4" ] }, "output": { "lists": [ { "path": "rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_*********_********&key=**************&schedule=rtmp&pflag=1" } ] }}运行 KPlayer执行以下命令启动 KPlayer
./kplayer play start后台运行 KPlayer
./kplayer play start --daemon测试访问打开直播间地址,可以看到已经开始直播了。
斗鱼、虎牙等其他直播平台的直播配置也是类似的流程,只需要获取到平台的直播推流地址,并进行配置即可!可以同时配置多个平台同时进行直播!
配置循环播放KPlayer 提供了很多的配置项,有资源配置、播放配置等。
如:可以配置循环播放视频,这样就可以保证24小时不间断的循环播放视频。
{ "version": "2.0.0", "resource": { "lists": [ "/data/software/movie/WechatMomentScreenshot.mp4", "/data/software/movie/IT Tools.mp4", "/data/software/movie/EasyCode.mp4", "/data/software/movie/TinyRDM.mp4", "/data/software/movie/Fooocus.mp4", "/data/software/movie/Stirling-PDF.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 提供的文档。
Docker 安装 KPlayer1、创建缓存目录 /data/software/docker/kplayer/cache
cd /data/software/docker/kplayermkdir cache2、创建配置文件 /data/software/docker/kplayer/config.json
cd /data/software/docker/kplayertouch config.json填入配置信息:
{ "version": "2.0.0", "resource": { "lists": [ "/data/software/movie/WechatMomentScreenshot.mp4", "/data/software/movie/IT Tools.mp4", "/data/software/movie/EasyCode.mp4", "/data/software/movie/TinyRDM.mp4", "/data/software/movie/Fooocus.mp4", "/data/software/movie/Stirling-PDF.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" }}2、创建 docker-compose.yml
version: "3.3"services: kplayer: container_name: kplayer volumes: - "/data/software/movie:/video" - "/data/software/docker/kplayer/config.json:/kplayer/config.json" - "/data/software/docker/kplayer/cache:/kplayer/cache" restart: always image: "bytelang/kplayer"3、启动容器
docker-compose up -d以上,就是利用服务器搭建个人直播间的全流程,整个步骤不是很复杂。
我们可以利用闲置的服务器,将自己收藏的电影、电视等资源进行全天候直播,每天还能获得一定的收益!
❗❗❗注意:直播的媒体文件必须得有平台版权,否则就会被投诉,封禁直播间❗
最后推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:
https://github.com/chenyl8848/great-open-source-project或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!