2017.12.27 使用树莓派搭建B站弹幕点歌台

发布于 2017-12-27  563 次阅读


转自IT之家学院 作者:晨旭喵 责编:文轩

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

  • 弹幕点歌
  • 弹幕点MV
  • 弹幕反馈(弹幕机器人)
  • 旧版已经实现的视频推流功能
  • 自定义介绍字幕
  • 最基础的歌词显示
  • 切歌
  • 排队歌曲查询
  • 闲时随机播放预留歌曲
  • 播放音乐时背景图片随机选择

已知问题:

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

搭建效果:点击这里预览

 

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

先安装依赖:

  1. sudo apt-get update
  1. 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解码器(时间较长):

  1. git clone git://git.videolan.org/x264
  2. cd x264
  3. ./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
  4. make
  5. sudo make install
  6. cd ..
  7. rm -rf x264

安装libmp3lame:

sudo apt-get install libmp3lame-dev

安装libopus:

  1. sudo apt-get install libopus-dev

安装libvpx:

  1. sudo apt-get install libvpx-dev

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

  1. wget http://ffmpeg.org/releases/ffmpeg-3.3.2.tar.bz2
  2. tar jxvf ffmpeg-3.3.2.tar.bz2
  3. cd ffmpeg-3.3.2
  4. 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
  5. make -j4
  6. sudo make install
  7. cd ..

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

安装python3的一个库:

  1. sudo pip3 install mutagen

安装screen:

  1. sudo apt-get install screen

安装中文字体:

  1. apt install fontconfig
  2. apt-get install ttf-mscorefonts-installer
  3. apt-get install -y --force-yes --no-install-recommends fonts-wqy-microhei
  4. apt-get install -y --force-yes --no-install-recommends ttf-wqy-zenhei

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

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

  1. fc-list :lang=zh-cn

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

下载&运行:

下载本项目:

  1. 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格式的音乐,用于做为放音乐时的背景,请尽量保证文件名全英文。

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

  1. screen python3 post_dm.py

#按ctrl+a,按ctrl+d

  1. screen python3 play.py

#按ctrl+a,按ctrl+d

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

Github地址点击这里

--转自IT之家学院

 


公交车司机终于在众人的指责中将座位让给了老太太