繁體中文

視訊與字幕·字幕工具包

如何在不離開裝置的情況下編輯字幕檔:Blob 的檔案 API

· 工作原理

字幕 瀏覽器處理 隱私

進入瀏覽器標籤的檔案句柄,在記憶體中轉換並作為下載寫回,沒有到伺服器的路徑
原始 ToolAcre 向量圖

ToolAcre 的檔案工具在分頁內讀取和寫入檔案。這篇文章解釋了瀏覽器 API,使字幕檔案成為可能,從檔案選擇器到下載連結,以及如何確認沒有上傳任何內容。

成績單是機密的,轉換器希望您上傳它 - 瀏覽器端處理解決的問題

證詞筆錄不是您提交給網路服務以查明轉換是否有效的檔案。大多數線上轉換器都是上傳並傳回的:位元組發送到伺服器,發生一些事情,然後傳回結果。對於屬於洩漏的機密資料,當您看到輸出時,它已經發生了。

瀏覽器端處理消除了這個問題。檔案由頁面開啟而不是發送給頁面,每個轉換都針對記憶體中的副本執行,並結果從相同分頁寫回磁碟。該宣告是可測試的,這比宣告更重要,因為網路面板將顯示任何請求是否攜帶該內容。

選擇檔案:檔案物件 — 瀏覽器如何為頁面提供位元組句柄而不將它們傳送到任何地方

透過檔案輸入選擇檔案不會傳輸任何內容。該頁面接收一個 File 對象,它是一個句柄:名稱、大小、類型和瀏覽器可以讀取的參考。選擇檔案不是上傳,並保留該句柄不會導致請求。這些位元組保留在原來的位置,直到程式碼需要它們為止。

這種差異是本地處理的整體基礎,也是為什麼隱私屬性是程式碼的屬性而不是瀏覽器的屬性。持有 File 物件的頁面完全能夠將其發佈到某個地方。工具的本地化之處在於它並非本地化。

本機讀取文字 — File.text() 和 TextDecoder 將位元組轉換為記憶體中的提示

讀取文字會呼叫 File API 文字方法,該方法解析為解碼為 UTF-8 的字串。該字串被解析為記憶體中的提示,並每個後續操作都對這些提示物件起作用:移位添加到整數毫秒時間戳,清理文字上的替換,驗證在列表中查找排序和持續時間錯誤。它們都沒有觸及原始檔案,而原始檔案從未被寫入。

由於解析會產生普通對象,因此即使在編輯過程中關閉分頁,磁碟上的檔案也不會受到影響。沒有需要清理的臨時副本,也沒有部分寫入的輸出,因為寫入僅在請求下載時發生。

為什麼它在主執行緒而不是在 Web Worker 中執行,以及大小上限實際上做了什麼

工作簿大綱期望此階段在 Web Worker 中執行,對於多個 ToolAcre 工具也是如此; CSV、映像和 PDF 應用程式均將繁重的工作從主執行緒中移出。字幕應用程式故意不這樣做,原因記錄在其自己的源代碼中:工作人員會為不需要的工作添加第二個捆綁包和第二個故障模式,因為功能長度的字幕檔案有幾百千字節,解析時間為毫秒。

誠實的警告是尺寸上限。在工具頁面上解析和命名之前,會強制執行 10 MB 的限制,但該工具記錄了對於以字幕擴展名命名的任何內容都會跳過檢查,因此超大的字幕檔案會加載並阻止頁面,而不是被拒絕。這是在主執行緒上執行的真實結果,並它被記錄而不是隱藏。

回寫:Blob 和下載屬性 — 編輯後的檔案如何作為新下載到達您的磁碟

回寫會根據序列化文字建構一個 Blob,並將其作為下載傳遞給瀏覽器。該文字使用帶有 UTF-8 字元集的明確媒體類型進行包裝,為該 Blob 建立一個物件 URL,點擊帶有下載屬性的錨點,然後刪除該錨點。該檔案作為新檔案到達下載資料夾;原來的沒有修改。

撤銷是故意延遲的,而不是立即撤銷。點擊後同步撤銷物件URL可以在某些瀏覽器中取消下載,因此安排在稍後的一個巨集任務中,既安全又快速。這種細節僅在下載間歇性無法啟動時才會顯示。

工作範例:在完整轉換和重新定時期間觀看網路面板 - 從檔案開啟到檔案儲存的安靜面板

物件 URL 是如果沒有人觀看就會洩漏的部分。這個教訓被寫入儲存庫助理中:一個經過審核的項目在多個位置創建了物件 URL,並以精確的零撤銷它們,因此每個預覽在分頁的生命週期內都保留其整個 blob。在手機上,少量的光柵化頁面就足以讓瀏覽器殺死該分頁。

補救措施是結構性的,而不是紀律性的。沒有任何直接呼叫瀏覽器 API;作用域助手使用 URL 執行您的程式碼,並在程式碼成功、拋出和拒絕時撤銷它,並託管句柄為超出單個函數壽命的情況提供冪等撤銷。正確的清理是預設的,而不是每個呼叫站點都必須記住的事情。

這不包括什麼 - 該工具無法保護您稍後上傳到其他地方的檔案;當您的工作流程離開分頁時,隱私就結束了

若要驗證而不是信任,請在選擇檔案之前開啟網路面板,並在整個作業中保持開啟狀態。選擇檔案,轉換它,重新計時,下載結果。頁面載入時會出現對頁面及其腳本的請求;不應該出現的是任何負載為檔案的請求。在整個會話中保留日誌,這樣步驟之間就不會遺漏任何內容。

兩項誠實的資格。頁面可以載入來自其他來源的分析或廣告腳本,這些腳本在同一面板中可見,並與您的檔案是否已發送是一個單獨的問題。此屬性在標籤處結束:本地處理的工具無法保護您隨後透過電子郵件傳送、同步到雲端儲存或貼上到其他服務的檔案。本地處理減少了對您自己機器的暴露;之後它不會跟隨該檔案。

重點:您的檔案、您的分頁、您的磁碟 — Subtitle Toolkit 如何在本機上完成整個工作並讓您驗證它

路徑是檔案句柄、記憶體中文字、記憶體中提示、Blob、下載,且該序列中的任何內容都不需要伺服器。檔案由頁面讀取而不是發送給頁面,轉換為對象,並作為新檔案寫回,原始檔案始終保持不變。

對於機密資料更喜歡這種方式的原因不是做出了承諾,而是宣告可以在大約一分鐘內檢查。首先打開網路面板,完成整個工作,並讀取日誌。本地處理的工具將向您顯示一個面板,無需攜帶您的成績單,這比任何隱私權政策都有更強的保證。