我嘗試使用 ffmpeg 通過一個命令提取特定幀和裁剪幀。
我使用這些答案:
https://video.stackexchange.com/questions/4563/how-can-i-crop-a-video-with-ffmpeg
https://superuser.com/questions/1009969/how-to-extract-a-frame-out-of-a-video-using-ffmpeg
問題是我不能同時使用這兩個命令。也就是說,只執行第一個命令:
當我使用此命令時,裁剪不起作用:
from moviepy.config import get_setting
cmd = [get_setting("FFMPEG_BINARY"), "-i", url, "-filter:v", f"crop={x2-x1}:{y2-y1}:{x1}:{y1}", "-vf", "select=gte(n\,10)", "-vframes", "1",frame_dir_out]
當我使用這個命令時,它只裁剪第一幀而不是第 10 幀:
cmd = [get_setting("FFMPEG_BINARY"), "-i", url, "-vf", "select=gte(n\,10)", "-vframes", "1", "-filter:v", f"crop={x2-x1}:{y2-y1}:{x1}:{y1}" ,frame_dir_out]
如何將 2 個過濾器:v/vf 選項組合成一個過濾器鏈?
uj5u.com熱心網友回復:
-filter
并且-vf
是等效的選項。在這兩個示例中,都使用了 ffmpeg 中的簡單過濾器圖(一個輸入 -> 一個輸出)。它們可以通過連接用逗號分隔的過濾器運算式來組合:
cmd = [get_setting("FFMPEG_BINARY"), "-i", url, "-filter:v", f"crop={x2-x1}:{y2-y1}:{x1}:{y1},select=gte(n\,10)", "-vframes", "1",frame_dir_out]
最好的問候,馬克
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/505001.html
上一篇:用它的值替換一個句子中的鍵