🎞 使用 Python + FFmpeg 製作縮時影片(Time-lapse Video)教學

更新於 發佈於 閱讀時間約 4 分鐘

製作縮時影片(Time-lapse video)通常需要耗費大量剪輯工作,但如果你只是想把一段普通影片快速加速輸出為縮時效果,使用 ffmpeg 搭配 Python 就能輕鬆搞定。

這篇文章將教你如何使用一段簡單的 Python 程式碼,將原始影片加速為 10 倍、20 倍甚至更快的縮時影片,適合應用在 GoPro 運動錄影、監視畫面整理、旅遊 Vlog 加速剪輯等情境。

成果顯示

原縮時影片

再次縮時



🔧 所需環境

你需要安裝以下兩項工具:

1️⃣ Python(3.x)

你可以從 Python 官網 下載安裝。

2️⃣ FFmpeg

這是最強大的影片處理工具。下載方式如下:


🧑‍💻 完整 Python 程式碼:加速影片產生縮時效果

import subprocess

def create_timelapse_from_video(input_path, output_path, speed=10):
"""
使用 ffmpeg 將影片加速製作縮時影片。

:param input_path: 原始影片路徑
:param output_path: 縮時影片輸出路徑
:param speed: 加速倍率(例如 10 表示變成 10 倍速)
"""
pts_factor = 1 / speed # 計算播放時間比例(PTS
cmd = [
'ffmpeg', '-y', # -y 表示自動覆蓋輸出檔案
'-i', input_path, # 指定輸入影片
'-filter:v', f'setpts={pts_factor}*PTS', # 套用加速濾鏡
'-an', # 移除聲音
output_path # 指定輸出影片
]
subprocess.run(cmd, check=True)

🚀 使用方式:呼叫函式製作 20 倍速縮時影片

假設你有一段影片 input.mp4,希望輸出為 output_fast.mp4 並加速 20 倍:

create_timelapse_from_video(
input_path=r"G:\DCIM\100GOPRO\飛機縮時\input.mp4",
output_path=r"G:\DCIM\100GOPRO\飛機縮時\output_fast.mp4",
speed=20
)

🧠 工作原理:setpts 是什麼?

setpts 是 FFmpeg 中的濾鏡,用來調整影片每一幀的顯示時間。舉例來說:

  • 正常速度:setpts=1.0*PTS
  • 兩倍速:setpts=0.5*PTS
  • 十倍速:setpts=0.1*PTS

因為播放時間減少,畫面看起來就變快了。如果你同時要保留聲音,可以另外搭配 atempo 音訊濾鏡(但有倍率限制)。






留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
149會員
288內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/07/07
在剪映(CapCut)、Premiere、或其他字幕工具中,我們常會遇到字幕預設是簡體中文,但如果你是繁體使用者,閱讀或播出時可能會感到不習慣。 本文將教你如何透過 Python 與強大的 OpenCC 套件,快速將 .srt 字幕檔案中的簡體字轉換為繁體字,保留時間軸與字幕格式不變,實現自動化轉
Thumbnail
2025/07/07
在剪映(CapCut)、Premiere、或其他字幕工具中,我們常會遇到字幕預設是簡體中文,但如果你是繁體使用者,閱讀或播出時可能會感到不習慣。 本文將教你如何透過 Python 與強大的 OpenCC 套件,快速將 .srt 字幕檔案中的簡體字轉換為繁體字,保留時間軸與字幕格式不變,實現自動化轉
Thumbnail
2025/06/30
FFmpeg 將照片合成 MP4 影片簡介 什麼是 FFmpeg? FFmpeg 是一套跨平台的開源多媒體框架,能夠錄製、轉換數位音訊、影片,並能將其轉換成不同格式。它支援幾乎所有常見的影音格式。 照片合成 MP4 的應用場景 製作時光縮影(Timelapse) 照片幻燈片展示 動畫製作
Thumbnail
2025/06/30
FFmpeg 將照片合成 MP4 影片簡介 什麼是 FFmpeg? FFmpeg 是一套跨平台的開源多媒體框架,能夠錄製、轉換數位音訊、影片,並能將其轉換成不同格式。它支援幾乎所有常見的影音格式。 照片合成 MP4 的應用場景 製作時光縮影(Timelapse) 照片幻燈片展示 動畫製作
Thumbnail
2025/06/26
GoPro Max Lens Mod 2.0 是一款專為 GoPro HERO9、HERO10、HERO11 和 HERO12 Black 設計的超廣角鏡頭模組,旨在提升拍攝視野、影像穩定性及使用便利性。以下是其詳細介紹: 📸 主要規格與特色 超廣角視野:提供高達 177° 的視角,遠超過標
Thumbnail
2025/06/26
GoPro Max Lens Mod 2.0 是一款專為 GoPro HERO9、HERO10、HERO11 和 HERO12 Black 設計的超廣角鏡頭模組,旨在提升拍攝視野、影像穩定性及使用便利性。以下是其詳細介紹: 📸 主要規格與特色 超廣角視野:提供高達 177° 的視角,遠超過標
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
訊息的即時傳遞已然成為現代社會的趨勢了, 影音也是如此, 即時! 即時! 即時! 已經是目前使用者體驗的必要元素了, 在這邊我們要分享的主題是如何在python程式語言的情境下使用ffmpeg來將音檔串流的轉換格式, 為什麼會有這樣的需求呢? 因為我們處理音檔時可能會需要統一輸出的格式, 當然背後也
Thumbnail
訊息的即時傳遞已然成為現代社會的趨勢了, 影音也是如此, 即時! 即時! 即時! 已經是目前使用者體驗的必要元素了, 在這邊我們要分享的主題是如何在python程式語言的情境下使用ffmpeg來將音檔串流的轉換格式, 為什麼會有這樣的需求呢? 因為我們處理音檔時可能會需要統一輸出的格式, 當然背後也
Thumbnail
在某些特殊情況下,需要將圖片進行黑白反轉,例如Tesseract(OCR辨識引擎)就有建議黑底白字的狀況下辨識率較高。 本文將使用 NumPy 進行影像黑白反轉,並顯示反轉前後的影像。
Thumbnail
在某些特殊情況下,需要將圖片進行黑白反轉,例如Tesseract(OCR辨識引擎)就有建議黑底白字的狀況下辨識率較高。 本文將使用 NumPy 進行影像黑白反轉,並顯示反轉前後的影像。
Thumbnail
更快、更短、更即時是串流傳輸必要的元素, 而我們常常在使用Python請求API時都是等待式回應, 也就是一個請求過去之後, 待對方處理完畢後再行回應, 但假設需要下載的檔案、內容非常大時, 是不是使用者只能傻傻的等待整個傳輸結束後才能顯示? 這樣的使用者體驗也實在太糟糕了, 對於使用者來說除了完全
Thumbnail
更快、更短、更即時是串流傳輸必要的元素, 而我們常常在使用Python請求API時都是等待式回應, 也就是一個請求過去之後, 待對方處理完畢後再行回應, 但假設需要下載的檔案、內容非常大時, 是不是使用者只能傻傻的等待整個傳輸結束後才能顯示? 這樣的使用者體驗也實在太糟糕了, 對於使用者來說除了完全
Thumbnail
我們在「【🎓 Python的深度問答集】torchaudio 對部分段落進行音訊解碼」有分享到如何對一包包的封包進行音訊解碼, 但隨著音檔越大, 最終解碼的速度會越來越慢, 而這並非串流的本意, 串流應該就像水管一樣, 收到多少資料就運算多少量, 並不會隨著累積的容量越大而導致效能下降。 但實際
Thumbnail
我們在「【🎓 Python的深度問答集】torchaudio 對部分段落進行音訊解碼」有分享到如何對一包包的封包進行音訊解碼, 但隨著音檔越大, 最終解碼的速度會越來越慢, 而這並非串流的本意, 串流應該就像水管一樣, 收到多少資料就運算多少量, 並不會隨著累積的容量越大而導致效能下降。 但實際
Thumbnail
本篇內容介紹如何使用 Python中的 moviepy library 簡單的剪影片。 先安裝moviepy library , 用pip install moviepy , 可參考官方文件。 要剪的影片和python檔要在同個資料夾中,若不在同個位置要用 os library 更換路徑
Thumbnail
本篇內容介紹如何使用 Python中的 moviepy library 簡單的剪影片。 先安裝moviepy library , 用pip install moviepy , 可參考官方文件。 要剪的影片和python檔要在同個資料夾中,若不在同個位置要用 os library 更換路徑
Thumbnail
當我們在進行影像處理時, 在Python的世界最常聽到的就是OpenCV, 而我們在處理影片時也會想要僅針對某時間段的影片進行處理, 今天我們就來教您如何透過OpenCV來讀取特定的時間區段。 在進入主題之前, 有一些基本概念務必先行建立, 一個影片是由多張圖片組成的, 因此最小單元為一張圖
Thumbnail
當我們在進行影像處理時, 在Python的世界最常聽到的就是OpenCV, 而我們在處理影片時也會想要僅針對某時間段的影片進行處理, 今天我們就來教您如何透過OpenCV來讀取特定的時間區段。 在進入主題之前, 有一些基本概念務必先行建立, 一個影片是由多張圖片組成的, 因此最小單元為一張圖
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News