我正在参与「启航方案」
前语
看到张大妈网站有一个非常火的文章,分享如何运用docker 布置一个24小时直播推流的服务薅羊毛,正好有闲置的服务器,然后每天收益大概有1元钱,于是就想试一下。
项目介绍
项目地址:bytelang/kplayer-go
项目介绍看图
布置
第一步预备docker 镜像
docker pull bytelang/kplayer:latest
预备装备文件途径映射
预备工作,预备三个文件/文件夹映射
1.装备文件映射
2.播映资源的文件夹映射
3.缓存目录的映射
我的服务器是Linux Centos体系,服务器叫宿主机。
宿主机文件地址是需求自己自定义的
- 宿主机播映资源文件地址(放了一些抖音视频):/home/***/mp4
- 宿主机装备文件(稍后再说):/home/***/kplayer/config.json
- 宿主机直播编码缓存文件地址 :/home/***/kplayer/cache
容器映射的文件目录是固定的
宿主机播映资源文件地址是依据config.json内容装备文件来定义的
- 容器播映资源文件地址:/video
- 宿主机装备文件(有必要固定的地址):/kplayer/config.json
- 容器播映资源文件地址(有必要固定的地址):/kplayer/cache
获取BiliBili 直播推流地址
1.首页直播:
2.网页右侧开播设置:
3.挑选分类,点击开播,前提是需求身份证和姓名实名认证:
4.得到直播推流地址:
服务器地址
拼接上 串流密钥
便是推流的地址:
rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_******_******&key=**************&schedule=rtmp&pflag=1
config.json装备文件内容
在宿主机/home/***/kplayer/config.json内容如下(把上面获取的推流地址替换到下面的装备文件中) :
{
"version": "2.0.0",
"resource": {
"lists": [
"/video/"
],
"extensions": ["mp4"]
},
"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,
"cache_on": true,
"play_model": "random",
}
}
注意 ['resource']['lists']
的装备内容便是 容器内的播映资源文件地址
"cache_on":true
便是启用推流编码缓存,会生成缓存,命中缓存节省CPU资源
"play_model": "random"
便是在播映列表中随机播映
启动运行
运用docker 运行容器 加上上面的文件目录映射就可以了:
docker run -td --name=kplayer -v /home/***/mp4:/video -v /home/***/kplayer/config.json:/kplayer/config.json -v /home/***/kplayer/cache:/kplayer/cache --restart=always bytelang/kplayer:latest
运用docker logs kplayer
查看日志,看到下面的日志就表明成功了:
拜访直播地址也正常直播了。