簡體   English   中英

使用 MoviePy 在視頻上疊加圖像

[英]Overlay image on video using MoviePy

我正在嘗試在基本視頻上疊加圖像。 這是我目前擁有的代碼:

clip = VideoFileClip("base_video.mp4") 

cat = (ImageClip("title.png")
           .set_start(0) #which second to start displaying image
           .set_duration(4) #how long to display image
           .set_position(("center", "center")))

clip = CompositeVideoClip([clip, cat])

clip.write_videofile("asdf.avi",fps=24, codec='rawvideo')

我在 reddit 上找到了這段代碼,它似乎可以工作,但是它將 mp4 文件轉換為 avi 文件(我嘗試將“.avi”更改為“.mp4”,但它不起作用)。 想知道在保持 mp4 文件類型的同時是否還有其他方法可以做到這一點。

非常感謝您!

nvm 我想通了

video = VideoFileClip("base_video.mp4")

title = ImageClip("title.png").set_start(3).set_duration(7).set_pos(("center","center"))
          #.resize(height=50) # if you need to resize...
          

final = CompositeVideoClip([video, title])
final.write_videofile("test.mp4")

不同的格式有不同的編解碼器。 你可以在這里找到它們。 如果您沒有在write_videofile方法中設置編解碼器參數,它會自動檢測並使用相應的編解碼器。

“libx264” (文件擴展名.mp4的默認編解碼器)制作壓縮良好的視頻(使用“比特率”可調整質量)。

'mpeg4' (擴展.mp4的其他編解碼器)可以替代 'libx264',並默認生成更高質量的視頻。

'rawvideo' (使用文件擴展名.avi )將產生完美質量的視頻,可能非常大。

png (使用文件擴展名.avi )將產生完美質量的視頻,比 rawvideo 更小。

'libvorbis' (使用文件擴展名.ogv )是一種不錯的視頻格式,完全免費/開源。 然而,並不是每個人的機器上都默認安裝了編解碼器。

'libvpx' (使用文件擴展名.webm )是一種非常適合 web 視頻(使用 HTML5)的視頻格式。 開源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM