大家好,我是辰哥。
辰哥之前就想著Python可不可以剪輯視頻(提取視頻的音頻,視頻截取等等),然后辰哥在網(wǎng)上一搜,還真找到了Python的一個(gè)處理音頻的庫-MoivePy
MoivePy能干嘛呢,下面辰哥來給大家簡(jiǎn)單介紹一下。
提取音頻
視頻截取
視頻合并
視頻疊加
添加字幕
追蹤人臉,打馬賽克
炫酷的特效
陰影效果
.......
01提取音頻
平時(shí)我們?cè)谒⒍桃曨l或者看到一些視頻的時(shí)候(視頻里才有,網(wǎng)上搜不到這種剪輯的音頻時(shí)),希望能夠把視頻里面的音頻提取出來當(dāng)背景音樂或者想平時(shí)聽聽但是不想打開視頻時(shí)。
那么辰哥就用python教大家如何去提取一個(gè)視頻里面的音頻。
在開始之前,先把Moivepy庫安裝一下,通過下面的命令即可安裝
pip install moviepy
安裝好之后,接著咱們就開始對(duì)視頻進(jìn)行處理了。
from moviepy.editor import *
video = VideoFileClip('七次人口普查.mp4')
audio = video.audio
audio.write_audiofile('七次人口普查.mp3')
這里以視頻:七次人口普查.mp4為例,這個(gè)視頻是辰哥之前錄制的一個(gè)視頻
提取好的音頻保存為:七次人口普查.mp3
打開音頻,音質(zhì)和視頻中的音質(zhì)一模一樣(完美提取成功)
02截取視頻
此外還可以將視頻進(jìn)行截取。截圖的視頻不僅可以是保存成視頻,還可以將截取的視頻保存為gif格式
1.截取后保存為視頻
同樣還是以視頻:七次人口普查.mp4為例(視頻一共是38秒),咱們從截取其中的一段(第5s~第25s)20秒。
video = VideoFileClip('七次人口普查.mp4')
# 剪輯這個(gè)clip 的5s-25s,保存mp4
video2 = video.subclip(5, 25)
video2.write_videofile("七次人口普查5_25.mp4")
截取后的視頻保存為:七次人口普查5_25.mp4
運(yùn)行結(jié)束之后,視頻就已經(jīng)保存到本地(同時(shí)視頻中的音頻也對(duì)應(yīng)的保存過來)
最終效果:
打開之后,沒問題,成功截取。
2.截取后保存為gif
接著將截取的視頻保存成gif格式
video = VideoFileClip('七次人口普查.mp4')
# 剪輯這個(gè)clip 的5s-25s,保存mp4
video2 = video.subclip(5, 25)
video2.write_gif("七次人口普查5_25.gif",fps=16)
代碼中的fps是幀率,這里設(shè)置為16,fps越大,gif越清晰,同時(shí)gif也會(huì)越大。(這里設(shè)置了16,已經(jīng)較為清晰了)
截取后的視頻保存gif:七次人口普查5_25.gif
打開后如下:
03視頻合并
除了對(duì)視頻截取外,還可以將多個(gè)視頻進(jìn)行合并。
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:上面代碼只是演示合并兩個(gè)視頻,實(shí)際是可以合并多個(gè)的
原視頻:
最終合并視頻:
04視頻疊加
通常在電影中都可以看到視頻中分塊的部分不同的畫面。這用了視頻疊加的效果。接下來辰哥教大家如何用Python去實(shí)現(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為例,弄成四方塊的樣式進(jìn)行疊加。最候保存成:七次人口普查_疊加.mp4。
最終效果:
05小結(jié)
ok,辰哥就介紹以上這四種剪輯視頻的方法,此外還有很多方法。比如:
添加字幕
追蹤人臉,打馬賽克
炫酷的特效
陰影效果
............
這里辰哥就不一一演示了,感興趣的小伙伴可以去搜索moviepy的文檔教程進(jìn)行學(xué)習(xí)。
以上就是哇哦 Python竟然能剪輯視頻的詳細(xì)內(nèi)容,更多關(guān)于Python剪輯視頻的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- python用moviepy對(duì)視頻進(jìn)行簡(jiǎn)單的處理
- MoviePy常用剪輯類及Python視頻剪輯自動(dòng)化
- MoviePy簡(jiǎn)介及Python視頻剪輯自動(dòng)化
- Python視頻編輯庫MoviePy的使用
- Python使用pydub模塊轉(zhuǎn)換音頻格式以及對(duì)音頻進(jìn)行剪輯
- 用python進(jìn)行視頻剪輯
- python基于moviepy實(shí)現(xiàn)音視頻剪輯