參考:
https://blog.csdn.net/mhack5200/article/details/128666918
https://www.cnblogs.com/LaoYuanPython/p/13643497.html
moviepy
函數(shù)庫很坑,默認值比較低,要提高保存圖像的清晰度,提高bitrate
就好,這點指定 4000k
或者 8000k
就行了
如,bitrate='8000k'
具體如下:文章來源:http://www.zghlxwxcb.cn/news/detail-850852.html
clip_list=[]
for num in range(len(fullpathlist)):
fullpath = fullpathlist[num]
clip = VideoFileClip(fullpath)
clip = clip.fx(vfx.fadein,0.4).fx(vfx.fadeout,0.4) #淡入淡出效果,漸入漸出
clip_list.append(clip) #合在一個list
clips = concatenate_videoclips(clip_list) #將所有片段拼接一起,要是用
clip.CompositeVideoClip話是將片段放在一個畫面
中,會同時播放
clips.write_videofile(outputpath, codec='h264_nvenc', threads=15, bitrate='8000k',
ffmpeg_params=[
'-tile-columns', '6', '-frame-parallel', '0',
'-auto-alt-ref', '1', '-lag-in-frames', '25', '-g',
'128', '-pix_fmt', 'yuv420p', '-row-mt', '1'])
ImageSequenceClip 是 moviepy 庫中的一個類,用于從一系列圖像創(chuàng)建一個視頻剪輯。以下是這個類的一些主要初始化參數(shù):文章來源地址http://www.zghlxwxcb.cn/news/detail-850852.html
iterable: 這是一個迭代器或列表,其中包含要轉換為視頻的圖像的文件名或路徑。圖像將按照它們在迭代器/列表中的順序進行播放。
fps: 這是一個浮點數(shù),表示每秒應播放多少幀圖像。默認值是 None,這意味著它將嘗試從圖像的文件名中推斷出幀率(如果文件名包含數(shù)字序列的話)。
durations: 這是一個列表,與 iterable 中的圖像一一對應,表示每個圖像的顯示時間(以秒為單位)。如果未提供此參數(shù),則所有圖像的顯示時間都將為 1/fps 秒。
load_images: 這是一個布爾值,表示是否立即加載所有圖像。如果為 True,則在創(chuàng)建 ImageSequenceClip 對象時將加載所有圖像,這可能會占用大量內存。如果為 False,則圖像將在需要時按需加載,這可能會降低性能但減少內存使用。默認值是 True。
with_mask: 這是一個布爾值,表示是否使用圖像的 alpha 通道(如果存在)作為遮罩。如果為 True,則圖像的透明部分將不會顯示。默認值是 False。
ismask: 這是一個布爾值,表示這個剪輯是否應該被當作一個遮罩來使用。如果為 True,則這個剪輯將只包含黑白圖像,其中白色表示可見部分,黑色表示不可見部分。默認值是 False。
transparent: 這是一個布爾值或顏色值,表示如果圖像具有該顏色,則應將其視為透明。這通常用于處理沒有 alpha 通道的圖像。默認值是 False。
logger: 這是一個可選的日志記錄器對象,用于記錄有關圖像加載和處理的信息。
preload: 這與 load_images 類似,但 preload 參數(shù)的取值可以是 "auto"、"eager" 或 "lazy"。"auto" 將根據(jù)圖像的數(shù)量和大小自動選擇是否預加載圖像,"eager" 將立即加載所有圖像,而 "lazy" 則會在需要時按需加載圖像。
注意:上述參數(shù)可能會隨著 moviepy 庫的更新而發(fā)生變化,因此建議查閱最新的 moviepy 文檔以獲取最準確的信息。
另外,值得注意的是,我在編寫這個回答時,ImageSequenceClip 的 __init__ 方法并沒有直接接受上述所有參數(shù)。一些參數(shù)(如 load_images、with_mask、ismask、transparent)實際上是 ImageClip 類的參數(shù),而 ImageSequenceClip 是從 ImageClip 派生的。因此,在創(chuàng)建 ImageSequenceClip 對象時,這些參數(shù)可能會通過其他方式(例如,通過設置 ImageClip 對象的屬性)來間接使用。再次強調,建議查閱最新的 moviepy 文檔以獲取最準確的信息。
到了這里,關于解決moviepy保存的視頻畫質不清晰問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!