當你需要從一段影片中擷取某個特定時間點的單張靜態畫面時,不論這張靜態畫面是用作縮圖、簡報中的參考圖、社群媒體貼文、從你擁有的影片素材中取得的產品照,或是螢幕錄影中的視覺筆記,都可以擷取影片畫面。當動作影像不再有用、只需要某個時間點的一張圖片時,擷取畫面就是正確的輸出方式。相對地,如果你需要的是同一段影片中的另一個時刻、整段序列的較短剪輯,或只需要音訊,那麼擷取畫面就不是合適的工具。這個決定取決於三個問題:一張靜態畫面是否足夠、你是否有權使用這段影片,以及你的影片是否符合支援的檔案、大小與時長限制。如果這三個問題的答案都是肯定的,那麼像 Video Frame Extractor 這樣的本地瀏覽器工具就能在不上傳影片、不安裝任何軟體的情況下,讓你取得靜態畫面。

how do i decide whether i need to extract video frame
我需要擷取影片畫面嗎?在這裡做決定

你確實需要擷取影片畫面的徵兆

擷取畫面解決的是一項狹窄的任務:某個時刻的一張圖片。當你的目標正好符合這項任務、而不是更多需求時,就擷取畫面吧。

  • 你需要一張縮圖或封面圖。影片平台、部落格文章或簡報要求的不是動態影片,而是一張具代表性的靜態畫面。
  • 你需要一張參考圖。投影片、報告或文件需要一張說明單一事件的圖片,而非一連串事件的影像。
  • 你需要一張可列印的靜態畫面。海報、名片、相片書或按需列印的商品需要一個擷取下來的瞬間。
  • 你需要從自己擁有的媒體快速取得一張靜態畫面。家庭影片、螢幕錄影、教學影片或你自己拍攝的產品素材,而你只需要其中一個畫面。
  • 你需要一張沒有音訊的素材。擷取畫面本質上會捨棄音軌,這在想要一張安靜的圖片時很實用。

如果以上情境有三項以上符合你的需求,擷取畫面就是正確的做法。如果符合的項目較少,通常的解答是換用其他影片工具,而不是換另一種擷取畫面工具。

擷取畫面不是正確選擇的時機

有時候表徵看起來像是「我需要從影片中取得一張圖片」,但真正的需求其實是別的。在開始之前,先退一步思考。

  • 你需要整段影片的較短版本。正確的作法是修剪檔案,而不是擷取靜態畫面。本站對應的工具是 Video Trimmer。
  • 你只需要音訊。如果你想要的是音樂、播客片段或一段沒有畫面的語音備忘錄,擷取畫面對你毫無用處。請改用音訊擷取工具。
  • 你需要每一個畫面。製作逐格接觸印片、精靈圖集或訓練資料需要批次擷取,這超出單張畫面工具所能提供的範圍。
  • 你需要精確編號的原始畫面。瀏覽器會跳至最接近的已解碼畫面;所要求的時間是媒體時間軸上的位置,並不等同於原始畫面編號的精確保證。
  • 你需要對輸出進行縮放、銳利化或色彩校正。擷取畫面會保留解碼後的尺寸而不套用任何濾鏡,所以後製工作應交由影像編輯軟體處理。

核心問題在於輸出究竟是一張靜態畫面,還是其他東西。如果輸出是一張靜態畫面,擷取畫面就適合;如果輸出是較短的影片、音訊檔、接觸印片或完成品照片,則不適合。

將你的情境對應到正確的作法

這個快速對照表將常見的情境對應到真正能解決問題的作法。開始之前,先用它做一次 sanity check。

情境 最佳作法
從短片中取得一張縮圖 使用 Video Frame Extractor 擷取一張 PNG
從家庭影片列印靜態畫面 擷取一張 PNG,再於影像編輯軟體中進行後製
從較長的影片中剪出五秒的預告片段 使用影片修剪工具剪輯影片
從音樂影片中取出音訊 另外擷取音軌
從教學影片製作全格接觸印片 使用具備批次擷取功能的桌面軟體
從 HDR 或 log 編碼的母帶擷取畫面 使用具備色彩管理的桌面軟體
必須完全對應特定編號的原始畫面 使用具備逐格精度的桌面軟體
從超過 5 分鐘或 500 MiB 的影片擷取畫面 使用能處理長片段的桌面軟體

如果你的情境落在前兩列,擷取畫面是正確的方向;如果落在中間,擷取畫面就是錯誤的工具;如果落在最後,擷取畫面或許仍然可行,但精度、色彩或尺寸的限制可能會把你推向桌面應用程式。

如何使用 Video Frame Extractor 擷取畫面

一旦確定答案是肯定的,實際操作本身很短。這個工具會在本機檔案中進行跳轉,並將 PNG 寫入你的下載資料夾,且不會上傳影片。

  1. 從你的裝置中選擇一支支援的本地影片,並等待其時長與預覽載入完成。支援的容器格式為 MP4、WebM、MOV、M4V 與 Ogg。檔案必須符合共用的影片安全政策:最大 500 MiB、最長 5 分鐘,每邊像素不超過 4096 像素,面積不超過 3840 × 2160 像素。
  2. 輸入畫面時間,範圍介於 0 與顯示的時長之間。時間欄位接受帶小數的秒數,這在毫秒值、幀率形式的小數,以及超過一分鐘的時間上特別實用。顯示的時長是上限而非估計值,請以它作為參考依據。
  3. 選擇 Extract PNG frame,並等待靜態畫面生成。瀏覽器會跳至該時間點,以原始尺寸繪製已解碼的畫面,並在當前的分頁中產生可下載的 PNG。
  4. 下載前,請於預覽區域確認靜態畫面。如果圖片與你想要的瞬間不符,請變更時間並再執行一次該步驟。
  5. 當靜態畫面正確時,下載本地 PNG。輸出檔名會包含所選的時間,方便你管理多張擷取結果。

這張 PNG 是以原始像素尺寸呈現的已解碼畫面。影片檔案本身不會被修改,也不會有任何資料被送到遠端伺服器。

會改變決策的限制

少數硬性限制可能會讓答案從肯定變成否定。請在動手之前先讀過這些,因為每一項都可能影響工具能否完成任務。

  • 檔案大小與時長上限。共用的影片安全政策為最大 500 MiB、最長 5 分鐘。一堂兩小時的講座、一整集播客,或一部 4K 劇情長片,都無法在這個工具中開啟。
  • 像素邊界。每邊像素不超過 4096 像素,面積不超過 3840 × 2160 像素。6K 或 8K 來源在瀏覽器中無法以全解析度解碼。
  • 容器 vs. 編解碼器。MP4、WebM、MOV、M4V 與 Ogg 都是容器。瀏覽器還必須支援儲存在容器內的特定編解碼器。副檔名正確的檔案,若編解碼器不受支援,仍可能無法解碼。
  • 瀏覽器跳轉精度。由於關鍵影格、可變幀率、編輯列表、時間戳記進位與編解碼器行為等因素,瀏覽器可能會跳到附近已解碼的畫面。顯示的時間記錄的是所要求的位置;這個工具不會檢查封包時間戳記,也不會識別精確編號的原始畫面。
  • 不進行縮放、銳利化或濾鏡處理。PNG 是以原始尺寸呈現的已解碼畫面。裁切、縮放、銳利化與調色等工作應在影像編輯軟體中完成,而非在此處進行。
  • 透明度並非必然。PNG 僅在瀏覽器解碼後的影片畫面提供透明度時才會保留。大多數已解碼的影片畫面都是不透明的,因此請勿預期會有 alpha 通道。
  • 不支援批次或連續擷取。每次執行只會產生一張靜態畫面。若要製作接觸印片或精靈圖集,必須重複執行這個工具,而且這個工具不會將結果拼接在一起。

根據 MDN HTMLMediaElement currentTime 參考資料,瀏覽器會跳到所要求的媒體時間,但實際解碼後的畫面可能落在附近的關鍵影格。根據 MDN Canvas drawImage 參考資料,畫布擷取的是解碼器交給它的像素資料,這就是為什麼輸出是已解碼畫面的忠實複本,而非重新算繪的影像。在解碼、跳轉、畫布繪製或 PNG 編碼過程中發生的錯誤,會顯示在頁面上,而不是產生空白的下載檔案。

何時桌面工具才是更好的解答

當以下任何一項成立時,決策就會變成「使用桌面工具」。

  • 影片長度超過 5 分鐘或大小超過 500 MiB。瀏覽器的記憶體與解碼器限制使得在網頁上處理長片段具有風險。
  • 你需要逐格精度的編號。需要標示「母帶第 1,243 格」的編輯工作,必須使用能讀取封包時間戳記的工具,而不是會四捨五入到關鍵影格的瀏覽器。
  • 你需要批次擷取。擷取每一格、每個關鍵影格,或整條時間軸上固定間隔的畫面,屬於具備批次作業能力工具的工作範疇。
  • 你需要 HDR 或具色彩管理的輸出。瀏覽器的解碼與 PNG 編碼並不會保留色彩管理流程,因此高位元深度、log 或 HDR 來源將會喪失其預期的色彩值。
  • 你需要 Alpha 工作流程。逐格透明度、keying matte 或 alpha 通道編輯需要桌面合成軟體,而不是匯出單張 PNG 的功能。
  • 容器或編解碼器不受支援。ProRes、DNxHR、部分封裝中的 AV1,以及其他編輯用的編解碼器,在瀏覽器中可能完全無法解碼。

如果以上情況皆不適用,而你的影片是你擁有的短檔案,這篇關於選擇正確作法的指南會更詳細地說明同一個決策過程。簡而言之,正確的工具就是最符合你最小需求集合的那個,而擷取畫面正是最小可能的需求:一張圖片、一個瞬間、一個本地檔案。

延伸閱讀:記錄擷取影片畫面的步驟。