编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

教程:使用树莓派搭建B站弹幕点歌台

wxchong 2024-07-18 09:54:42 开源技术 30 ℃ 0 评论

看到标题可能要有人问了:夏天好像看到过这篇教程了诶……

别急,这个是新做的哦,老的那个是使用网页点歌的,十分简陋。

本教程脚本主要功能如下:

  • 弹幕点歌

  • 弹幕点MV

  • 弹幕反馈(弹幕机器人)

  • 旧版已经实现的视频推流功能

  • 自定义介绍字幕

  • 最基础的歌词显示

  • 切歌

  • 排队歌曲查询

  • 闲时随机播放预留歌曲

  • 播放音乐时背景图片随机选择

已知问题:

  • 树莓派渲染速度过慢

  • 换歌时会闪断(预留图片换为统一的1280x720,可以在一定程度上缓解该问题,但是不能根除)

搭建效果:

下面就开始搭建方法介绍吧,比较繁琐,所以不涉及解释代码思路及原理,如果有人需要详细解释弹幕获取与发送原理的话,请在评论区留言,我会再投稿进行解释。

我这里用的是树莓派3B(新买的哦),系统2017-09-07-raspbian-stretch.img,官方默认软件源。

板载WiFi的树莓派3B,不用连网线,十分方便

先安装依赖:

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?git://git.videolan.org/x264
cd?x264
./configure?--host=arm-unknown-linux-gnueabi?--enable-static?--disable-opencl
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

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

wget?http://ffmpeg.org/releases/ffmpeg-3.3.2.tar.bz2
tar?jxvf?ffmpeg-3.3.2.tar.bz2
cd?ffmpeg-3.3.2
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

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

原文地址

安装python3的一个库:

sudo?pip3?install?mutagen

安装screen:

sudo?apt-get?install?screen

安装中文字体:

apt?install?fontconfig
apt-get?install?ttf-mscorefonts-installer
apt-get?install?-y?--force-yes?--no-install-recommends?fonts-wqy-microhei
apt-get?install?-y?--force-yes?--no-install-recommends?ttf-wqy-zenhei

#可能有装不上的,应该问题不大

#查看中文字体--确认字体是否安装成功

fc-list?:lang=zh-cn

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

下载&运行:

下载本项目:

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

请修改下载里的var_set.py文件中的各种变量。其中,cookie需要使用小号(大号也行)在直播间打开浏览器审查元素,先发一条弹幕,再查看network选项卡,找到name为send的项目,Request head中的Cookie即为cookie变量的值。注意,设置后,换账号不能点击网页上的“退出登陆”按键,换账号请直接清除当前cookie再刷新。

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

“default_mp3”文件夹内放入mp3格式的音乐,在无人点歌时播放,请尽量保证文件名全英文。

“default_pic”文件夹内放入jpg格式的音乐,用于做为放音乐时的背景,请尽量保证文件名全英文。

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

screen?python3?post_dm.py

#按ctrl+a,按ctrl+d

screen?python3?play.py

#按ctrl+a,按ctrl+d

如果有任何建议,欢迎到Github提交issue~

Github地址

想看到更多这类内容?去APP商店搜IT之家,天天都有小欢喜。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表