☞ ░ 前往老猿Python博文目錄 ░
moviepy音視頻剪輯模塊的視頻剪輯基類VideoClip的fl_image方法用於進行對剪輯幀數據進行變換。 調用語法:fl_image(self, image_func, apply_to=None)
。
其中參數image_func用於對幀數據進行變換,可以調用moviepy提供的相關方法,也可以自己實現,但自己實現時可能在運行時報錯:ValueError: assignment destination is read-only
這是因爲image_func參數對應的幀數組是隻讀的,不能修改,實際上get_frame(t)返回的所有幀數組都是隻讀的。幀的類型爲numpy.ndarray,而numpy.ndarray直接定義的數據是可修改的,爲什麼幀數據不能修改筆者暫時還沒弄明白(報錯ValueError: assignment destination is read-only),爲了規避該問題,將參數img數據採用如下形式的賦值語句:frame= np.array(img)
就可以對新的變量frame進行修改,所有變換可以針對新變量frame進行,返回也必須是新變量frame。
更多關於VideoClip的屬性和方法請參考《moviepy音視頻剪輯:視頻剪輯基類VideoClip的屬性及方法詳解》(免費文章)或《moviepy音視頻剪輯:視頻剪輯基類VideoClip詳解》(付費專欄文章,但內容更全、案例更多)。
更多moviepy的介紹請參考《PyQt+moviepy音視頻剪輯實戰文章目錄》或《專欄:使用PyQt開發圖形界面Python應用》。