• Stars
    star
    463
  • Rank 94,409 (Top 2 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 7 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎦树莓派/VPS驱动的b站直播弹幕点播台,代码写得很烂,看之前请吃点降压药。已计划重写

24h-raspberry-live-on-bilibili

All Contributors

树莓派驱动的b站直播点播台

demo:http://live.bilibili.com/16703

注意这个是新项目,查看旧版的代码请打开“old”分支查看(旧版为网页点歌版)

本项目有两个链接:

GitHub:https://github.com/chenxuuu/24h-raspberry-live-on-bilibili.git

git.osc:https://gitee.com/Young_For_You/24h-raspberry-live-on-bilibili.git


同时也可以去用smilecc大佬重构的版本:

blive-raspberry(https://github.com/smilecc/blive-raspberry)


本项目基本编写完毕,已经有的功能为:

  • 弹幕点歌
  • 弹幕点MV
  • 弹幕反馈(发送弹幕)
  • 旧版实现的视频推流功能
  • 自定义介绍字幕
  • 歌词滚动显示,同时滚动显示翻译歌词
  • 切歌
  • 显示排队播放歌曲,渲染视频
  • 通过弹幕获取实时cpu温度
  • 闲时随机播放预留歌曲
  • 播放音乐时背景图片随机选择
  • 可点播b站任意视频(会员限制除外,番剧根据b站规定,禁止点播)(接口暂时失效)
  • 已点播歌曲、视频自动进入缓存,无人点播时随机播放
  • 存储空间达到设定值时,自动按点播时间顺序删除音乐、视频来释放空间
  • 实时显示歌曲/视频长度
  • 根据投喂礼物的多少来决定是否允许点播

已知问题:

  • 换歌、视频时会闪断

食用方法:

我这里用的是树莓派3B,系统2017-09-07-raspbian-stretch.img,官方默认软件源,其他配置请自测

先准备餐具:

sudo apt-get update
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo wget zlib1g-dev

安装x264编码器(时间较长):

git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl --enable-shared
make
sudo make install
cd ..
rm -rf x264

libmp3lame:

sudo apt-get install libmp3lame-dev

libopus:

sudo apt-get install libopus-dev

libvpx:

sudo apt-get install libvpx-dev

libomxil-bellagio:

sudo apt-get install libomxil-bellagio-dev

编译并安装ffmpeg(时间较长,半小时左右):

wget http://ffmpeg.org/releases/ffmpeg-4.0.tar.bz2
tar jxvf ffmpeg-4.0.tar.bz2
cd ffmpeg-4.0
sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-libass --enable-libfreetype  --enable-omx --enable-omx-rpi --enable-encoder=h264_omx --enable-mmal --enable-hwaccel=h264_mmal --enable-decoder=h264_mmal
make -j4
sudo make install
cd ..

(以上有一部分代码参考自ffmpeg源码编译安装(Compile ffmpeg with source) Part 2 : 扩展安装 - 人脑之战 - 博客园

安装python3:

sudo apt-get install python3

安装pip3:

sudo apt-get install python3-pip

安装python3的mutagen库:

sudo pip3 install mutagen

安装python3的you-get库:

sudo pip3 install you-get

安装python3的moviepy库:

sudo pip3 install moviepy

安装python3的aiohttp库:

sudo pip3 install aiohttp

安装python3的numpy需要的库:

sudo apt-get install libatlas-base-dev

安装python3的requests库:

sudo pip3 install requests

安装screen:

sudo apt-get install screen

安装中文字体

sudo apt install fontconfig
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install -y --force-yes --no-install-recommends fonts-wqy-microhei
sudo apt-get install -y --force-yes --no-install-recommends ttf-wqy-zenhei
#可能有装不上的,应该问题不大

# 查看中文字体 --确认字体是否安装成功
fc-list :lang=zh-cn

(字体安装来自ubuntu下 bilibili直播推流 ffmpeg rtmp推送

设置显存

打开树莓派设置:

sudo raspi-config

选择Advanced Options,回车

选择Memory Split,回车

把数值改成256

回车,接着退出设置,重启树莓派

烹饪&摆盘:

下载本项目:

git clone https://github.com/chenxuuu/24h-raspberry-live-on-bilibili.git

git clone https://gitee.com/Young_For_You/24h-raspberry-live-on-bilibili.git

请修改下载里的var_set.py文件中的各种变量 其中,cookie需要使用小号(尽量使用小号,并且b站账户好像需要绑定手机号后才能发送弹幕)在直播间,打开浏览器审查元素,先发一条弹幕,再查看network选项卡,找到namesend的项目,Form data中的csrf_token即为csrf_token变量的值。注意设置后,账号不能点击网页上的“退出登陆”按键,换账号请直接清除当前cookie再刷新

接着,点击控制台(console),输入document.cookie然后回车,返回值即为cookie变量的值。

csrf_token请填写Request head中的csrf_token

post_dm.py文件的if(user == '接待喵'): #防止自循环请改为你的机器人的名字

标注#debug使用,请自己修改的代码请自行修改,此为debug用的代码

如有条件,请务必自己搭建php的下载链接解析服务,源码都在php文件夹内

default_mp3文件夹内放入mp3格式的音乐,在无人点歌时播放,请尽量保证文件名全英文(可要可不要,因为现在已经改为放点播过的缓存歌曲、视频了)

default_pic文件夹内放入jpg格式的图片,用于做为放音乐时的背景,请尽量保证文件名全英文,分辨率推荐统一处理为1280x720

所有配置完成后,开启直播,然后启动脚本即可:

screen python3 play.py
#按ctrl+a,按ctrl+d
screen python3 bilibiliClient.py
#按ctrl+a,按ctrl+d
#弹幕监控使用了弹幕姬python版:https://github.com/lyyyuna/bilibili_danmu
#感谢弹幕姬python版作者的分享

如有不对的地方,请提交issue,也欢迎各位改进脚本并pr

本程序协议为GPL

Contributors

Thanks goes to these wonderful people (emoji key):

madoka
madoka

💻 🐛
Lvmoo
Lvmoo

💻 🐛
档100
档100

💻 🐛
luojiaquan0320
luojiaquan0320

🐛
寒曦朦
寒曦朦

🤔
Xuewan
Xuewan

🤔
a08381
a08381

🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

More Repositories

1

llcom

🛠功能强大的串口工具。支持Lua自动化处理、串口调试、WinUSB、串口曲线、TCP测试、MQTT测试、编码转换、乱码恢复等功能
C#
801
star
2

sms_forwarding

超低成本硬件短信转发器,只需29.9
Lua
523
star
3

chouxianghua

🤡‍🐘🌸‍抽象话生成器网页/tg版,一键生成抽象话
Lua
298
star
4

Mail-Box-Net-Disk

📬🗂把邮箱变成网盘!全平台可用!配合树莓派可完美备份个人文件 / make your e-mail to a netdisk! based on .net core
C#
124
star
5

receiver-meow

🐱依靠Lua脚本实现功能的QQ机器人插件,基于 .Net 5。 对接OneBot协议。
C#
104
star
6

IoT-Power-Tools

IoT Power的小工具功能(如资源监控器)
Rust
38
star
7

USB-Screen

低成本PC资源监控小屏幕。$5 cheap PC monitor screen.
C
36
star
8

LUATeach

🙋‍♂️快速上手Lua语法,入门Lua开发
Lua
32
star
9

add-one-second-UWP

🐸This is a cilent for time donation project.
C#
30
star
10

lua-online

在线测试lua代码,无需后端。test lua code online.
Lua
26
star
11

v-live-check

📡vtuber live monitor. 监控虚拟主播开播状态,通过telegram机器人和MQTT推送开播提醒。
Python
16
star
12

xuming

为长者续命
HTML
15
star
13

receiver-meow-lua

接待喵lua插件的lua脚本仓库
Lua
12
star
14

LuaTask-csharp

C#下实现Luat Task框架功能,包括定时器、多任务功能。C# with Luat Task framework, include timer and multitask, support .net core.
C#
11
star
15

serialport_monitor

轻量级终端打串口日志工具,代替MobaXterm、SecureCRT、PuTTy,直接用Windows Terminal控制。 Serialport terminal tool
Rust
9
star
16

Long-Link-Builder

⛓make long links~生成长链接
PHP
7
star
17

action

白嫖action跑点东西,欢迎star,随便抄
Python
7
star
18

image2display

(WIP)跨平台的图片与字体数据处理工具,用于生成单片机可用的数据。基本目标为替代image2lcd与PCtoLCD
C#
7
star
19

luatcode

🖊自动补全luat接口代码的vscode插件
5
star
20

LuaRobot

🌝可以即时运行lua脚本并返回结果的qq机器人插件脚本
Lua
5
star
21

cortana-speaker

利用系统TTS接口进行自动化朗读的小工具,开源出来给大家
C#
5
star
22

luatos-eink-server

供luatos墨水屏桌面摆件使用的服务端
Rust
5
star
23

documentGenerator

📘自动生成wiki.openluat.com的接口文档,和vscode代码补全数据
Lua
5
star
24

different-gif-same-md5

生成md5相同,显示图案不同的的两个GIF图。
C
4
star
25

qqshare

JavaScript
4
star
26

Air268-Board

a game console based on Air268F or Air168
Lua
4
star
27

fake-magnet

虚假磁链生成器,纯前端版
CSS
4
star
28

stringConvertTool

Convert strings between hex,url encoding,utf8,gb2312,md5,sha1,sha256,sha512
C#
3
star
29

bv2av

🎬bilibili BV号转AV号 AV号转BV号 Lua版本
Lua
3
star
30

net-test-server

抄 https://netlab.luatos.com/ 写个一样功能的后端
Rust
2
star
31

tcplab.openluat.com

tcplab.openluat.com保活工具
C#
2
star
32

LuatOS-GUI-programmer

图形化的LuatOS烧录工具
2
star
33

osu-keyboards

基于stm32f103c8的osu触盘程序
C
2
star
34

badusb-simple

基本功能版badusb
C
2
star
35

llcom-next

跨平台版本的llcom
C#
2
star
36

simple-Car-remote-controller

C#
2
star
37

Luatools-cli

命令行版luat日志工具,全平台
C#
2
star
38

Minecraft-QQGroupPlubin

服务器 / QQ 群联动插件
C#
1
star
39

SmartCar

C
1
star
40

waifu2x-caffe-morefiles

Visual Basic
1
star
41

eink-calendar-server

电子日历服务端
Rust
1
star
42

chenxuuu-kicad-lib

自用的kicad封装库,本人部分工程使用了这里的库
1
star
43

newup

NewUP,N社主页 - 移至GitHub存放
JavaScript
1
star
44

sweetcreeper-help-page

📗糖拌苦力怕服务器的帮助页面
1
star
45

DAPLink.Net

(WIP) DAPLink library based on LibUsbDotNet
C#
1
star