{"id":20609926,"url":"https://github.com/keuin/slbr","last_synced_at":"2026-05-26T13:38:41.914Z","repository":{"id":65183382,"uuid":"532453608","full_name":"keuin/slbr","owner":"keuin","description":"SLBR: A Bilibili livestream recorder that sucks less.","archived":false,"fork":false,"pushed_at":"2023-07-30T12:03:37.000Z","size":274,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T03:18:51.060Z","etag":null,"topics":["bilibili","bilibili-live","bilibili-live-tools","go","golang","live","livestream","recorder"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keuin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-04T06:06:50.000Z","updated_at":"2022-12-23T22:11:01.000Z","dependencies_parsed_at":"2024-06-20T04:38:28.617Z","dependency_job_id":"69160303-b3d7-4e93-8ea0-82b2a4b0020e","html_url":"https://github.com/keuin/slbr","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keuin%2Fslbr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keuin%2Fslbr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keuin%2Fslbr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keuin%2Fslbr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keuin","download_url":"https://codeload.github.com/keuin/slbr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242257480,"owners_count":20098165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bilibili","bilibili-live","bilibili-live-tools","go","golang","live","livestream","recorder"],"created_at":"2024-11-16T10:14:49.195Z","updated_at":"2026-05-26T13:38:41.883Z","avatar_url":"https://github.com/keuin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SLBR: Suck-Less Bilibili live Recorder\n\n## Why another Bilibili livestream recorder?\n\nBecause **all** the other recorders are suck. So I write my own recorder, which, I hope, sucks less.\n\n## Features\n\nIf you want a Bilibili recorder featured with:\n\n- Single executable file, just copy and run\n- Friendly command-line arguments and an optional configuration file\n- Save raw video streams directly, without intentional clipping\n- Efficient execution\n- Friendly logging to `stdout` or files\n- **Just works**\n\nThen you should give SLBR *(suck-less bilibili live recorder)* a try.\n\n## Example usage\n\n### Using config file\n\n```json5\n{\n  \"tasks\": [\n    {\n      // ID of the live room which the task records\n      \"room_id\": 1234,\n      \"download\": {\n        // buffer 16MiB data before flushing to disk\n        \"disk_write_buffer_bytes\": 16777216,\n        // \".\" is the default value, you can skip this line\n        \"save_directory\": \".\"\n      },\n      \"transport\": {\n        // try ipv4 firstly, then ipv6\n        \"allowed_network_types\": [\n          \"ipv4\",\n          \"ipv6\"\n        ]\n      }\n    }\n  ]\n}\n```\n\n### Using command line arguments\n\nRecord live room with `1234` to current working directory:\n\n```shell\n./slbr -s 1234 -o .\n```\n\nFor more usages, run `slbr -h` to get the help menu. Here is a copy (may become outdated):\n\n```\nusage: slbr [-h|--help] [-c|--config \"\u003cvalue\u003e\"] [-s|--room] [-o|--save-to\n            \"\u003cvalue\u003e\"] [-b|--disk-write-buffer \u003cinteger\u003e]\n\n            Record bilibili live streams\n\nArguments:\n\n  -h  --help               Print help information\n  -c  --config             Specify which configuration file to use. JSON, TOML\n                           and YAML are all supported\n  -s  --room               Specify which room to record. The ID is included in\n                           bilibili live webpage url. Set this to run without\n                           config file\n  -o  --save-to            Specify the directory where to save records. If not\n                           set, process working directory is used\n  -b  --disk-write-buffer  Specify disk write buffer size (bytes). The real\n                           minimum buffer size is determined by OS. Default:\n                           4194304\n```\n\n## The project name is too offensive!\n\nYou can call it *Simple Lightweight Bilibili live Recorder*. It's all up to you.\n\n## Reference\n\nhttps://github.com/lovelyyoshino/Bilibili-Live-API\n\nhttps://github.com/BililiveRecorder/BililiveRecorder\n\nhttps://github.com/SocialSisterYi/bilibili-API-collect\n\nhttps://github.com/hr3lxphr6j/bililive-go\n\nhttps://github.com/zyzsdy/biliroku\n\n## TODO list\n\n- cli override config file\n- proper default values for config file\n- user manual\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeuin%2Fslbr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeuin%2Fslbr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeuin%2Fslbr/lists"}