在 Windows 上要從影片擷取一張畫面,需要在瀏覽器中執行三個動作:載入本機影片片段、輸入以秒為單位的時間,然後將解碼後的靜態畫面下載為全尺寸的 PNG。影片畫面擷取器可在目前的分頁中一次完成這三個步驟,無需上傳,也無需安裝。當影片片段屬於個人、機密內容,或僅僅是檔案太大、無法透過緩慢的連線推送到遠端服務時,這點就格外重要。Windows 本身並沒有內建的方式可以從影片檔案擷取一張乾淨的靜態畫面,這就是為什麼大多數人要嘛選擇像 Premiere Pro 這類重量級的剪輯軟體,要嘛只能接受擷取已暫停影片視窗的螢幕截圖,但畫面會帶有黑邊與播放器外框。在本機透過瀏覽器處理的方式正好能填補這個空缺:影片完全不會離開這台機器,瀏覽器本身的多媒體解碼器負責處理繁重的工作,輸出則是一張大小符合原始解碼畫面實際尺寸的 PNG。

extract frames from video on windows
在瀏覽器中從 Windows 上的影片擷取畫面

影片畫面擷取器在 Windows 上能做什麼

在 Windows 上,影片畫面擷取器完全在 Chrome、Edge、Firefox 或任何其他支援 HTML5 video 的瀏覽器中執行。您只要指定一個本機檔案,等待預覽縮圖與長度讀數出現,該頁面就會從瀏覽器本身的多媒體元素讀取片段的長度。接下來,時間欄位接受以秒為單位的數值,包括小數,從零到所顯示的長度皆可。點擊擷取按鈕後,頁面會指示隱藏的多媒體元素跳到指定時間、將目前解碼後的畫面繪製到相同尺寸的畫布上、將該畫布編碼為 PNG,並提供下載。輸出檔名會嵌入所選的時間,因此一段 12.4 秒的家庭生日影片片段會儲存為類似 frame_12.4s.png 的檔名。由於畫布與解碼後的畫面尺寸相符,PNG 會保持影片的原生解析度,而不會拉伸或縮放靜態畫面。

您應該了解的檔案與時間限制

與本站其他基於瀏覽器的影片工具一樣,影片畫面擷取器繼承了一套通用的安全政策,用以限制單一工作的規模。超出這些界限的工作要嘛無法載入,要嘛會拒絕擷取,這正是維持本機處理所必須的取捨。這些限制刻意設定得較為保守,以便頁面能在一般瀏覽器分頁中順利完成工作而不會卡住。

界限限制
檔案大小最高 500 MiB
長度最高 5 分鐘
寬度或高度每邊最高 4096 像素
總像素面積最高 3840 × 2160 像素
時間欄位範圍0 到所顯示的長度,允許小數
時間欄位精度小數秒(例如 0.05、1.25、12.345)

此工具接受 MP4、WebM、MOV、M4V 與 Ogg 容器,但即使副檔名可被識別,也並不總是代表該檔案能順利開啟。容器與其中的編解碼器是兩回事;如果您的 MP4 是以瀏覽器無法解碼的特殊編解碼器所產生,頁面會顯示該錯誤,而非輸出一張空白的 PNG。若想更深入了解瀏覽器底層元件如何運作,可參考 MDN 上關於 HTMLMediaElement currentTime 的參考文件,其中說明了跳轉步驟實際上究竟改變了什麼。

如何在 Windows 上從影片擷取畫面

以下是影片畫面擷取器會引導您完成的確切步驟。這些步驟對應到頁面上的三個控制項,並假設您使用的是較新的 Windows 版本,且已安裝最新的 Edge 或 Chrome。

  1. 在瀏覽器中開啟影片畫面擷取器,並點擊檔案選擇器。選擇一個本機的 MP4、WebM、MOV、M4V 或 Ogg 檔案,檔案大小不超過 500 MiB,且長度不超過 5 分鐘。請先等待預覽縮圖與長度讀數出現,再進行下一步。
  2. 查看已載入的長度,然後在時間欄位中輸入您想要的時間。一般的場景使用整數秒即可;若需要精準對齊特定節點,則可使用 1.25、12.4 或 0.05 等小數。可接受的範圍是零到所顯示的長度。
  3. 點擊「擷取 PNG 畫面」。頁面會跳轉影片、以原生尺寸繪製解碼後的畫面,並在頁面上產生預覽靜態畫面。請開啟預覽以確認時間點是否正確;若不正確,請編輯時間後再試一次。
  4. 使用下載控制項來儲存 PNG。檔名會包含所選的時間,因此您的下載資料夾能清楚記錄哪個時間點對應哪張圖片。PNG 會以解碼後的畫面尺寸呈現,並保存在您的本機磁碟上。

為何瀏覽器擷取在 Windows 上能保持本機執行

整個管線的每一步都在開啟頁面的 Windows 機器上同一個瀏覽器分頁中執行。影片檔案透過本機檔案輸入讀取,跳轉動作是透過設定 HTMLMediaElement 上的 currentTime 屬性來執行,畫面則透過 Canvas 的 drawImage 進行光柵化,PNG 則使用畫布本身的 toBlob 方法進行編碼。檔案的任何部分都不會上傳到伺服器,這正是對於不想讓影片片段離開筆電的使用者而言,此方法存在的全部理由。若您想了解底層 API 的詳細說明,MDN 上關於 Canvas drawImage 的條目詳細描述了光柵化的步驟。

為您的靜態畫面挑選合適的時間

您輸入的時間是多媒體時間軸上的位置,而非精確編號的來源畫面的保證。瀏覽器通常會跳轉到最近的解碼畫面,而該最近的畫面可能距離您輸入的時間戳有幾百毫秒的差距,原因包括關鍵畫面間隔、可變幀率、編輯清單,以及編解碼器內部的時間戳捨入。對於清晰場景的縮圖來說,這種誤差通常無關緊要,但對於體育比賽中的某個動作或畫面上短暫出現的一行文字來說,則可能造成影響。若第一次擷取的畫面沒有對準目標,請將時間微調十分之一秒後再擷取一次;小幅度的調整通常能快速對準畫面。若需要逐步引導,了解如何挑選真正有效的時間,可參考關於挑選合適時間的深入說明,該文以更詳細的方式介紹了相同的瀏覽器方法。

疑難排解:當畫面無法開啟或 PNG 無法產生時

從使用者端來看,有幾種失敗模式看起來很相似:檔案選擇器接受了檔案,但預覽從未出現;或擷取按鈕回傳錯誤;或根本沒有下載。每種情況都有不同的原因。

  • 副檔名看起來正常,但影片片段無法載入。這通常表示容器內的編解碼器在瀏覽器中不可用。MP4 尤其可能包含 H.264、HEVC 或 ProRes,而瀏覽器僅支援其中一部分。將影片片段重新匯出為標準的 H.264 MP4 通常能解決大多數此類情況。
  • 長度為空白或卡在零。頁面無法讀取影片片段的詮釋資料,常見原因包括檔案仍在下載中、是由寫入了錯誤檔頭的錄製軟體所擷取,或超出上表所列的其中一項限制。
  • 擷取按鈕已執行,但沒有任何檔案下載。瀏覽器無法跳轉、繪製或編碼畫面,頁面會顯示該錯誤,而非輸出一張空白的 PNG。嘗試不同的時間戳通常能解決暫時性的跳轉失敗。
  • 下載的 PNG 時間點不正確。瀏覽器跳轉到了附近的一個解碼畫面。請稍微調整時間後再試一次。

在 Windows 上何時桌面工具才是更好的選擇

瀏覽器擷取是為了一般常見的情境所設計:從一個大小足以納入安全政策範圍內的影片片段中,擷取一個您能指明時間點的單一 PNG。它並非適用於所有工作流程的正解。若您需要影格精準的剪輯、整個專案的批次擷取、精確編號的來源畫面、HDR 或色彩管理輸出,或是從瀏覽器無法解碼的編解碼器中擷取含有 alpha 通道的靜態畫面,您將會碰到瀏覽器分頁所能做到的上限。對於這些工作,以 FFmpeg、VLC 的場景篩選器,或完整的非線性剪輯軟體等桌面工具才是正確的起點。至於其他情況,在一台搭載現代瀏覽器的 Windows 機器上,影片畫面擷取器能在不離開裝置的情況下提供一張靜態畫面,這正是「工作做得漂亮」最簡單的定義。

若想更深入了解,請參閱從影片擷取畫面:在本機測試線上方法