obs-bilibili-stream: an OBS plugin that fills in the Bilibili push details
这是一个为 OBS Studio 开发的插件,用于简化在 Bilibili 平台上的直播流程。插件支持扫码登录 Bilibili,更新直播间信息,并获取 RTMP 推流地址和推流码。
At a glance
- What is it?
- obs-bilibili-stream is an OBS Studio plugin that logs into Bilibili by QR code, sets your live room title and category, and hands you the RTMP address and stream key to paste into OBS. The packaging is thorough across Windows, macOS, Debian, Flatpak and an unofficial rpm, and the plugin has one hard limit around which OBS installation it will load into.
- Who is it for?
- obs-bilibili-stream fits a streamer on Bilibili who would rather not re-enter the push address and stream key by hand on every session, and who installs OBS from a distribution package rather than the Flatpak build.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The plugin removes the copy and paste from every stream
The repository description states the job in one line. This is a plugin developed for OBS Studio to simplify the live streaming process on the Bilibili platform, and it supports QR code login to Bilibili, updating live room information, and obtaining the RTMP push address and the push key.
Three separate jobs, and they map onto the three things you would otherwise do by hand. You log in, which is otherwise a browser flow with a password or a cookie you have to paste into a config file. You set up the room, which means the title and the category the stream is filed under. And you get the two pieces of information OBS needs, the server address and the stream key.
The implementation is C++, and the repository layout shows a conventional OBS plugin project rather than a script. There is a CMakeLists.txt with a CMakePresets.json, a src directory, a data directory, a cmake directory and a build-aux directory, alongside flathub.json for the Flatpak packaging, a buildspec.json for the distribution builds, a .clang-format file and a .gersemirc file for the commit message format. There is also a com.obsproject.Studio.Plugin.BilibiliStream.yaml and a matching metainfo.xml for the Flatpak metadata, which is what makes the plugin installable as a Flatpak rather than as a loose file.
The README is available in English as README_en.md, and the licence is GPL-2.0.
QR login, then the room title and category
The usage section describes three menu paths under a Bilibili live entry in the OBS menu bar, and the first is authentication.
Login is a QR code scan. You open OBS, go to the Bilibili live menu, choose login, and pick the scan-to-login option, then scan the code with your phone. Once it succeeds, the login status in the menu shows as logged in. The plugin is doing the browser-side session and holding the credentials so that the later steps can act as you.
The second step is the room metadata, which Bilibili requires before a stream can begin. Under update live room information you enter the title of the room, choose the live category and the subcategory, with the README giving the example of the online games section and then League of Legends inside it, and confirm to save. That pairing of a broad section and a narrower one is what Bilibili's own broadcasting client asks for, and getting it wrong means the stream is filed in the wrong place in the listings.
The third step is starting the stream. The plugin shows a dialog with the RTMP address and the push key, and the README's instruction is to copy those two values. Nothing is sent to OBS automatically, which is a design choice worth noticing: the plugin hands you the values and you paste them into OBS, rather than the plugin driving OBS's output settings.
What you paste into OBS is a standard custom stream service
Once the plugin has shown you the two values, the README walks through the OBS side of the arrangement. In Settings, then Output, then Stream, you set the service to custom, paste the RTMP address into the server field and the push key into the stream key field, and then press the start streaming button in the bottom right of the OBS window.
The examples given make the format concrete. The server is something in the shape of rtmp://live-push.bilivideo.com/live-bvc/, and the stream key is a query string of the shape ?streamname=... The server ends in a slash and the key is a query parameter, which is the normal RTMP split between the endpoint and the per-session identifier, and it is why the two values cannot be merged into one.
Because OBS treats this as an ordinary custom stream service, the plugin does not change how OBS encodes, and the usual OBS settings for bitrate, encoder and keyframe interval apply as they would for any other RTMP target. That also means the plugin is not tied to a particular streaming mode in OBS, since it contributes only the two text values.
The stopping procedure has two halves, and the README treats them as separate steps. You press stop streaming in OBS, and then you return to the plugin menu and stop the live stream there as well, which closes the Bilibili room. Skipping the second half leaves the room open on Bilibili with no stream behind it, which is the kind of small detail that shows up in the room listing as an empty broadcast.
Windows needs the directory layout to be exactly right
The Windows instructions are the most detailed of the four platforms, and they are detailed because the plugin has to land in a specific place with a specific shape.
You download the latest bilibili-stream-for-obs-*-windows-x64.zip from the Releases page and extract it. The extracted folder goes into C:\ProgramData\obs-studio\plugins, and the README asks you to make sure the directory structure strictly follows the format it prints: the plugins folder containing the bilibili-stream-for-obs folder, then a bin folder with a 64bit folder holding bilibili-stream-for-obs.dll, and a data folder with a locale folder holding the relevant .ini language files.
That strictness is the practical constraint on Windows. OBS finds plugins by scanning that directory, and the load path is derived from the layout, so a dll in the wrong place or a missing data folder tends to produce a plugin that simply does not appear in the menu rather than an error message. The language ini files matter for the same reason, since the plugin's interface strings are loaded from them.
The last step is to restart OBS Studio, at which point the plugin loads automatically. There is no configuration step and no enable toggle to find, which is the same simplicity the other platforms share.
The macOS route is the shortest of all. You download the bilibili-stream-for-obs-*-macos-universal.pkg, double click it and follow the installer, and the plugin is installed into /Library/Application Support/obs-studio/plugins/.
Linux comes in three flavours, and the Flatpak one has hard limits
On Ubuntu and Debian the plugin ships as a .deb package, for example bilibili-stream-for-obs-*-x86_64-ubuntu-22.04.deb, and the install is a single dpkg command:
sudo dpkg -i bilibili-stream-for-obs-*.debIf dependencies are missing, the README has the repair command:
sudo apt-get install -fThe plugin lands in /usr/lib/obs-plugins/, and restarting OBS loads it.
The Flatpak route is for OBS Studio installed through Flatpak, and the README is explicit about two restrictions. It works only with the stable version of OBS Studio installed via Flatpak, and it is currently provided for the x86_64 architecture only. Installing it is:
flatpak install --user ./bilibili-stream-for-obs-*-flatpak-x86_64.flatpakand then you launch the Flatpak build of OBS, which is a different command from the normal one:
flatpak run com.obsproject.StudioUpdating means downloading a new bundle and running the same install with the update flag, and removal is:
flatpak uninstall --user com.obsproject.Studio.Plugin.BilibiliStreamThe README also states that this bundle is not for a native OBS Studio installed through system packages, and that those installations should use the .deb or .rpm package instead. Mixing them up is the single most likely installation mistake here, because a Flatpak OBS cannot see plugins installed into the host's system directories at all.
Fedora and openSUSE are covered by an unofficial route. The .rpm comes from the openSUSE Build Service, for example obs-bilibili-stream-2.1.3-5.1.x86_64.rpm, and installs with:
sudo rpm -i obs-bilibili-stream-*.rpmThe word unofficial matters there, because the packages are built by a third party rather than by the plugin's author, which is a different trust arrangement from the signed macOS installer or the project's own .deb.
OBS 30.0 is the floor, and the logs are where the answers are
The dependencies section is short and gives the two floors that matter. OBS Studio 30.0 or higher, and Windows, macOS or Ubuntu 22.04 or later.
The OBS floor is the significant one, because OBS plugin interfaces change between major versions and a plugin built for an older interface will simply not load in a newer OBS. The plugin's own release line is 2.1.x, with v2.1.5 from 2026-09-09, v2.1.4 from 2026-09-01 and v2.1.3 from 2026-08-08, and the repository's default branch is master with the last push on 2026-10-14.
The troubleshooting note in the README is the part to bookmark, because the plugin's failure mode is a menu item that does not appear. If something goes wrong, check the OBS log file, and the README gives the location for each platform: on Windows it is under the user profile at C:\Users\<YourUser>\AppData\Roaming\obs-studio\logs, on macOS it is ~/Library/Logs/obs-studio/, and on Linux it is ~/.config/obs-studio/logs/.
That last path is worth noticing for the Flatpak case. A Flatpak OBS writes its logs inside the sandbox, so a host path lookup will not find them, and the same goes for the plugin directory. If you are debugging a Flatpak install, the paths you need are the Flatpak ones.
Contributions are invited through the GitHub repository, with issues and pull requests both welcome.
Editorial conclusion
obs-bilibili-stream fits a streamer on Bilibili who would rather not re-enter the push address and stream key by hand on every session, and who installs OBS from a distribution package rather than the Flatpak build. It is the wrong choice if you need a plugin for a native OBS installation on the Flatpak route, since the bundle is explicitly limited to Flatpak-installed stable OBS on x86_64, and the wrong choice if you want to build your own because the repository publishes only source with a CMake build. Verify first that your OBS Studio is version 30.0 or newer, that you pick the package matching your platform, and that you stop the Bilibili room from the plugin menu as well as from OBS, since the two stops are separate steps.
Frequently asked questions
What does the obs-bilibili-stream plugin do?
It is an OBS Studio plugin that simplifies live streaming on Bilibili. It supports QR code login to Bilibili, updating live room information such as the title and category, and obtaining the RTMP push address and push key for you to copy into OBS.
How do I install obs-bilibili-stream on Windows?
Download the latest bilibili-stream-for-obs-*-windows-x64.zip from the Releases page, extract it and move the extracted folder into C:\ProgramData\obs-studio\plugins, keeping the bin/64bit and data/locale layout exactly as the README shows. Restart OBS Studio and the plugin loads automatically.
How do I install obs-bilibili-stream on Ubuntu or Debian?
Download the .deb package, for example bilibili-stream-for-obs-*-x86_64-ubuntu-22.04.deb, and run sudo dpkg -i bilibili-stream-for-obs-*.deb. If dependencies are missing, run sudo apt-get install -f. The plugin is installed into /usr/lib/obs-plugins/.
Can I use the Flatpak bundle with a normal OBS Studio install?
No. The README states that the Flatpak plugin only works with the stable version of OBS Studio installed via Flatpak, is currently provided for x86_64 only, and does not apply to a native OBS Studio installed through system packages, where the .deb or .rpm package should be used instead.
Where do I enter the RTMP address and stream key in obs-bilibili-stream?
The plugin shows both values in a dialog when you choose start live, and you copy them into OBS under Settings, then Output, then Stream, with the service set to custom, the RTMP address in the server field and the push key in the stream key field. The example server is rtmp://live-push.bilivideo.com/live-bvc/ and the key is shaped like ?streamname=...
What are the requirements for obs-bilibili-stream?
OBS Studio 30.0 or higher, on Windows, macOS or Ubuntu 22.04 or later. The releases are v2.1.5 from 2026-09-09, v2.1.4 from 2026-09-01 and v2.1.3 from 2026-08-08, and the plugin is licensed under GPL-2.0.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/zarosmm-obs-bilibili-stream)Was this useful?