前言🗣️
我知道很多人都用kplayer来推流视频,但是kplayer有很多缺点,大多数用户使用的服务器配置不高,使用kplayer推流非常卡顿,及消耗性能又消耗带宽,kplayer有很多缺点,比如:
- kplayer不支持arm架构,这意味着你不能在树莓派、安卓或者其他arm设备上使用它。
- kplayer会卡顿,导致视频画面不流畅,声音不同步,甚至断流,用过的都说卡。
- kplayer不支持直接输出h264视频,必须要转码,这样就会消耗推流设备的性能和电量。
而此python脚本使用的是ffmpeg,它有以下优点:
- ffmpeg支持arm架构,你可以在任何设备上运行它,无论是windows,linux还是安卓。
- ffmpeg可以稳定地推流视频,保证画面和声音的质量和同步。
- ffmpeg支持直接输出h264视频,不需要转码,这样就可以节省推流设备的性能和电量。
实测此脚本流畅运行在1h1g8m的国内机上。需要注意的是,若使用云服务器,请保证服务器位于中国大陆,否则会因为哔哩哔哩的限制导致无法开播。
1. Windows环境准备
Linux系统(服务器)请看第2章,Windows系统安装完直接跳到第3章
1.1 下载文件
下载文件有两个选项:
1.可以下载我写好的电脑软件,无需下载Python和FFmpeg等任何环境,解压打开gui.exe即可使用
gui.7z - 蓝奏云网盘
点击上方链接即可进入
下载好后解压,打开gui.exe,可以直接参考第三章配置文件部分。
2.如果你的系统不支持直接执行上面的exe文件,那就要下载源文件,并配置环境。
此项目为GitHub开源项目,我在原作者的代码上做了些更改以及优化,使其更方便操作以及直播。
BiliLive-Auto-Streaming-change.zip - 蓝奏云网盘
点击上方链接即可进入
1.2 安装Python
既然是Python脚本,就必须有Python环境;
可以去Python官网下载

点击Downloads下载安装即可,安装时勾选Add Python to PATH
其它按照提示安装即可,还是不会可以点我查看具体教程。
当然,建议安装vscode、pycharm之类的软件,更方便执行Python文件。
1.3 安装依赖库
安装完Python重启后,解压下载的压缩包,并进入相应的文件夹,按住Shift+鼠标右键打开PowerShell。

执行
pip install -r requirements.txt
此步骤是根据当前文件夹的requirements.txt安装依赖;等待安装完成。
1.4 安装FFmpeg
FFmpeg简介:链接
FFmpeg下载:链接
请直接参考此链接(必须),不在文档中教学,此教程很详细!
2. Linux环境准备
以Ubuntu20为例!Windows系统请看第1章
2.1 下载文件
首先用FinalShell之类的ssh软件连接到Linux;然后下载并上传文件。
此项目为GitHub开源项目,我在原作者的代码上做了些更改以及优化,使其更方便操作以及直播。
BiliLive-Auto-Streaming-change.zip - 蓝奏云网盘
点击上方链接即可进入
或者直接输入下载命令
wget https://fs-im-kefu.7moor-fs1.com/29397395/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1689947976118/BiliLive-Auto-Streaming-change.tar.gz
解压进入文件夹
tar -zxvf BiliLive-Auto-Streaming-change.tar.gzcd BiliLive-Auto-Streaming-change/
2.2 安装python依赖
一般Linux自带Python
更新并安装依赖,依赖是该文件夹下的requirements.txt
apt updateapt -y upgradeapt install -y python3-pippip install -r requirements.txt
2.3 安装FFmpeg
apt install ffmpeg
3. 登录直播
- 登录
python3 login.py
此时会输出二维码,扫码登录。
或从
https://api.bilibili.com/x/web-interface/nav
请求中获取 Cookies 填入
- 填写 Config.json 文件
{ "user_info": { "cookies": "", //登录信息,可使用 login.py 自动获取 "room_id": 0, //自己的哔哩哔哩直播房间号 "area": 192 //直播分区ID }, "deploy": { "type": "file", //路径类型,file 表示该文件夹下videos.txt的文件路径(或视频直链),folder表示文件夹路径 "video_path": "video.flv", //视频文件路径 "live_time": 2100 //目标直播时长(单位:秒) //0 表示播完当前视频后停止;-1 表示 24h 持续直播 }, "push": { //推送配置 "telegram": { "enable": false, //是否启用 "group_id": "", "bot_token": "", "proxy": "" //代理地址,支持 socks5 和 http 留空为禁用 } --snip--
}
}
可以用JSON格式化工具格式一下
如果你想直播番剧电影之类的,推荐直播分区设置为646,生活分享区
type为file时,表示该文件夹下videos.txt的文件路径(或视频直链),一行一个
type为folder时,表示播放video_path变量的文件夹下所有的文件,该文件夹只能有视频文件
最后,一切准备就绪,开始直播
python3 main.py
4. 结束
你可以想办法直播爆金币,但其实直播动画可能收益不高,变成用爱发电。
还有不会的或者有错误可以评论,给我留言看到都会回。