大家好,我是辰哥。
辰哥之前就想著Python可不可以剪輯視頻(提取視頻的音頻,視頻截取等等),然后辰哥在網(wǎng)上一搜,還真找到了Python的一個處理音頻的庫-MoivePy
MoivePy能干嘛呢,下面辰哥來給大家簡單介紹一下。
提取音頻
視頻截取
視頻合并
視頻疊加
添加字幕
追蹤人臉,打馬賽克
炫酷的特效
陰影效果
.......
平時我們在刷短視頻或者看到一些視頻的時候(視頻里才有,網(wǎng)上搜不到這種剪輯的音頻時),希望能夠把視頻里面的音頻提取出來當背景音樂或者想平時聽聽但是不想打開視頻時。
那么辰哥就用python教大家如何去提取一個視頻里面的音頻。
在開始之前,先把Moivepy庫安裝一下,通過下面的命令即可安裝
pip install moviepy
安裝好之后,接著咱們就開始對視頻進行處理了。
from moviepy.editor import * video = VideoFileClip('七次人口普查.mp4') audio = video.audio audio.write_audiofile('七次人口普查.mp3')
這里以視頻:七次人口普查.mp4為例,這個視頻是辰哥之前錄制的一個視頻
提取好的音頻保存為:七次人口普查.mp3
打開音頻,音質和視頻中的音質一模一樣(完美提取成功)
此外還可以將視頻進行截取。截圖的視頻不僅可以是保存成視頻,還可以將截取的視頻保存為gif格式
同樣還是以視頻:七次人口普查.mp4為例(視頻一共是38秒),咱們從截取其中的一段(第5s~第25s)20秒。
video = VideoFileClip('七次人口普查.mp4') # 剪輯這個clip 的5s-25s,保存mp4 video2 = video.subclip(5, 25) video2.write_videofile("七次人口普查5_25.mp4")
截取后的視頻保存為:七次人口普查5_25.mp4
運行結束之后,視頻就已經保存到本地(同時視頻中的音頻也對應的保存過來)
最終效果:
打開之后,沒問題,成功截取。
接著將截取的視頻保存成gif格式
video = VideoFileClip('七次人口普查.mp4') # 剪輯這個clip 的5s-25s,保存mp4 video2 = video.subclip(5, 25) video2.write_gif("七次人口普查5_25.gif",fps=16)
代碼中的fps是幀率,這里設置為16,fps越大,gif越清晰,同時gif也會越大。(這里設置了16,已經較為清晰了)
截取后的視頻保存gif:七次人口普查5_25.gif
打開后如下:
除了對視頻截取外,還可以將多個視頻進行合并。
video1 = VideoFileClip('七次人口普查.mp4') video2 = VideoFileClip("七次人口普查5_25.mp4") video3 = concatenate_videoclips([video1, video2]) video3.write_videofile("七次人口普查_合并.mp4")
視頻:七次人口普查.mp4原視頻(38秒),視頻:七次人口普查5_25.mp4上面案例截取的視頻(20秒),最后合并成:七次人口普查_合并.mp4。
ps:上面代碼只是演示合并兩個視頻,實際是可以合并多個的
原視頻:
最終合并視頻:
通常在電影中都可以看到視頻中分塊的部分不同的畫面。這用了視頻疊加的效果。接下來辰哥教大家如何用Python去實現(xiàn)。
video1 = VideoFileClip("七次人口普查.mp4").margin(10) video2 = video1.fx(vfx.mirror_x) # x軸鏡像 video3 = video1.fx(vfx.mirror_y) # y軸鏡像 video4 = video1.resize(0.8) # 尺寸等比縮放0.8 newvideo = clips_array([ [video1, video2], [video3, video4] ]) newvideo.resize(width=480).write_videofile("七次人口普查_疊加.mp4")
這里主要是以視頻:七次人口普查.mp4為例,弄成四方塊的樣式進行疊加。最候保存成:七次人口普查_疊加.mp4。
最終效果:
ok,辰哥就介紹以上這四種剪輯視頻的方法,此外還有很多方法。比如:
添加字幕
追蹤人臉,打馬賽克
炫酷的特效
陰影效果
............
這里辰哥就不一一演示了,感興趣的小伙伴可以去搜索moviepy的文檔教程進行學習。
以上就是哇哦 Python竟然能剪輯視頻的詳細內容,更多關于Python剪輯視頻的資料請關注腳本之家其它相關文章!