Bilibili 24小时无人直播教程

前言

我知道很多人都用 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开源项目,在原作者的代码上做了些更改以及优化,使其方便操作以及直播。

源文件下载:https://cynicis.lanzoum.com/iZs6r134tnzg

1.2 安装Python

既然是Python脚本,就必须要有Python环境;可以到Python官网下载

Bilibili 24小时无人直播教程插图

点击Dowinloads下载安装即可,安装时勾选 Add Python to PATH

爱他安装提示安装即可,还是不会可以点我查看具体教程

当然,建议安装vscode、pycharm之类的软件,更方便执行Python文件。

1.3 安装依赖库

安装完Python重启后,解压下载的压缩包,并进入相应的文件夹,按住Shift+鼠标右键打开PowerShell。

Bilibili 24小时无人直播教程插图1

执行 pip install -r requirements.txt

此步骤是根据当前文件夹的requirements.txt安装依赖;

等待安装完成。

1.4 安装FFmpeg

FFmpeg简介:链接

FFmpeg下载:链接

请直接参考此链接(必须),不在文档中教学,此教程很详细!

2.Linux环境准备

以Ubuntu20为例,Windows系统请看第1步

2.1 下载文件

首先用FinalShell之类的SSH软件连接到Linux;然后下载并上传文件。

此项目未Github开源项目,在原作者的代码是做了些更改以及优化,使其更方便操作以及直播。

源文件下载:https://wwgn.lanzoul.com/iXztf150vztc

或者直接输入下载命令

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

 

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容