通过Docker实现B站视频推流
Contents
可以使用kplayer在B站做一个7*24小时的直播小电台。
安装流程:
首先是Kplayer的官方GitHub:bytelang/kplayer-go ,然后是官方文档 。 如果是Linux系统直接安装,根据官方文档安装就可以,很简单。如果是Docker安装,参照以下流程:
DOCKER安装:
在官方档案里也有docker安装教程,写的比较简单,可以参考,当然我写的会更详细。 用SSH工具连接主机,直接执行以下命令安装并运行docker镜像:
sudo docker run -it --name kplayer \
-v /srv/dev-disk-by-uuid-BE0EC6590EC60A7B/live:/video \
-v /srv/dev-disk-by-uuid-BE0EC6590EC60A7B/kplayercache:/kplayer/cache \
-v /opt/kplayer/config.json:/kplayer/config.json \
-v /opt/kplayer/log:/kplayer/log \
bytelang/kplayer:latest
提示:
- /srv/dev-disk-by-uuid-BE0EC6590EC60A7B/live要替换成自己机器上放置视频文件的路径(必填)。
- /srv/dev-disk-by-uuid-BE0EC6590EC60A7B/kplayercache这个是指定视频缓存文件的位置,这一行不写也行。
- /opt/kplayer/config.json这个是KPlayer的配置文件,很重要,稍后需要修改内容(必填)。
- /opt/kplayer/log这个是KPlayer的Log文件,可以查看运行时的一些日志记录,排除故障等。
运行之后,找到对应的config.json文件夹,例如上文对应的是/opt/kplayer/config.json
,文件的内容,建议如下:
{
"version": "2.0.0",
"resource": {
"lists": [
"/video/"
],
"extensions": [ "mp4", "flv" ]
},
"play": {
"play_model": "loop",
"encode_model": "rtmp",
"skip_invalid_resource": true,
"fill_strategy": "ratio",
"cache_on": true,
"rpc": {
"on": true,
"port": 4156,
"address": "127.0.0.1"
},
"encode": {
"video_width": 1280,
"video_height": 720,
"video_fps": 24,
"audio_channel_layout": 3,
"audio_channels": 2,
"audio_sample_rate": 48000
}
},
"output": {
"reconnect_internal": -1,
"lists": [
{
"path": "rtmp://这里是推流链接"
}
]
}
}
在B站直播页面,“开播设置"里,找到自己的推流链接(服务器地址+串流秘钥),替换到上方的json文件对应位置(参照下图)并保存。 修改完成后,在控制台输入下列内容,即可重启docker,使配置文件生效:
docker restart kplayer
如果推流不正常,可以查看/opt/kplayer/log文件夹中的log记录,排查问题。