[英]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.