日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python用moviepy對視頻進行簡單的處理

瀏覽:183日期:2022-06-25 13:39:43
楔子

隨著自媒體時代,現在對視頻的處理變得越來越常見。我們可以使用Adobe的一些專業工具,但是效率不高;如果只是對視頻進行一些簡單的處理的話,或者視頻的數量非常多的話,那么使用專業軟件顯然就不太適合了。

而python中有專門用于處理視頻的庫:moviepy,可以非常方便地對視頻進行一些簡單處理,下面我們就來看一看。

首先是安裝:pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple,個人推薦安裝的時候使用清華源,因為moviepy需要依賴另一個庫:imageio_ffmpeg,這個庫里面包含了一個50多MB的ffmpeg二進制文件,直接從pypi上拉取的話會很長時間,如果網絡不行的話。當然安裝moviepy的時候,imageio_ffmpeg就順帶安裝了。

從這里我們也看到,moviepy底層還是依賴ffmpeg這個專業軟件的,而ffmpeg是跨平臺的,所以moviepy也可以在任意平臺上使用。

moviepy的簡單使用

我們來簡單看一下如何使用moviepy這個模塊,不過在使用之前我們需要一個視頻,就使用you-get工具從bilibili上下載一個吧。

python用moviepy對視頻進行簡單的處理

下面我們就使用這個下載的視頻進行演示。

一個小栗子

我們以一個小栗子,來演示一下使用moviepy是怎么操作視頻的。

from moviepy import editor# 調用 `VideoFileClip(文件名)` 即可將視頻加載進來# 可以讀取各種格式的視頻文件video_clip = editor.VideoFileClip(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv')# 調用subclip方法,傳入起始時間和結束時間,即可截取視頻中的指定部分'''video_clip.subclip(): 截取視頻全部,相當于沒做處理video_clip.subclip(10): 從視頻的 `第10秒` 截取到 `結尾`video_clip.subclip(10, -2): 從視頻的 `第10秒` 截取到結尾的 `前兩秒`video_clip.subclip((1, 35), (3, 10)): 從視頻的 `第1分35秒` 截取到 `3分10秒` video_clip.subclip((1, 2, 18), (2, 1, 34)): 從視頻的 `第1小時2分18秒` 截取到 `第2小時1分34秒`'''video_clip = video_clip.subclip(5, 20)# 調整音量,變為原來的0.5video_clip = video_clip.volumex(0.5)# 做一個文本剪貼板,自定義樣式、顏色。text_clip = editor.TextClip('hanser, little angel', fontsize=40, color='blue')# 讓文本在屏幕的正中間顯示,持續10秒,設置透明度為0.8'''屏幕左上角為(0, 0),右下角為(屏幕寬度, 屏幕高度)set_position((800, 500)): 顯示在800, 500的位置上set_position(('center', 'center')): 顯示在屏幕的正中央set_position((0.4, 0.6), True): 顯示在距離左邊百分之40、距離上邊百分之60的位置上set_duration(10): 持續10秒set_opacity(0.6): 設置透明度為0.6'''text_clip = text_clip.set_position(('center', 'center')).set_duration(10).set_opacity(0.8)# 然后把文本剪貼板貼在視頻上video_clip = editor.CompositeVideoClip([video_clip, text_clip])# 然后導出視頻,可以是其它的視頻格式video_clip.write_videofile('1.mp4')# 下面很重要:r'''如果你是在Windows上執行,不出意外的話,當你在執行 editor.TextClip() 的時候,會報出如下錯誤:OSError: MoviePy Error: creation of None failed because of the following error:[WinError 2] 系統找不到指定的文件。..This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn’t specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect這個錯誤是由于你的電腦上缺少ImageMagick造成的,我們需要去http://www.imagemagick.org/script/download.php這個網站上下載對應操作系統的ImageMagick,我這里是Windows。可能下載的比較慢,畢竟是外網。如果覺得速度無法忍受的話,我提供了相應了網盤鏈接: 鏈接:https://pan.baidu.com/s/1n1xNohD7V-abQbX81UENJQ 提取碼:usl3,可以進行保存下載下載完畢之后,直接安裝在指定的目錄。然后修改site-packagesmoviepyconfig_defaults.py, 在文件的尾部有如下內容:import osFFMPEG_BINARY = os.getenv(’FFMPEG_BINARY’, ’ffmpeg-imageio’)IMAGEMAGICK_BINARY = os.getenv(’IMAGEMAGICK_BINARY’, ’auto-detect’)我們把 `IMAGEMAGICK_BINARY = ` 后面的內容,換成你剛才ImageMagick的安裝路徑下magick.exe的絕對路徑:import osFFMPEG_BINARY = os.getenv(’FFMPEG_BINARY’, ’ffmpeg-imageio’)IMAGEMAGICK_BINARY = r’E:ImageMagick-7.0.10-Q16magick.exe’'''# 然后執行就沒有問題了

python用moviepy對視頻進行簡單的處理

我們看到此時文字就添加進去了,并且該視頻只有15秒,也就是我們截取的部分。

那么moviepy是如何工作的呢?

moviepy使用ffmpeg對視頻、音頻文件進行讀取和導出,使用ImageMagick生成文字等等。

首先我們使用VideoFileClip對視頻進行讀取,得到VideoFileClip對象,我們記作clip。我們可以對這個clip進行任意的操作(剪切、合并、調整亮度、速度、和其它的clip拼接在一起等等)。并且我們需要注意的是,這些操作是可以鏈式調用的,因為每一次操作都會得到一個新的clip,不會影響原來的。我們上面演示了視頻的讀取、以及指定部分的截取、音量的調整、以及添加文字等等,我們后面還會介紹更多操作。

并且我們最后調用clip的write_videofile方法,可以將處理之后的視頻寫入本地。當然我們還可以使用pygame,或者jupyter notebook進行展示。為了方便,我們后面就使用jupyter notebook。

視頻屬性

我們說一個視頻,肯定有大小、寬高、fps、時長等等屬性,下面我們就來看看如何獲取這些屬性。

from moviepy import editor# 調用 `VideoFileClip(文件名)` 即可將視頻加載進來# 可以讀取各種格式的視頻文件video_clip = editor.VideoFileClip(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv')# 獲取寬度和高度print(video_clip.size) # [800, 600]print(video_clip.w, video_clip.h) # 800 600# 獲取fpsprint(video_clip.fps) # 23.976023976023978# 獲取時長,單位是秒print(video_clip.duration) # 155.12# 獲取大小,可以直接使用os模塊import os# 大概16兆print(os.stat(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv').st_size) # 16852110print(os.stat(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv').st_size / 1024 ** 2) # 16.07142448425293視頻合成

視頻合成有兩種方式:

1.多個視頻按照先后順序拼接起來。比如一個一分鐘和一個兩分鐘的視頻組合起來,變成三分鐘。

from moviepy import editorvideo_clip = editor.VideoFileClip(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv')# 截取10到20秒video_clip1 = video_clip.subclip(10, 20)# 截取1分45秒到結尾的前兩秒video_clip2 = video_clip.subclip((1, 45), -2)# 然后前后拼接起來clip = editor.concatenate_videoclips([video_clip1, video_clip2])# 使用jupyter進行展示,設置一個寬度clip.ipython_display(width=360)

python用moviepy對視頻進行簡單的處理

此時視頻就展示在jupyter上了,而且是兩個視頻拼接在一起的。并且在concatenate_videoclips中還可以指定一個transition參數(也是一個VideoFileClip對象),作為銜接之間的過渡。

還是比較簡單的,假設我們有5個視頻,如果只是簡單的前后拼接就可以這么做。

from moviepy import editorvideos = ['1.mp4', '2.mp4', '3.flv', '4.mp4', '5.flv']clips = []for video in videos: clips.append(editor.VideoFileClip(video))editor.concatenate_videoclips(clips).write_videofile('xxx.mp4')

這里值得一提的是,多個clip進行拼接,并不需要這些clip之間有相同的尺寸、時長什么的,僅僅是將它們按照順序拼接起來而已。

另外,當你用jupyter進行展示時,視頻不要過長,否則報錯。當然你也可以給ipython_display函數傳遞一個maxduration參數,讓它支持顯示更大時長的視頻文件。但是注意:如果文件過大,在jupyter上可能會耗光你的內存。

2.多個視頻在同一個畫面上顯示

from moviepy import editor# margin: 設置外邊距video_clip = editor.VideoFileClip(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv').margin(10)video_clip1 = video_clip.subclip(10, 20)# editor.vfx.mirror_x: x軸鏡像video_clip2 = video_clip1.fx(editor.vfx.mirror_x)# editor.vfx.mirror_y: y軸鏡像video_clip3 = video_clip1.fx(editor.vfx.mirror_y)# resize: 等比縮放video_clip4 = video_clip1.resize(0.8)# 列表里面有兩個列表,所以會將屏幕上下等分# 上半部分顯示video_clip1, video_clip2,下半部分顯示video_clip3, video_clip4clip = editor.clips_array([[video_clip1, video_clip2], [video_clip3, video_clip4]])clip.ipython_display(width=600)

python用moviepy對視頻進行簡單的處理

所以我們看到concatenate_videoclips是將多個視頻前后拼接,而clips_array是將多個視頻同時顯示在一個畫面里面。

修改視頻屬性

from moviepy import editorclip = editor.VideoFileClip(r'C:UserssatoriDesktop警察蜀黍!!!就是這個人!!!! 翻唱.flv').subclip(10, 20)clip = (clip.fx(editor.vfx.resize, width=460) # 調整尺寸,保持比例 .fx(editor.vfx.speedx, 2) # 調整倍數 .fx(editor.vfx.colorx, 0.5) # 畫面調暗 )視頻音頻合成

假設我們有一個視頻A和一個視頻B,我要將視頻B的音頻和視頻A組合起來,怎么做呢?

from moviepy import editorclipA = editor.VideoFileClip(r'A.mp4')clipB = editor.VideoFileClip(r'B.mp4')# 獲取B的音頻audioB = clipB.audio# 將B的音頻和A組合起來clipA = clipA.set_audio(audioB)# 然后保存即可# 或者我們也可以直接加載一個音頻audio = editor.AudioFileClip('b.mp3')

以上就是python用moviepy對視頻進行簡單的處理的詳細內容,更多關于python moviepy對視頻處理的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
狂野欧美性猛交xxxx| 国产黄大片在线观看| 亚洲精品99| 亚洲国产专区校园欧美| 国产精品永久| 国产欧美日本| 国产精品sss在线观看av| 国产亚洲字幕| 免费亚洲一区| 黑人精品一区| 久久九九精品| 午夜欧美精品| 中文一区一区三区免费在线观 | 国产精品第一| 麻豆91精品视频| 国产日韩欧美三区| 国产在线日韩| 免费不卡在线视频| 亚洲精品欧美| 久久国产精品美女| 日韩国产一区二区三区| 久久人人99| 免费国产自线拍一欧美视频| 亚洲人成网站在线在线观看| 欧美亚洲tv| 精品视频一区二区三区四区五区| 日韩久久电影| 免播放器亚洲| 国产亚洲欧美日韩在线观看一区二区 | 久久国产精品成人免费观看的软件| 久久美女性网| 亚洲一区激情| 国产麻豆一区二区三区精品视频| 欧美国产偷国产精品三区| 日本午夜精品一区二区三区电影| 欧美国产专区| 亚洲韩日在线| 视频一区日韩| 精品亚洲成人| 中文日韩欧美| 国产精品一站二站| а√天堂8资源中文在线| 女主播福利一区| 欧美日韩午夜电影网| 国产精品videosex极品| 999久久久国产精品| 亚洲最新av| 成人精品高清在线视频| 日韩国产欧美| 亚洲精品伊人| 日韩亚洲一区在线| 免费在线观看视频一区| 牛牛精品成人免费视频| 国产专区一区| 欧美日韩亚洲一区| 久久国产影院| 日韩精品亚洲专区| 91综合网人人| 丝袜美腿成人在线| 国产suv精品一区| 国产一区二区三区四区五区| 视频精品一区二区| 中文一区二区| 天堂俺去俺来也www久久婷婷| 国产精品久久777777毛茸茸| 91精品国产91久久久久久黑人| 视频一区二区欧美| 亚洲1234区| 国产剧情一区二区在线观看| 日韩视频在线一区二区三区 | 日韩精品福利一区二区三区| 精品国模一区二区三区| 热久久久久久| 国产精品外国| 免费看av不卡| 国产精品片aa在线观看| 香蕉久久精品| 免费在线欧美黄色| 蜜桃av一区二区在线观看| 中文字幕人成乱码在线观看| 日韩av二区在线播放| 日韩一级网站| 久久久9色精品国产一区二区三区| 国产精品最新自拍| 亚洲v天堂v手机在线| 亚洲大全视频| 美女一区网站| 国产+成+人+亚洲欧洲在线| 奇米亚洲欧美| 免费日韩av片| 亚洲二区免费| 麻豆高清免费国产一区| 日本vs亚洲vs韩国一区三区二区| 99视频精品全国免费| 美女福利一区二区三区| 精品美女在线视频| 国产免费av国片精品草莓男男| 手机精品视频在线观看| 成人va天堂| 国产亚洲电影| 亚洲精品在线a| 夜夜精品视频| 国产一区清纯| 中文字幕在线高清| 国产精品白浆| 日本麻豆一区二区三区视频| 久久国产精品99国产| 天堂俺去俺来也www久久婷婷| 欧洲av一区二区| 卡一精品卡二卡三网站乱码| 日韩高清三区| 日韩激情一二三区| 午夜久久av| 亚洲三区欧美一区国产二区| 蜜桃成人av| 激情婷婷久久| 欧美日韩在线观看视频小说| 香蕉视频亚洲一级| 日韩在线欧美| 日韩一区欧美| 中文另类视频| 国产一区二区三区四区大秀| 久久精品理论片| 欧美精品二区| 欧美极品一区二区三区| 久久一区精品| 成人午夜毛片| 免费在线小视频| 国产欧美自拍| 蜜桃久久久久| 精品日韩在线| 日韩在线第七页| 九一精品国产| 免费日韩一区二区| 日韩 欧美一区二区三区| 日本在线成人| 日韩精品视频在线看| 国产日韩欧美三级| 精品日韩在线| 久久九九精品| 国产亚洲精品v| 一区二区国产在线观看| 日本va欧美va瓶| 欧美激情99| 精品捆绑调教一区二区三区 | 国产粉嫩在线观看| 视频福利一区| 亚洲欧美日本日韩| 日韩在线成人| 国产精品mv在线观看| 国产精品1luya在线播放| 国产精品99一区二区三区| 欧美成人基地 | 三级一区在线视频先锋| 日本精品久久| 欧美国产专区| 91精品久久久久久久久久不卡| 日韩午夜黄色| 日韩高清一区在线| 久久99精品久久久久久园产越南| 热三久草你在线| 夜夜嗨一区二区| 69精品国产久热在线观看| 精品黄色一级片| 亚洲欧美日韩高清在线| 亚洲精品观看| 久久尤物视频| 国内精品福利| 日本久久一区| 亚洲一级少妇| 中文字幕日韩亚洲| 麻豆高清免费国产一区| 亚洲精品888| 国产精品日本一区二区不卡视频| 国产成人精品福利| 亚洲女同一区| 国产极品模特精品一二 | 成人在线免费观看网站| 亚洲天堂黄色| 日韩一区二区三区四区五区| 精品久久久亚洲| 国产视频一区三区| 精品中文字幕一区二区三区 | 亚洲主播在线| 欧美激情在线精品一区二区三区| 欧美成人高清| 国产精品chinese| 国产精品88久久久久久| 国产精品天天看天天狠| 欧美不卡视频| 麻豆精品在线观看| 日韩中文字幕不卡| 日韩不卡一区| 日韩一区二区三区四区五区| 日韩不卡视频在线观看| 91成人在线| av不卡在线看| 日韩黄色大片| 欧美一级网址| 亚洲精华国产欧美|