常見問題解答

FlowPick 使用過程中的高頻問題與解答,涵蓋安裝、下載、格式轉換、故障處理等場景。

本文件收集了 FlowPick 使用過程中最常被問到的問題。如果你遇到的問題不在列表中,請參考 常見問題排查 或透過 GitHub Issues 回報。


快速導覽

分類問題數跳轉
安裝與設定4安裝與設定
媒體偵測3媒體偵測
下載相關5下載相關
格式轉換3格式轉換
隱私與安全3隱私與安全
技術問題3技術問題
其他問題4其他問題

安裝與設定

FlowPick 是免費的嗎?

是的,FlowPick 完全免費,無任何付費功能或訂閱方案。專案程式碼在 GitHub 上開源。

關於開源協定和貢獻方式,請參閱 貢獻指南

為什麼擴充功能需要「讀取和變更網站資料」權限?

FlowPick 需要監控網路請求以偵測頁面上的媒體資源。此權限僅用於:

  • 監聽瀏覽器發出的網路請求,識別影片、音訊和圖片 URL
  • 在使用者主動點擊下載時,發起下載請求

FlowPick 不會收集、上傳或分享你的瀏覽資料。

關於擴充功能請求的所有權限及其具體用途,請參閱 隱私與安全 — 權限說明。關於擴充功能的安裝步驟,請參閱 安裝指南

可以在 Firefox 上使用嗎?

Firefox 擴充功能版本正在開發中。目前可以在 Firefox 上使用線上工具(/m3u8-downloader/dash-downloader),但功能受限於 Firefox 對 File System Access API 和 SharedArrayBuffer 的支援情況。

關於各瀏覽器的完整功能支援矩陣,請參閱 瀏覽器相容性 — 功能支援矩陣。關於線上工具的使用方式,請參閱 線上工具

如何更新到最新版本?

Chrome/Edge 擴充功能會自動更新。你也可以手動檢查更新:

  1. 開啟 chrome://extensions(Edge: edge://extensions
  2. 開啟右上角的「開發者模式」
  3. 點擊「更新」按鈕


媒體偵測

為什麼偵測不到頁面上的影片?

最常見的原因和解決方法:

  1. 頁面尚未載入媒體:先播放影片幾秒鐘,然後重新整理頁面再開啟 FlowPick
  2. 擴充功能在頁面載入後才啟用:重新整理頁面讓擴充功能重新監控網路請求
  3. 網站使用 MSE 動態載入:部分網站透過 Media Source Extensions 動態推送資料,可能無法透過常規網路請求偵測到
  4. 媒體在 iframe 中:跨域 iframe 中的媒體可能無法被偵測
關於媒體偵測的完整排查流程(含診斷步驟和常見原因表),請參閱 常見問題排查 — 媒體偵測問題。關於 HLS/DASH 偵測的技術原理,請參閱 影片嗅探

偵測到的檔案太多,如何篩選?

使用 FlowPick 彈出視窗中的過濾功能:

  • 類型過濾:切換影片/音訊/圖片標籤
  • 大小過濾:設定最小檔案大小,排除縮圖和小圖示
  • 格式過濾:按副檔名篩選(如只顯示 .mp4

關於過濾設定的詳細說明,請參閱 設定參考 — 過濾設定。關於圖片下載的篩選技巧,請參閱 圖片下載

為什麼同一個影片出現多個項目?

串流媒體通常包含多個畫質版本(如 720p、1080p、4K),每個版本會作為獨立項目顯示。選擇你需要的畫質下載即可。如果使用 Master Playlist 的 M3U8 串流,FlowPick 會先顯示畫質列表讓你選擇。

關於 Master Playlist 和 Media Playlist 的區別,請參閱 影片嗅探 — HLS 串流。關於畫質選擇的實際場景,請參閱 線上課程下載

下載相關

下載速度慢怎麼辦?

影響下載速度的因素及最佳化建議:

因素最佳化方法
並行執行緒數過低在設定中增加到 4-6
CDN 限速降低並行數避免觸發限流
網路頻寬不足關閉其他佔用頻寬的應用程式
分片伺服器距離遠無法最佳化,取決於串流媒體服務商
關於下載速度慢的完整診斷流程(含決策樹),請參閱 常見問題排查 — 下載速度慢。關於並行數與效能的關係分析,請參閱 下載引擎架構 — 並行數與效能的關係

下載的檔案無法播放?

按以下步驟排查:

  1. 檢查檔案大小:如果檔案明顯偏小(如只有幾 KB),說明下載不完整
  2. 檢查格式:確認播放器支援該格式(TS 格式需要 VLC 或 PotPlayer)
  3. 檢查加密:加密串流如果金鑰取得失敗,檔案將無法解密
  4. 嘗試轉封裝:將 TS 轉為 MP4 後再播放
關於檔案無法播放的完整診斷步驟(含 VLC 修復功能),請參閱 常見問題排查 — 下載的檔案無法播放。關於 TS 和 MP4 格式的播放器相容性,請參閱 格式轉換 — 輸出格式選擇

可以同時下載多個檔案嗎?

可以。在彈出視窗中勾選多個資源後點擊「下載所選」,它們會逐一按順序下載。

關於批次下載的佇列管理、並行控制和狀態管理,請參閱 批次下載。關於批次下載圖片的場景,請參閱 圖庫批次儲存

下載中斷後可以續傳嗎?

目前版本不支援斷點續傳。如果下載中斷:

  • 已下載的分片資料會遺失
  • 需要重新開始下載
  • 建議使用穩定的網路環境下載大檔案

為什麼不支援斷點續傳?

斷點續傳需要將已下載的分片資料持久化到磁碟,並在恢復時從斷點繼續。這在瀏覽器環境中面臨兩個主要挑戰:

  1. 儲存限制:瀏覽器儲存(IndexedDB)有配額限制,無法可靠儲存 GB 級別的分片資料
  2. 分片 URL 過期:串流媒體的分片 URL 通常包含時效性權杖,中斷時間稍長權杖就會過期,即使續傳也無法下載剩餘分片
關於分片 URL 過期的典型時間窗口,請參閱 已知限制 — 分片 URL 過期。關於下載引擎的重試機制,請參閱 下載引擎架構 — 重試機制

下載的檔案儲存在哪裡?

取決於你的瀏覽器設定和選擇的儲存方式:

  • Chrome 預設:瀏覽器的預設下載目錄(通常是「下載」資料夾)
  • 選擇目錄模式:你透過目錄選擇器指定的資料夾
  • 每次詢問:每次下載時彈出儲存對話框
關於 File System Access API 的目錄選擇功能和權限持久化,請參閱 下載引擎架構 — 檔案寫入模組。關於各瀏覽器的儲存方式支援情況,請參閱 瀏覽器相容性 — 功能支援矩陣

格式轉換

TS 和 MP4 有什麼區別?

特性TSMP4
全稱MPEG Transport StreamMPEG-4 Part 14
設計用途串流媒體傳輸本機儲存和播放
播放相容性需要 VLC/PotPlayer 等專業播放器幾乎所有播放器都支援
檔案大小略大(含傳輸額外負擔)略小
下載速度快(無需轉封裝)慢(需要 FFmpeg 處理)

建議:如果播放器支援 TS 格式,選擇 TS 輸出可以跳過轉封裝步驟,下載更快。

關於容器與編解碼器的概念區分,請參閱 格式轉換 — 容器與編解碼器。關於轉封裝與轉碼的區別,請參閱 已知限制 — 不支援的轉換

為什麼轉封裝需要很長時間?

FFmpeg 在瀏覽器中以 WebAssembly 執行,效能約為原生版本的 10-20%。影響因素:

  • 檔案大小:越大的檔案轉封裝越慢
  • SharedArrayBuffer:不可用時只能單執行緒執行
  • CPU 效能:WASM 執行速度取決於裝置 CPU
關於 FFmpeg WASM 與原生版本的效能對比資料,請參閱 已知限制 — FFmpeg WASM 效能。關於 SharedArrayBuffer 的設定要求,請參閱 瀏覽器相容性 — 進階 API

轉封裝失敗怎麼辦?

常見原因和解決方法:

  1. FFmpeg 載入失敗:重新整理頁面重試,檢查網路連線
  2. 記憶體不足:關閉其他分頁,降低並行數
  3. 來源檔案損毀:部分分片下載不完整,嘗試重新下載
  4. 不支援的編碼:FlowPick 僅做容器轉換,不支援的編碼格式無法處理
關於 FFmpeg WASM 的載入流程和首次載入時間分解,請參閱 已知限制 — FFmpeg 首次載入較慢。關於合併過程卡住的排查,請參閱 常見問題排查 — 合併過程卡住

隱私與安全

FlowPick 會收集我的資料嗎?

不會。FlowPick 的所有處理都在你的瀏覽器本機完成:

  • 媒體偵測在擴充功能內部進行,不上傳任何資料
  • 檔案下載直接從來源伺服器到你的磁碟
  • 沒有後端伺服器,沒有使用者帳戶系統
  • 使用 Google Analytics 僅統計匿名存取資料(可被廣告攔截器封鎖)
關於隱私保護的完整說明(含權限用途、資料處理流程、安全架構),請參閱 隱私與安全。關於隱私政策的完整文字,請參閱 隱私政策

下載的內容有版權問題嗎?

FlowPick 是一個工具,不判斷也不限制你下載的內容。請遵守以下原則:

  • 僅下載你有權存取和使用的內容
  • 遵守網站的服務條款
  • 下載的內容僅用於個人合理使用
  • 不得將下載的內容用於商業用途或再分發

線上工具安全嗎?

線上工具(/m3u8-downloader/dash-downloader)的所有處理同樣在瀏覽器本機完成:

  • 你貼上的 URL 不會傳送到任何伺服器
  • 下載的資料直接從來源伺服器傳輸到你的磁碟
  • FFmpeg 在瀏覽器中執行,不上傳檔案
關於線上工具與擴充功能的功能差異和安全模型,請參閱 線上工具

技術問題

什麼是 SharedArrayBuffer,為什麼需要它?

SharedArrayBuffer 是一種允許多個執行緒共享記憶體的 JavaScript 物件。FFmpeg WASM 使用它來實現多執行緒並行處理,顯著提升轉封裝速度。

由於安全性原因(Spectre 漏洞緩解),瀏覽器要求網站設定特定的 HTTP 回應標頭才能使用 SharedArrayBuffer。如果這些標頭未設定,FFmpeg 會自動降級為單執行緒模式。

關於 SharedArrayBuffer 的瀏覽器支援詳細資訊和自行部署時的伺服器端設定,請參閱 瀏覽器相容性 — 進階 API。關於單執行緒與多執行緒的效能差異,請參閱 格式轉換 — 多執行緒模式

為什麼線上工具需要貼上 URL 而不是自動偵測?

瀏覽器擴充功能可以監控網路請求,但一般網頁受同源策略限制,無法存取其他分頁的網路請求資料。線上工具作為一般網頁執行,需要你手動提供串流媒體 URL。

如何取得串流媒體 URL?

  1. F12 開啟開發者工具
  2. 切換到 Network(網路)面板
  3. 在過濾框中輸入 m3u8mpd
  4. 播放影片,觀察出現的請求
  5. 右鍵點擊 M3U8/MPD 請求 → Copy → Copy link address

關於線上工具的完整使用流程,請參閱 線上工具。關於 CORS 跨域限制的技術原理,請參閱 已知限制 — CORS 跨域限制

擴充功能版本和線上有什麼區別?

特性擴充功能版本線上工具
自動偵測媒體支援不支援
CORS 限制不受限受限
安裝需求需要安裝擴充功能無需安裝
使用便利性一鍵偵測下載需要手動取得 URL
適用場景日常使用臨時使用、無法安裝擴充功能的環境
關於擴充功能與線上工具的詳細功能差異和選擇建議,請參閱 線上工具 — 與擴充功能的對比。關於擴充功能的安裝步驟,請參閱 安裝指南

其他問題

專案是開源的嗎?

是的,FlowPick 在 GitHub 上開源。你可以檢視原始碼、提交 Issue 或貢獻程式碼。

關於如何參與專案貢獻,請參閱 貢獻指南

如何回報 Bug?

透過 GitHub Issues 提交 Bug 回報,請包含以下資訊:

  • 瀏覽器類型和版本
  • 作業系統
  • 問題描述和重現步驟
  • 主控台錯誤記錄(F12 → Console)
  • 相關的串流媒體 URL(如果可公開存取)
關於如何產生診斷報告(含一鍵複製指令碼),請參閱 常見問題排查 — 產生診斷報告。提交 Issue 前建議先查閱 已知問題 確認是否為已記錄的已知限制。

如何請求新功能?

透過 GitHub Issues 提交功能請求,請描述:

  • 你想要實現的功能
  • 使用場景
  • 期望的行為

可以自行部署線上工具嗎?

可以。FlowPick 是一個 Nuxt 應用,你可以克隆儲存庫後自行構建部署。需要注意:

  • 部署環境必須設定 COEP/COOP 回應標頭以啟用 FFmpeg 多執行緒
  • StreamSaver.js 的 mitm.html 和 Service Worker 需要正確部署
  • 建議使用 Cloudflare Pages 或 Vercel 等支援自訂回應標頭的平台
關於自行部署的完整步驟和伺服器端設定要求,請參閱 安裝指南 — 自行部署。關於 SharedArrayBuffer 所需的 HTTP 回應標頭設定,請參閱 瀏覽器相容性 — 進階 API

相關文件