{"id":13430906,"url":"https://github.com/chocotan/bili-recorder","last_synced_at":"2025-03-16T06:31:35.519Z","repository":{"id":37139664,"uuid":"360786478","full_name":"chocotan/bili-recorder","owner":"chocotan","description":"这是一个bilibili直播录制工具","archived":true,"fork":false,"pushed_at":"2023-01-04T09:10:02.000Z","size":555,"stargazers_count":46,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-01T02:27:28.956Z","etag":null,"topics":["bilibili","bilibili-live","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chocotan.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}},"created_at":"2021-04-23T06:34:16.000Z","updated_at":"2024-04-04T06:15:45.000Z","dependencies_parsed_at":"2023-02-02T06:30:34.998Z","dependency_job_id":null,"html_url":"https://github.com/chocotan/bili-recorder","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/chocotan%2Fbili-recorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chocotan%2Fbili-recorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chocotan%2Fbili-recorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chocotan%2Fbili-recorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chocotan","download_url":"https://codeload.github.com/chocotan/bili-recorder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221656470,"owners_count":16858777,"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","java"],"created_at":"2024-07-31T02:00:58.879Z","updated_at":"2024-10-27T09:31:05.491Z","avatar_url":"https://github.com/chocotan.png","language":"Java","funding_links":[],"categories":["直播相关工具"],"sub_categories":["直播脚本"],"readme":"# bilibili直播录播工具\n\n[![Build](https://github.com/chocotan/bili-recorder/actions/workflows/maven-docker.yml/badge.svg)](https://github.com/chocotan/bili-recorder/actions/workflows/maven-docker.yml)\n\n这是一个大概开发好已经能用的录播工具\n\n## 注意\n* 视频投稿以及录制弹幕的功能已经长期处于未维护的状态，目前仅有录制功能正常工作\n\n## 打包\n* 你需要Java 11和maven才能正常打包\n* 运行命令 `mvn clean package -Dmaven.test.skip`\n* 打包完成后会在`target`目录生成可执行jar\n\n## 配置\n* record.work-path: 工作目录，不管是h2数据库文件、日志，还是录播位置，默认值为`${user.home}/.bili`\n* record.check-interval: 检查直播间状态的间隔，单位是秒，默认值为25\n* server.port: 启动后的端口，默认值为30000\n\n\n## json配置\n\n* convertToMp4: 是否转换为mp4格式\n* convertToMp4Delete: 转换为mp4后是否删除原flv文件\n* danmuRecord: 是否录制弹幕\n* saveFolder: 自定义保存路径 \n* splitFileBySize：是否根据文件大小分割 \n* splitFileByTime：是否根据文件时间分割\n* splitFileDeleteSource：分割后是否删除原文件\n* splitFileDurationInSeconds：每多少秒分割成一个文件\n* splitFileSizeInM：每多少M分割成一个文件\n* uploadToBili：是否上传到B站\n* uploadUsername：上传的账号用户名\n* uploadTitleTemplate：上传的标题模板\n* uploadDescTemplate：上传的描述模板\n\n其他功能可自行探索\n\n## 自动上传的相关说明\n\nB站密码登录方式目前疑似不可用，本应用切换至TV扫码接口，请在列表页扫码登录，暂不确定登录有效期\n\n* 修改uploadToBili后只针对之后录制的视频有效，之前的录制记录不会生效\n* 自动上传是每2分钟检查一次，一次上传一个投稿\n* 仅支持上传12小时内结束直播的记录，如有需求请自行修改源码\n* 当一个投稿上传失败时，会重试，最大重试次数为3次，超过将不处理\n\n## 使用\n* 你可以使用 `mvn clean package -Dmaven.test.skip` 命令打包后使用 java -jar 命令启动\n* 默认端口为30000，启动成功后你可以直接在浏览器中打开 `http://localhost:30000`\n\n## docker\n* docker repo见 [此处](https://hub.docker.com/r/chocotan/bili-recorder)\n* 你可以通过 **JAVA_OPT** 这个 **环境变量** 指定启动参数，示例如下 `-Drecord.work-path=/bilirecord -Xmx512m -Xms512m -Xmn256m`\n\n下面是docker命令示例\n```shell\ndocker pull chocotan/bili-recorder:latest\ndocker run -d -p 30000:30000 -v $HOME/.bili:/bilirecord --env JAVA_OPT=\"-Drecord.work-path=/bilirecord -Xmx512m -Xms512m -Xmn256m\" chocotan/bili-recorder\n```\n你可以自行修改命令中的端口号和work-path\n\n## ffmpeg\n本项目使用ffmpeg来将flv转换为mp4，你需要将ffmpeg添加至PATH中。\n\n## 支持的直播平台\n1. bilibili\n2. 酷狗繁星直播\n\n\n## 其他\n* B站API的接口和字段定义来自 [bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect)\n* 可用的appkey点击这里 [appkey](https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/other/API_auth.md)\n* `src/main/java/struct` 文件夹下的代码为 [javastruct](https://code.google.com/archive/p/javastruct/) 项目的部分源码，本项目未对该部分代码做任何改动，该项目是2007年左右托管在google code上，已经有十多年未维护了，其许可证为LGPL V3。本项目使用其部分代码用于解析b站的弹幕。\n* 本项目的`BiliDataUtil` 类修改自 [Bilibili_Danmuji](https://github.com/BanqiJane/Bilibili_Danmuji) ，其许可证为GPL V3。\n* 酷狗直播的弹幕解析方式来自于 [real-url](https://github.com/wbt5/real-url)\n* 有任何问题可直接新建issue。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchocotan%2Fbili-recorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchocotan%2Fbili-recorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchocotan%2Fbili-recorder/lists"}