{"id":14963742,"url":"https://github.com/bililiverecorder/bililiverecorder","last_synced_at":"2025-05-13T20:14:40.514Z","repository":{"id":37281991,"uuid":"124875686","full_name":"BililiveRecorder/BililiveRecorder","owner":"BililiveRecorder","description":"录播姬 | mikufans 生放送录制","archived":false,"fork":false,"pushed_at":"2025-04-26T10:51:52.000Z","size":4046,"stargazers_count":4133,"open_issues_count":80,"forks_count":341,"subscribers_count":38,"default_branch":"dev","last_synced_at":"2025-04-28T11:53:44.602Z","etag":null,"topics":["bilibili","bilibili-live","dotnet-core","flv","stream","wpf"],"latest_commit_sha":null,"homepage":"https://rec.danmuji.org","language":"C#","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/BililiveRecorder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"custom":["https://afdian.com/a/genteure"]}},"created_at":"2018-03-12T10:59:26.000Z","updated_at":"2025-04-28T10:06:17.000Z","dependencies_parsed_at":"2024-01-28T14:09:02.154Z","dependency_job_id":"2ce867cc-0a86-4dd1-90b0-536f55d28c81","html_url":"https://github.com/BililiveRecorder/BililiveRecorder","commit_stats":{"total_commits":844,"total_committers":30,"mean_commits":"28.133333333333333","dds":0.07109004739336489,"last_synced_commit":"f48fbf4d38fa52fedf40bbe928b0ce3e875c03c5"},"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BililiveRecorder%2FBililiveRecorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BililiveRecorder%2FBililiveRecorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BililiveRecorder%2FBililiveRecorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BililiveRecorder%2FBililiveRecorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BililiveRecorder","download_url":"https://codeload.github.com/BililiveRecorder/BililiveRecorder/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020633,"owners_count":22000755,"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","dotnet-core","flv","stream","wpf"],"created_at":"2024-09-24T13:32:04.880Z","updated_at":"2025-05-13T20:14:40.470Z","avatar_url":"https://github.com/BililiveRecorder.png","language":"C#","funding_links":["https://afdian.com/a/genteure"],"categories":[],"sub_categories":[],"readme":"\u003cdiv style=\"text-align:center\"\u003e\n\u003cimg width=\"20%\" src=\".github/assets/logo.svg\"\u003e\n\n# mikufans录播姬\n\n[![Build and Test](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml/badge.svg?branch=dev)](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml)\n[![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#)\n[![License](https://img.shields.io/github/license/Bililive/BililiveRecorder.svg)](#)\n[![Crowdin](https://badges.crowdin.net/bililiverecorder/localized.svg)](https://crowdin.com/project/bililiverecorder)\n\n\u003c/div\u003e\n\n[简体中文 README | Simplified Chinese](README_CN.md)\n\nGitHub is a global platform, and theoretically, everyone should use English. But since this project is mostly meant for Chinese user and rely on a Chinese website [BiliBili](https://live.bilibili.com) ([_wikipedia_](https://en.wikipedia.org/wiki/Bilibili)), most things related to this project like code comments, documentations and other related repositories are written in Chinese. This README file will always use English so people like _you_ can understand what is this, and perhaps make some use out of it.\n\nSoftware UI is available in\n\n- 简体中文 (Source and default)\n- 繁体中文\n- 日本語\n- English\n\n## Installation\n\nSee [rec.danmuji.org](https://rec.danmuji.org) (in Chinese) for Windows installer with auto update.\n\nAlernatively, you can download from [releases](https://github.com/BililiveRecorder/BililiveRecorder/releases) page.  \nThe zip file available at the releases page does not have auto update enabled. You are welcome to watch this repository for new releases. (Click the \"Watch\" dropdown menu, then \"Custom\", and check the \"Releases\" checkbox).\n\nBinary files of the command line version are available for Linux, macOS, and Windows at [releases](https://github.com/BililiveRecorder/BililiveRecorder/releases).\n\nDocker images can be pulled from [Docker Hub `bililive/recorder`](https://hub.docker.com/r/bililive/recorder) or [`ghcr.io/bililiverecorder/bililiverecorder`](https://github.com/bililiverecorder/BililiveRecorder/pkgs/container/bililiverecorder).\n\nSee [rec.danmuji.org/user/install](https://rec.danmuji.org/user/install) for step by step installation guides (in Chinese).\n\n## Feature\n\n- Easy to use\n- Start recording automatically when stream starts\n- Record multiple stream at same time\n- Fix broken recording caused by broken bilibili stream server\n- Toolbox mode to fix broken bilibili stream recording recorded by other software\u003csup\u003e1\u003c/sup\u003e\n- Pure C#, no native dependency like ffmpeg\u003csup\u003e2\u003c/sup\u003e\n- Open source!\n\n\u003csup\u003e1\u003c/sup\u003e: Only unprocessed flv file downloaded directly from stream servers can be fixed. If the file is downloaded or processed by FFmpeg it no longer can be fixed, FFmpeg will fvck up the already broken recording even further.  \n\u003csup\u003e2\u003c/sup\u003e: A minimal version of FFmpeg is bundled with the desktop edition of BililiveRecorder for the remux feature in toolbox.\n\n## Versioning\n\nThis project is following Semantic Versioning since version 2.0.0.\n\nPlease note this does not include the public .NET API of `BililiveRecorder.Flv`, or any project within this repository for that matter. They are considered as internal implementation thus could have breaking changes in any releases.\n\n## Building from source\n\nNote: full git history is required for version generation to work.\n\nWPF version:\n\n```powershell\ncd BililiveRecorder.WPF\nmsbuild -t:restore\nmsbuild\n```\n\nCommand line version:\n\n```sh\n# Build WebUI, optional\ngit submodule update --init --recursive\n./webui/build.sh\n# For building on Windows:\n# ./webui/build.ps1\n\ndotnet build BililiveRecorder.Cli\n```\n\n## Project structure\n\nProject | Target |\n:--- |:--- |\nBililiveRecorder.Flv | .NET Standard 2.0 |\nBililiveRecorder.Core | .NET 6\u003cbr\u003e.NET Framework 4.7.2 |\nBililiveRecorder.Toolbox | .NET Standard 2.0 |\nBililiveRecorder.WPF | .NET Framework 4.7.2 |\nBililiveRecorder.Web | .NET 6 |\nBililiveRecorder.Cli | .NET 6 |\n\n```mermaid\ngraph BT\n    toolbox(BililiveRecorder.Toolbox) --\u003e flv(BililiveRecorder.Flv)\n    core(BililiveRecorder.Core) --\u003e flv\n    wpf(BililiveRecorder.WPF) --\u003e core\n    wpf --\u003e toolbox\n    cli(BililiveRecorder.Cli) --\u003e toolbox\n    cli ---\u003e core\n    web(BililiveRecorder.Web) --\u003e core\n    cli --\u003e web\n```\n\n## Reference \u0026 Acknowledgements\n\n- [Adobe Flash Video File Format Specification 10.1.2.01.pdf](https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10_1.pdf)\n- [coreyauger/flv-streamer-2-file](https://github.com/coreyauger/flv-streamer-2-file) Used as a reference in the early stages of development\n- [zyzsdy/biliroku](https://github.com/zyzsdy/biliroku) - (probably) first BiliBili stream recording tool.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbililiverecorder%2Fbililiverecorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbililiverecorder%2Fbililiverecorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbililiverecorder%2Fbililiverecorder/lists"}