Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keuin/slbr
SLBR: A Bilibili livestream recorder that sucks less.
https://github.com/keuin/slbr
bilibili bilibili-live bilibili-live-tools go golang live livestream recorder
Last synced: about 1 month ago
JSON representation
SLBR: A Bilibili livestream recorder that sucks less.
- Host: GitHub
- URL: https://github.com/keuin/slbr
- Owner: keuin
- License: gpl-3.0
- Created: 2022-09-04T06:06:50.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-07-30T12:03:37.000Z (over 1 year ago)
- Last Synced: 2024-06-20T05:18:55.576Z (6 months ago)
- Topics: bilibili, bilibili-live, bilibili-live-tools, go, golang, live, livestream, recorder
- Language: Go
- Homepage:
- Size: 268 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SLBR: Suck-Less Bilibili live Recorder
## Why another Bilibili livestream recorder?
Because **all** the other recorders are suck. So I write my own recorder, which, I hope, sucks less.
## Features
If you want a Bilibili recorder featured with:
- Single executable file, just copy and run
- Friendly command-line arguments and an optional configuration file
- Save raw video streams directly, without intentional clipping
- Efficient execution
- Friendly logging to `stdout` or files
- **Just works**Then you should give SLBR *(suck-less bilibili live recorder)* a try.
## Example usage
### Using config file
```json5
{
"tasks": [
{
// ID of the live room which the task records
"room_id": 1234,
"download": {
// buffer 16MiB data before flushing to disk
"disk_write_buffer_bytes": 16777216,
// "." is the default value, you can skip this line
"save_directory": "."
},
"transport": {
// try ipv4 firstly, then ipv6
"allowed_network_types": [
"ipv4",
"ipv6"
]
}
}
]
}
```### Using command line arguments
Record live room with `1234` to current working directory:
```shell
./slbr -s 1234 -o .
```For more usages, run `slbr -h` to get the help menu. Here is a copy (may become outdated):
```
usage: slbr [-h|--help] [-c|--config ""] [-s|--room] [-o|--save-to
""] [-b|--disk-write-buffer ]Record bilibili live streams
Arguments:
-h --help Print help information
-c --config Specify which configuration file to use. JSON, TOML
and YAML are all supported
-s --room Specify which room to record. The ID is included in
bilibili live webpage url. Set this to run without
config file
-o --save-to Specify the directory where to save records. If not
set, process working directory is used
-b --disk-write-buffer Specify disk write buffer size (bytes). The real
minimum buffer size is determined by OS. Default:
4194304
```## The project name is too offensive!
You can call it *Simple Lightweight Bilibili live Recorder*. It's all up to you.
## Reference
https://github.com/lovelyyoshino/Bilibili-Live-API
https://github.com/BililiveRecorder/BililiveRecorder
https://github.com/SocialSisterYi/bilibili-API-collect
https://github.com/hr3lxphr6j/bililive-go
https://github.com/zyzsdy/biliroku
## TODO list
- cli override config file
- proper default values for config file
- user manual