BiliBili ShadowReplay 開源直播切片工具,直播還在播就能回放剪精華

BiliBili ShadowReplay(BSR)把直播錄製、即時回放、劃區間切片、字幕、彈幕壓制到投稿收進同一個視窗,錄製支援 B 站、抖音、虎牙、快手與 TikTok 五個平台,投稿僅限 B 站。文章整理帳號憑證的保存層級:桌面版用 AES-256-GCM 加密進系統鑰匙圈、Docker 與 Termux 版明文保存,官方安裝包內建 Sentry 錯誤回報,自編譯版則完全不啟用遙測。

用 AI 摘要這篇文章:

想把一場 B 站直播的精華片段存下來,一般做法是一路手工:開錄影軟體盯著直播、事後在幾個小時的影片裡翻找那三十秒、進剪輯軟體切割、想還原直播氛圍還得另外抓彈幕壓字幕,最後再手動登入投稿。這條鏈每一步都斷一次:錄影軟體不知道直播何時開始、剪輯軟體不知道彈幕長什麼樣、投稿頁面又要你重新填一次資料。開源工具 BiliBili ShadowReplay(GitHub 帳號 Xinrea 的 bili-shadowreplay 專案)要做的事,就是把這整條鏈收進同一個桌面視窗:直播邊播邊快取、直播還在進行就能拖回去回放、看好區間按鍵生成切片,字幕、彈幕、投稿都在同一個畫面完成。

這個專案從 2023 年 4 月開始累積,到 2026 年 9 月已經有 1,100 多顆星、800 多個提交、版本迭代到 v2.22.5,MIT 授權,以 Rust 搭配 Svelte 寫成,用 Tauri 打包成 Windows、macOS 與 Linux 的桌面軟體。它的能力與設計取捨,在原始碼與官方文件裡都攤得開:接下來談的是它被設計成什麼、帳號與資料怎麼被對待;至於實際跑起來的成效與穩定度,要裝了才知道。

一個視窗收完錄製、回放、切片到投稿

先看它實際把哪些工作放進了同一個畫面。

錄製端它扮演的是直播流的快取者。加入一個直播間之後,工具會在背景持續把直播串流寫進快取目錄,直播結束時自動整理成一場錄播紀錄。比較特別的是回放設計:直播還在進行時,預覽視窗就能從目前的直播位置往回拖,等於把「直播不可重來」這件事拿掉,看到精華的當下就可以回頭重看、確認,再決定要不要剪。官方文件對這類工具的碎片檔有明確提醒:快取目錄裡的錄播檔是直播流的分段,不是拿來直接播放或投稿的成品,要透過預覽視窗劃出時間區間生成切片,輸出的才是常規 mp4 檔。若你只想把它當單純的錄播軟體,設定裡有整場錄播生成的開關,直播結束後自動產出整場影片。

BiliBili ShadowReplay 直播預覽視窗官方截圖,左側影片播放區下方有音量波形時間軸,右側是切片列表與彈幕列表面板Pin
官方文件的直播預覽視窗:播放區下方是全片音量波形,右側面板整合切片列表與彈幕列表,控制列提供彈幕開關與統計過濾

切片操作圍繞著鍵盤快速鍵設計:在錄播或直播的播放軸上,按左中括號鍵標記起點、右中括號鍵標記終點,按 g 生成切片,q 與 e 直接跳到選區兩端。生成的切片可以再進預覽視窗二次剪輯,也可以匯入外部影片一起管理。播放軸下方還有一條全片音量波形,搭配彈幕密度統計圖,找高能段落時有兩種視覺線索可以對照。

字幕與彈幕是它與一般螢幕錄影軟體差異最大的部分。彈幕在錄製時就透過 WebSocket 一併收進資料庫,回放時照時間軸滾動顯示,統計圖呈現彈幕密度分布,點擊圖上高峰可直接跳到該時間點;生成切片時可以選擇把該時段的彈幕轉成 ASS 字幕格式燒進影片,字級、透明度、顯示時長都可調。字幕生成走 Whisper 語音辨識,模型可以在本機跑,也能改用線上 API。往外部剪輯軟體的銜接也考慮到了:原始碼裡有一個獨立模組負責輸出 Premiere Pro XML 格式的工程檔,剪映這類可直接讀該格式的軟體能無損接手後製。

投稿是最後一環。在切片預覽視窗右側填標題、簡介、標籤、分區,封面有線上編輯器,右上角選擇要用哪個帳號送出,投稿成功後切片清單會顯示對應的 BV 號,點了直接跳到 B 站觀看頁。多帳號在這裡有明確的分工設計:直播流抓取用的是該平台的帳號,原始碼裡多帳號並存時是隨機選用;投稿與彈幕發送則是在介面上明確指派帳號,要送哪個號開口說了算。

BiliBili ShadowReplay 切片預覽視窗官方截圖,右側面板有字幕與快速投稿兩個分頁,下方是字幕分段預覽時間軸Pin
切片預覽視窗:右側面板提供字幕編輯與快速投稿兩個分頁,字幕可逐條調整時間碼後壓進影片,投稿資訊在同一視窗填寫

圍繞這條主鏈還有一圈配套,用配置檔的預設值就能看出優先順序。直播開播、下播、切片完成、投稿完成四個節點預設都會發系統通知;另有事件推送的設計,直播狀態變化可以送到外部服務,讓錄製工作站接進自己的監控流程。設定裡也有自動化的開關:切片生成後自動上字幕、直播結束自動生成整場錄播的選項都存在,預設關閉,方向是把人留在決策點上,機器只處理重複勞動。

錄得到五個平台,投稿只有 B 站

它支援的直播平台,三份官方資料各說各話,值得逐份對照。README 列了 B 站、抖音、TikTok、快手四個;官方文件站首頁的功能卡只寫 B 站與抖音兩個;而原始碼裡,錄製器平台目錄有五個實作(B 站、抖音、虎牙、快手、TikTok),前端添加直播間的視窗也對應有五個平台選項。以原始碼與介面為準,實際能錄的是五個平台,連 README 都漏列了虎牙。

投稿方向則只有一條路。官方工作流程文件明確寫著,投稿功能目前僅支援 Bilibili,上傳走的正是 B 站創作中心的會員介面。換句話說,其他四個平台的錄製能力,定位都是為了把素材剪成切片後投回 B 站,這也是 B 站直播切片這個創作生態的主流工作流。想直接投稿到抖音或其他平台的人,這套工具到此為止。

這個平台組合的實際意義是:B 站直播與 B 站帳號功能可及,是這套工具最主要的使用場景;抖音、快手、虎牙這幾個平台在台灣的連通與帳號取得各有變數,適用性因人而異。

把 B 站帳號交給它之前,先看憑證怎麼被保存

這套工具的核心交換其實只有一條:你要把 B 站帳號的登入憑證交給一個第三方桌面軟體,換它代替你呼叫直播串流、彈幕發送與投稿這些平時只在瀏覽器裡發生的操作。錄直播、發彈幕、投稿,每一項都建立在 cookie 與 CSRF token 之上。所以真正值得看清的問題是:這些憑證交出去之後,被存在哪裡、以什麼形態存在。

答案分成三層,而且每一層都不一樣。

桌面版是目前最謹慎的形態。原始碼的憑證模組用 AES-256-GCM 把每個帳號的 cookie 與 CSRF token 加密後寫入本機 SQLite 資料庫,加密用的主密鑰不落在資料庫裡,而是存進作業系統的憑證存放區:macOS 是鑰匙圈、Windows 是認證管理員、Linux 是 Secret Service。程式啟動時會驗證密鑰可否解開既有帳號,失敗時提供清空登入資訊或退出檢查鑰匙圈兩條路,不會靜默把資料留在半解密狀態。值得知道的是時間線:這套加密是 2026 年 9 月 14 日才進到主線的 commit,直接回應前一天社群提出的加密需求。在此之前下載的版本,帳號憑證是以明文寫進資料庫的,所以如果你手上有一份更早的安裝包,升級不只是拿新功能,也把憑證保存方式換到新的一層。

Docker 與 Termux 部署是另一層,而且是明文的。官方文件寫得很直白:Docker、Termux 與預設的無介面建置使用不帶加密特性的編譯,帳號憑證以明文保存在資料目錄。想把錄製工作站架在 NAS 或伺服器上、透過瀏覽器的 Web 介面管理(官方 Docker 映像監聽 3000 連接埠,資料、快取、輸出三個目錄掛載出來),代價就是憑證以明文躺在掛載的資料目錄裡。它甚至照顧到了拿 Android 手機當錄製機的用法:官方為 Termux 環境提供 ARM64 映像,搭配 proot-distro 不需要 root 權限就能跑,官方建議預留 4GB 儲存空間,並提醒要允許程式在背景執行,否則錄製行程會被系統終止。文件也提醒了配套限制:關閉加密的版本打不開含加密帳號的資料庫,只把資料庫檔案複製到別台機器也救不回帳號,主密鑰跟著原機器的鑰匙圈走。技術上可以在有鑰匙圈服務的機器自行編譯帶加密的無介面版本,但那就脫離官方發佈的便利路徑了。

第三層是登入方式本身。B 站帳號支援掃碼登入與手動貼上 cookie 兩種,官方建議前者;抖音帳號只有手動一途,官方文件的教學是打開抖音個人頁、開瀏覽器開發者工具、從網路請求的標頭裡把整串 cookie 複製出來貼進設定頁。這條路對一般使用者不算友善,但它的存在本身就說明了這套工具的工作方式:它操作的是各平台網頁版的內部介面,不是官方提供的公開 API。

官方安裝包和自編譯的差別,在一份錯誤回報

原始碼裡有一段不到三十行的遙測初始化,值得攤開來看。程式只在建置環境提供 Sentry 端點時才啟用錯誤回報,這個開關是編譯期決定的;官方的建置流程會從儲存庫裡的加密變數注入端點,所以從 GitHub Releases 下載的官方安裝包與官方 Docker 映像都帶著這份錯誤回報,選項裡還開啟了連同 IP 位址等識別資訊一併送出的設定。相對地,任何人把原始碼抓下來自己編譯,環境裡沒有那個變數,遙測就完全不會啟動,不需要改任何一行程式碼。

對使用者的實際意義有兩條。照官方路徑安裝的人,等於接受當程式出錯時把錯誤上下文送給作者的 Sentry 服務,這是常見的桌面軟體除錯實務,但知道它存在與否仍是你的選擇權。在意這條線的人,專案是 MIT 授權、建置文件齊全,自編譯一個不帶遙測的版本是實際可行的乾淨路徑,兩種版本的功能差異為零。

AI 功能的邊界:模型自己帶,或根本不出門

這套工具的 AI 有兩件,各自的資料邊界都留給使用者決定。

AI 助手是一個寫在 Rust 後端的代理,官方給它取了名字與人設。它的職責是代管錄播:讀取直播間與錄播資料、交叉比對字幕與彈幕密度找高光、下指令生成切片。從原始碼裡的系統提示詞看,作者給它的約束寫得相當具體,要求它剪輯高光前先讀字幕與彈幕再交叉驗證,不得憑空捏造時間點。模型不由這套工具提供,設定頁只接受 OpenAI 相容協定的端點與金鑰,原始碼裡同時內建了對 Ollama 本地端點的支援,預設位置是本機的 11434 連接埠,等於可以把整個 AI 助手放在不對外的模型上跑。安全設計上有一道明確的閘:唯讀操作立即執行,刪除、上傳、改配置、生成檔案這類會動到資料的操作,一律回報待確認狀態,由使用者在介面上手動放行,系統提示詞裡還寫死了「不得重複呼叫、不得聲稱操作已完成」的約束。

字幕辨識的邊界更乾淨。本地路線用 sherpa-onnx 執行 Whisper 模型,模型檔從 75MB 的 tiny 到 2.9GB 的 large-v3 共五個等級,首次使用時自動下載到應用資料目錄,之後辨識都在本機完成,macOS 版內建 GPU 加速,Windows 的 CUDA 版靠 Nvidia 顯卡加速,CPU 版則是純處理器推理。線上路線就是一般 Whisper API,自備金鑰。官方文件裡有一段難得的設計自白:作者承認中文語音辨識有更好的服務,但那些服務需要把檔案上傳到物件儲存再非同步處理,考量實作複雜度,最後選擇了本地 Whisper 與線上 Whisper 這兩種請求回來直接拿結果的路線;這個選擇的附帶效果,是辨識過程不必把影音檔送給第三方服務。對剪直播切片這種素材常常不適合外流的場景,這個結果是順的。

裝之前該知道的幾條界線

平台風控是最實際的一條。官方常見問題明載,添加大量 B 站直播間會觸發 -352 錯誤,這是 B 站的風控機制,官方的建議是拉長直播間狀態的檢查間隔。這條是官方文件的說法,方向很清楚:房間數量要節制,它適合的是盯固定幾間直播間的工作站,不適合無上限的爬錄。

介面語言只有簡體中文。整個前端沒有多語言架構,按鈕、選單與文件都是簡體,看慣繁體的台灣使用者操作不成問題,但要有心理準備。

系統相依性要先備齊。macOS 與 Linux 版不內建 FFmpeg,要自己先裝好,否則無法預覽直播與生成切片;Windows 版把 FFmpeg 與 ffprobe 一起打包,裝了就能用。Windows 使用者還要在兩種安裝包之間選:體積 108MB 的 CPU 版,或 558MB、內建 Nvidia GPU 加速的 CUDA 版,差異只在字幕辨識的推理速度。macOS 的安裝包分 Intel 與 Apple 晶片兩種,都是 45MB 上下。

版本節奏很快,這是優點也是負擔。2026 年 8 月中到 9 月中就發了十個版本,更新涵蓋硬切處音訊斷續的修復、長時間錄播預覽的順暢度、帳號加密,以及開機自動啟動的開關,最近一次提交落在 2026 年 9 月。快有好處,也表示你手上的版本幾週後就會落後,定期回 Releases 頁看一眼是必要習慣。

最後是一條工具不管、但要自己管的線:直播內容的版權與創作規範。錄別人的直播做切片、壓彈幕、投稿到自己的帳號,這套工具把技術流程全部打通,但授權取得、是否違反平台規範、切片的創作倫理,都留在使用者身上。B 站對直播切片有自己的授權與激勵機制,動手之前值得花時間弄清楚。

誰適合裝、從哪裡下載

整理成一個判斷:長期追特定幾間 B 站直播間、固定產出切片投稿的人,這套工具把你的工作流從五個軟體壓縮到一個視窗,桌面版的憑證加密與本機 AI 選項也把風險面收斂到可理解的程度,值得一試。只偶爾想存一場直播的人,通用錄影工具加事後剪輯可能更省事;要把工作站掛上伺服器的人,記得 Docker 版的帳號是明文保存,自己衡量那台機器的安全性。

下載從 GitHub Releases 頁面走,官方文件指向的同一下載處,安裝包連結與版本檔案都在同一頁,文件站也對下載來源有一句提醒:因為程式會管理帳號等敏感資訊,請從信任的來源取得。對 B 站生態圈的其他開源工具有興趣的讀者,可以接著看我們介紹過的 bilibili 觀看紀錄備份工具會自動跳過 B 站植入廣告的瀏覽器擴充,以及把 B 站答題外包給語言模型的硬核會員答題工具;若你處理的是一般影片的語音轉文字,開源影片轉圖文工具 AI-Media2Doc 走的也是類似的本機處理路線。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1407

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...