[英]How to scale up video with Python moviepy?
我正在使用 Python 3.10 和moviepy庫來處理視頻。 我需要在不改變分辨率的情況下放大(縮放)視頻。 有很多使用 moviepy resize 方法的例子,但它只改變分辨率。
是否有任何使用 moviepy 縮放視頻的選項,或者您可以建議使用 openCV 的一些解決方案?
為了實現視頻的放大,我們可以結合縮放和裁剪。
例子:
from moviepy.editor import VideoFileClip
clip = VideoFileClip("input.mp4")
width, height = clip.size
resized_and_cropped_clip = clip.resize(2).crop(x1=width//2, y1=height//2, x2=width*3//2, y2=height*3//2)
resized_and_cropped_clip.write_videofile("output.mp4")
resize(2)
- 在每個軸上將視頻大小調整為 2 倍。crop(x1=width//2, y1=height//2, x2=width*3//2, y2=height*3//2)
- 在調整大小后的視頻中心周圍裁剪一個具有原始圖像大小的矩形. 或者我們可以先裁剪然后調整大小。
它更有效,但可能會導致框架邊緣的輕微退化:
from moviepy.editor import VideoFileClip
clip = VideoFileClip("input.mp4")
width, height = clip.size
resized_and_cropped_clip = clip.crop(x1=width//4, y1=height//4, x2=width*3//4, y2=height*3//4).resize(2)
resized_and_cropped_clip.write_videofile("output.mp4")
上面的示例顯示放大 x2 倍。
對於其他因素的縮放,我們必須調整x1
、 y1
、 x2
、 y2
參數的計算。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.