可能很多人都用 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 下载文件
此项目是Github开源项目,在原作者的代码上做了些更改以及优化,使其方便操作以及直播。
源文件下载:微软云直连
1.2 安装Python
既然是Python脚本,就必须要有Python环境;可以到Python官网下载
点击Dowinloads下载安装即可,安装时勾选 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开源项目,在原作者的代码是做了些更改以及优化,使其更方便操作以及直播。
源文件下载:https://qiyunboke.lanzoul.com/iax5a15m5c4f
或者直接输入下载命令
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.gz
cd BiliLive-Auto-Streaming-change/
2.2 安装python依赖
一般Linux自带Python
更新并安装依赖,依赖是该文件夹下的requirements.txt
apt update
apt -y upgrade
apt install -y python3-pip
pip 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--
}
}
如果你想要直播番剧电影之类的,推荐直播分区设置为646,生活分享区
type为file时,表示该文件夹下videos.txt的文件路径(或视频直链),一行一个
type为folder时,表示播放video_path变量的文件夹下所有的文件,该文件夹只能有视频文件
- 最后,一切准备就绪,开始直播
python3 main.py
4.结束
你可以想办法直播爆金币,但其实直播动画收益不高,变成用爱发电。