explaingit

minirylai/bilibiliwith163

15JavaScriptAudience · generalComplexity · 2/5LicenseSetup · moderate

TLDR

A song request tool for Bilibili livestreamers that reads viewer chat commands, searches NetEase Cloud Music, and plays audio through a local mpv player so sound never cuts out when OBS is minimized.

Mindmap

mindmap
  root((bilibiliwith163))
    What It Does
      Viewer song requests
      Live chat integration
    How It Works
      Reads Bilibili chat
      Searches NetEase Music
      Plays via local mpv
    OBS Integration
      Browser source overlay
      Song name display
      Queue display
    Controls
      Pause skip clear
      Control panel dashboard
    Tech Stack
      JavaScript
      Node.js
      mpv player
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Let Bilibili viewers request songs in live chat and hear them played automatically on stream without manual searching.

USE CASE 2

Display a live song queue and current track name in an OBS browser source overlay during a stream.

USE CASE 3

Control playback from a dashboard with pause, skip, and clear-queue buttons while streaming on Bilibili.

Tech stack

JavaScriptNode.js

Getting it running

Difficulty · moderate Time to first run · 30min

Requires mpv media player on the streamer's PC and a Bilibili session cookie, NetEase login uses a QR code scan.

MIT license, use freely for any purpose including commercially, as long as you keep the copyright notice.

In plain English

Bilibiliwith163 is a song request tool for Bilibili livestreamers (Bilibili is a major video and live streaming platform in China). The README is written in Chinese. Viewers watching the stream can type a request in the live chat, for example "point song Jay Chou Sunny Day," and the tool picks it up, searches for that song on NetEase Cloud Music (a popular Chinese music platform), and adds it to a playback queue. Audio playback is handled by a local media player called mpv running on the streamer's computer. This is a deliberate design choice: because the sound comes from a local process rather than a browser, it does not cut out if OBS is minimized or if the browser source gets throttled by the operating system. The OBS overlay, a browser source pointed at a local web address, only shows the current song name and queue display without being responsible for the audio. The tool connects to the Bilibili chat feed using the streamer's room ID and a session cookie stored in a local configuration file. For NetEase Cloud Music, the streamer logs in by scanning a QR code from a built-in control panel. Playback commands (pause, skip, clear queue, stop) are also available from that control panel. The project is distributed as a Windows executable with a zip archive on the Releases page. There is a one-click installer built in for downloading a portable copy of mpv if the streamer does not already have a media player. The source code requires Node.js 18 or later and is written in JavaScript. The license is MIT.

Copy-paste prompts

Prompt 1
I want to set up bilibiliwith163 for my Bilibili stream. Walk me through finding my room ID, getting the session cookie, and logging into NetEase Cloud Music via QR code.
Prompt 2
A viewer requested a song in chat but it is not playing. What are the most common reasons bilibiliwith163 fails to find or queue a track?
Prompt 3
How do I add bilibiliwith163 as a browser source in OBS so the current song name shows on stream without the browser source handling the audio?
Open on GitHub → Explain another repo

← minirylai on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.