這是一個用於B 站錄播的一站式工具,支援彈幕轉換與視訊壓制並上傳至B站,支援錄影姬與blrec的webhook。
如果你是錄影man正在尋找xml彈幕轉換、彈幕壓制、webhook上傳工具,如果你是切片man正在尋找下載b站視頻工具,如果你厭倦了b站的多p上傳,你可以來試試本軟體。
做這款工具的初衷是為了解決錄影工具的碎片化,往往想完整處理一場帶有彈幕的錄播要使用多個軟體的配合,有些工具只有CLI,加大了使用難度。
你可以在B站查看使用教學課程
如果你使用了本軟體,希望你在簡介標註倉庫地址或保留默認tag,本軟體不存在任何數據追踪,我想大致知道使用使用人群及情況
更新歷史
支援錄播姬與blrec的webhook自動化處理
支援Danmufactory GUI 彈幕xml轉換
支援根據彈幕切片
支援b站分P投稿
支援視頻與彈幕壓制
支援ffmpeg 轉碼及轉封裝
支援B站影片下載
支援鬥魚錄播及其彈幕下載
不提供MacOS 安裝包,需要的可以自行編譯,編譯時需要替換用到的二進位。
由於我不在Linux開發,測試覆蓋不光,如果有問題可以提issue。
CLI的使用參考文檔
下載網址:https://github.com/renmu123/biliLive-tools/releases
備用:https://www.alipan.com/s/iRyhxjdqGeL
這個功能主要用於解決:由於網路或設定分段原因導致錄播片段被切割成多個。
開啟後,會將主播的一場直播上傳到同一個影片中一場直播的定義:同一個主播,本次文件創建時間與上一個文件結束寫入時間如果相差n分鐘(使用配置),那麼會被定義為一場直播,不會使用webhook中例如錄播姬的session定義。
開啟錄製後,或重複切換開關,可能會有奇怪的錯誤。
如果出現bug,將設定中的日誌等級調整為debug
後復現然後進行回饋。
xml彈幕轉換底層使用DanmakuFactory,B站彈幕確認可以使用,其餘類型請自行測試。
部分功能如自適應分辨率
用於局部渲染帶有彈幕的視頻,支援lossless-cut專案導入
ctrl+s
儲存到llc項目
ctrl+shift+s
另存為llc項目
ctrl+enter
匯出
ctrl+z
撤銷
ctrl+shift+z
重做
I
在當前時間開始當前片段
O
在目前時間結束目前片段
up
上一個片段
down
下一個片段
del
刪除片段
space
播放/暫停
ctrl+left
後退1秒
ctrl+right
前進1秒
ctrl+k
切換視圖
使用通知功能時,請妥善保存所有訊息,請勿分享給他人,本軟體不會發送任何訊息到任何伺服器
使用smtp服務來發送郵件,每個郵件服務商的參數各不相同,使用請自行參考各服務商的教學。
serer醬支援免費推播資訊到手機微信,免費帳號有限制。
官網:https://sct.ftqq.com/
使用tg bot發送訊息時預設使用系統代理程式。
tg bot 的搭建請自行找教學
官網:https://docs.ntfy.sh/
如果想要接入webhook相關功能,你可以自行建構參數並呼叫接口,採用post
方法,連接埠為/webhook/custom
,接收後立刻返回http code=200。
參數: event
: FileClosed
| FileOpening
(如果你想使用斷續傳功能,請在上一個FileClosed
事件後在設定的時間間隔內發送FileOpening
事件)
filePath
: 視訊檔案的絕對路徑coverPath
: 視訊封面的絕對路徑,如果為空,會讀取與視訊檔案名稱相同的後綴為jpg
的文件,支援為空danmuPath
: 視訊彈幕xml
文件,如果為空,會讀取與視訊檔案名稱相同的xml
文件,支援為空roomId
: 數字類型,房號,用於斷播續傳time
: 用於標題格式化的時間,範例:"2021-05-14T17:52:54.946"
title
: 標題,用於格式化影片標題username
:主播名稱,用於格式化影片標題
以下參數用於彈幕分析功能,非必要有些彈幕中存在元資料(參考blrec)的會被自動解析,例如彈幕姬或blrec或douyu-cli(0.6.1以上)產生的彈幕platform
:平台,如果b站推薦為bilibili
,鬥魚推薦為douyu
,其實填啥都可以live_start_time
:直播開始時間,範例:"2021-05-14T17:52:54.946" live_title
:直播標題
範例:
curl --location 'http://127.0.0.1:18010/webhook/custom' --header 'Content-Type: application/json' --data '{ "event":"FileClosed", "filePath":"D:\aa.mp4", "coverPath":"D:\aa.jpg", "danmuPath":"D:\ aa.xml", "roomId":93589, "time":"2021-05-14T17:52:54.946", "title":"我是豬", "username":"djw"}'
你可以使用二進位檔案或使用npm i bililive-cli -g
進行安裝。
具體文件參考頁面
如果這個專案對你有幫助,請我喝瓶快樂水吧,有助於專案更好維護。
愛發電:https://afdian.com/a/renmu123
你也可以為我的B 站帳號充電
1.5.0起Webhook 標題支援ejs模板引擎,具體語法參考文檔,如果標題超過80字,會被自動截斷,會優先執行模板引擎,之後會對{{}}
佔位符進行替換,如果有語法錯誤,會被跳過,優先保證上傳。
// 以下為支援注入的參數{ title: string; // 直播間標題 user: string; // 主播名稱 time: Date; // 直播開始時間 roomId: number | string; // 房間號碼}
範例: <%= user %>-<%= time.getFullYear() %><%= String(time.getMonth() + 1).padStart(2, "0") %>直播录像
渲染結果: djw-202408直播录像
我也不知道
如果你是小白,先根據自己的硬體選擇對應的編碼,推薦使用crf或cq等品質模式的預設參數,壓制後查看影片大小,壓制時間,畫質,接下來調整參數,以滿足你的需求,沒有最好的參數,只有最合適的參數,不同視頻,不同場景可能合適的參數都不一致。
進階請自行搜尋ffmpeg相關的教學課程
請嘗試更新顯示卡驅動,如果更新到最新後還無法使用,請嘗試手動更換ffmpeg可執行檔為6.0,或使用1.0.0以下版本
依賴「視訊檔案建立」,「視訊檔案完成」兩個webhhook,建議直接勾選全部事件。
請關閉此功能,使用本軟體的「轉封裝為mp4」功能
上傳任務分為三個階段,只有第二個階段是支援暫停的:
獲取上傳基礎信息
文件切片上傳
文件合併,呼叫提交接口
下載任務分為三個階段,只有第二個階段是支援暫停的:
獲取下載文件基礎信息
檔案切片下載
文件合併
此功能會每隔十分鐘會查詢一次投稿中心的前20個稿件,如果為本軟體投稿且開啟了自動評論的已審核非續傳稿件,會進行自動評論,如果一個稿件24小時內狀態不為審核通過,那麼這個稿件將會被移出佇列。
如果你的稿件不為以上情況卻未進行投稿,請提issue
進入佇列,查看任務最後一欄的速率,可以根據速率調整壓制參數
壓制之後查看log
目前支援ffmepg任務和鬥魚影片下載最大任務數,可以在「設定-任務-ffmpeg最大任務數」中進行設置,預設為不限制
手動暫停的任務不會自動啟動
高能量進度條任務會自動進行,因為速度會很快
zip包並非傳統意義上的綠色包,資料和安裝包文件的不會存放在同一個資料夾中,如果你嘗試使用安裝包後使用壓縮包,可能會導致二進位檔案的路徑錯誤從而無法使用,請嘗試在設定中手動修改二進位檔案路徑。
如果你想將資料放在同一個資料夾內,請在可執行文件所在資料夾建立一個portable
文件,無拓展名如.txt
,更改後重啟應用,如有需要可以新建文件前在設定中備份設置。
請不要在直播開始後修改對應的配置,例如標題,斷播續傳等配置,本場直播可能不會生效
支援使用ffmpeg壓制彈幕至影片文件
工具頁面
支援ffmpeg不同cpu,gpu以及相關配置
支援使用danmufactory自動處理xml檔案並進行壓制
工具頁面,danmufactory的GUI
工具頁面,flv的轉封裝
支援影片合併
下載頁面
支持切片
log記錄及其展示
配置持久化,壓制高能量進度條
B站上傳支持
移除biliup二進位依賴
支持分p
多帳戶支持
webhook支持
錄播姬webhook支持
blrec webhook支持
支援自動上傳
支援彈幕壓制
斷播續傳
支援自訂ffmpeg以及ffprobe
鬥魚錄播
彈幕分析
交流群:872011161
node請使用20以上版本。
$ pnpm install $ pnpm run install:bin
弹幕分析
功能依賴better-sqlite3
,如果你無法編譯安裝,試試安裝visual-studio2022中的c++相關工具,以及python3(也許)。 如果你是Win,你還可能遇到報錯例如cause=fork/exec %1 is not a valid Win32 application.
,根據提示修改pnpm來源文件,如果應用無法啟動,嘗試使用electron-rebuild。 如果你最後還是無法安裝,嘗試在專案根目錄運行node scriptsgithub-ci-better-sqlite3.js
手動安裝依賴。
如果二進位依賴安裝失敗或不支援你的平台,請嘗試手動下載安裝二進位依賴。
新建packagesappresourcesbin
資料夾,裡面需要三個個檔案。 同時需要在應用程式的設定裡設定相關可執行檔位址。
DanmukuFactory.exe
自編譯版本
ffmpeg.exe
n7.0
ffprobe.exe
n7.0
pnpm run dev
# APP應用$ pnpm run build:app# APP應用且沒有ffmpeg二進位檔案$ pnpm run build:app:no-ffmpeg# CLI套用$ pnpm run build:cli
GPLv3