婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python用moviepy對視頻進行簡單的處理

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

熱門標簽:crm電銷機器人 北京外呼電銷機器人招商 賓館能在百度地圖標注嗎 汕頭電商外呼系統(tǒng)供應商 鄭州智能外呼系統(tǒng)中心 云南地圖標注 400電話 申請 條件 電銷機器人 金倫通信 南京crm外呼系統(tǒng)排名

楔子

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

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

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

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

moviepy的簡單使用

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

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

一個小栗子

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

from moviepy import editor

# 調(diào)用 `VideoFileClip(文件名)` 即可將視頻加載進來
# 可以讀取各種格式的視頻文件
video_clip = editor.VideoFileClip(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.flv")

# 調(diào)用subclip方法,傳入起始時間和結(jié)束時間,即可截取視頻中的指定部分
"""
video_clip.subclip(): 截取視頻全部,相當于沒做處理
video_clip.subclip(10): 從視頻的 `第10秒` 截取到 `結(jié)尾`
video_clip.subclip(10, -2): 從視頻的 `第10秒` 截取到結(jié)尾的 `前兩秒`
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)

# 調(diào)整音量,變?yōu)樵瓉淼?.5
video_clip = video_clip.volumex(0.5)

# 做一個文本剪貼板,自定義樣式、顏色。
text_clip = editor.TextClip("hanser, little angel", fontsize=40, color="blue")
# 讓文本在屏幕的正中間顯示,持續(xù)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): 持續(xù)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上執(zhí)行,不出意外的話,當你在執(zhí)行 editor.TextClip() 的時候,會報出如下錯誤:

OSError: MoviePy Error: creation of None failed because of the following error:

[WinError 2] 系統(tǒng)找不到指定的文件。.

.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
這個網(wǎng)站上下載對應操作系統(tǒng)的ImageMagick,我這里是Windows。可能下載的比較慢,畢竟是外網(wǎng)。
如果覺得速度無法忍受的話,我提供了相應了網(wǎng)盤鏈接: 鏈接:https://pan.baidu.com/s/1n1xNohD7V-abQbX81UENJQ 提取碼:usl3,可以進行保存下載

下載完畢之后,直接安裝在指定的目錄。
然后修改site-packages\moviepy\config_defaults.py, 在文件的尾部有如下內(nèi)容:
import os

FFMPEG_BINARY = os.getenv('FFMPEG_BINARY', 'ffmpeg-imageio')
IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')

我們把 `IMAGEMAGICK_BINARY = ` 后面的內(nèi)容,換成你剛才ImageMagick的安裝路徑下magick.exe的絕對路徑:
import os

FFMPEG_BINARY = os.getenv('FFMPEG_BINARY', 'ffmpeg-imageio')
IMAGEMAGICK_BINARY = r'E:\ImageMagick-7.0.10-Q16\magick.exe'
"""
# 然后執(zhí)行就沒有問題了

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

那么moviepy是如何工作的呢?

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

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

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

視頻屬性

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

from moviepy import editor

# 調(diào)用 `VideoFileClip(文件名)` 即可將視頻加載進來
# 可以讀取各種格式的視頻文件
video_clip = editor.VideoFileClip(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.flv")
# 獲取寬度和高度
print(video_clip.size) # [800, 600]
print(video_clip.w, video_clip.h) # 800 600

# 獲取fps
print(video_clip.fps) # 23.976023976023978

# 獲取時長,單位是秒
print(video_clip.duration) # 155.12

# 獲取大小,可以直接使用os模塊
import os
# 大概16兆
print(os.stat(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.flv").st_size) # 16852110
print(os.stat(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.flv").st_size / 1024 ** 2) # 16.07142448425293

視頻合成

視頻合成有兩種方式:

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

from moviepy import editor
video_clip = editor.VideoFileClip(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.flv")

# 截取10到20秒
video_clip1 = video_clip.subclip(10, 20)
# 截取1分45秒到結(jié)尾的前兩秒
video_clip2 = video_clip.subclip((1, 45), -2)
# 然后前后拼接起來
clip = editor.concatenate_videoclips([video_clip1, video_clip2])
# 使用jupyter進行展示,設置一個寬度
clip.ipython_display(width=360)

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

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

from moviepy import editor


videos = ["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函數(shù)傳遞一個maxduration參數(shù),讓它支持顯示更大時長的視頻文件。但是注意:如果文件過大,在jupyter上可能會耗光你的內(nèi)存。

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

from moviepy import editor
# margin: 設置外邊距
video_clip = editor.VideoFileClip(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.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_clip4
clip = editor.clips_array([[video_clip1, video_clip2], [video_clip3, video_clip4]])
clip.ipython_display(width=600)

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

修改視頻屬性

from moviepy import editor


clip = editor.VideoFileClip(r"C:\Users\satori\Desktop\警察蜀黍!!!就是這個人!!!! 翻唱.flv").subclip(10, 20)

clip = (clip.fx(editor.vfx.resize, width=460) # 調(diào)整尺寸,保持比例
  .fx(editor.vfx.speedx, 2) # 調(diào)整倍數(shù)
  .fx(editor.vfx.colorx, 0.5) # 畫面調(diào)暗
  )

視頻音頻合成

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

from moviepy import editor


clipA = 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對視頻進行簡單的處理的詳細內(nèi)容,更多關于python moviepy對視頻處理的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MoviePy常用剪輯類及Python視頻剪輯自動化
  • MoviePy簡介及Python視頻剪輯自動化
  • Python視頻編輯庫MoviePy的使用
  • Python使用pydub模塊轉(zhuǎn)換音頻格式以及對音頻進行剪輯
  • Python竟然能剪輯視頻
  • 用python進行視頻剪輯
  • python基于moviepy實現(xiàn)音視頻剪輯

標簽:錫林郭勒盟 昆明 石家莊 文山 懷化 梅州 西寧 浙江

巨人網(wǎng)絡通訊聲明:本文標題《python用moviepy對視頻進行簡單的處理》,本文關鍵詞  python,用,moviepy,對,視頻,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python用moviepy對視頻進行簡單的處理》相關的同類信息!
  • 本頁收集關于python用moviepy對視頻進行簡單的處理的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    懂色av一区二区夜夜嗨| 免费看日韩a级影片| 久久久亚洲精品石原莉奈| 亚洲欧美在线aaa| 日本不卡视频在线观看| 丝袜亚洲另类欧美综合| 久久99精品久久久久| 日韩精品一级中文字幕精品视频免费观看| 91片黄在线观看| 亚洲欧洲中文日韩久久av乱码| 99久久久国产精品| 亚洲一卡二卡三卡四卡| 4438x亚洲最大成人网| 狠狠色狠狠色综合日日91app| 久久精品视频一区二区三区| 成人av先锋影音| 亚洲午夜免费电影| 99久久777色| 国产精品护士白丝一区av| 国产精品996| 亚洲一区二区精品3399| 久久精品夜色噜噜亚洲a∨| 91啪在线观看| 激情六月婷婷综合| 亚洲国产综合人成综合网站| 精品国产乱码久久久久久夜甘婷婷| 丰满白嫩尤物一区二区| 天堂一区二区在线免费观看| 国产欧美精品一区二区色综合朱莉| 色偷偷成人一区二区三区91| 久久国产精品无码网站| 国产精品不卡在线| 4438x成人网最大色成网站| 国产99精品国产| 奇米精品一区二区三区在线观看 | 久久午夜老司机| 欧美性猛交xxxx乱大交退制版| 国模套图日韩精品一区二区| 亚洲电影在线免费观看| 国产日本欧美一区二区| 欧美一级二级三级蜜桃| 欧美天堂亚洲电影院在线播放| av电影在线观看一区| 另类成人小视频在线| 亚洲国产成人av网| 一区二区三区在线视频免费| 亚洲国产精品激情在线观看| 精品国产3级a| 欧美一区二区视频在线观看2020| 色88888久久久久久影院野外| 成人一级黄色片| 国产精一品亚洲二区在线视频| 美女视频一区在线观看| 婷婷综合在线观看| 亚洲午夜一二三区视频| 亚洲亚洲精品在线观看| 一区二区三区免费在线观看| 亚洲激情网站免费观看| 一区二区欧美在线观看| 亚洲伊人伊色伊影伊综合网| 亚洲一区二区四区蜜桃| 亚洲成av人片一区二区梦乃| 五月天一区二区| 日本系列欧美系列| 久久99最新地址| 国产乱理伦片在线观看夜一区 | 麻豆精品一区二区三区| 开心九九激情九九欧美日韩精美视频电影 | 国产精品综合视频| 九九热在线视频观看这里只有精品| 奇米一区二区三区| 久久精品99久久久| 福利一区二区在线观看| 国产+成+人+亚洲欧洲自线| 国产一二三精品| 成人午夜电影网站| 色视频成人在线观看免| 欧美日韩国产中文| 日韩女优电影在线观看| 中文乱码免费一区二区| 依依成人精品视频| 久久99精品网久久| 成人成人成人在线视频| 欧美偷拍一区二区| 久久影院午夜论| 国产精品久久久久毛片软件| 亚洲二区在线视频| 国产一区二区三区美女| av成人免费在线| 91精品国产91久久久久久一区二区| 欧美成人精品高清在线播放| 国产精品久久毛片| 日本在线不卡视频一二三区| 成人久久18免费网站麻豆| 欧美日韩国产首页| 国产精品欧美经典| 婷婷六月综合亚洲| eeuss鲁片一区二区三区在线观看| 欧美丝袜丝交足nylons图片| 26uuu精品一区二区在线观看| 亚洲欧美视频在线观看| 国产麻豆欧美日韩一区| 欧美在线观看视频一区二区三区| 欧美一卡二卡在线观看| 国产精品大尺度| 久久国产麻豆精品| 欧美制服丝袜第一页| 久久久五月婷婷| 日韩—二三区免费观看av| 国产乱码精品一区二区三区av | 国产亚洲成av人在线观看导航| 亚洲第一久久影院| 成人av资源下载| 久久久综合视频| 久久精品国产在热久久| 国产激情91久久精品导航 | 国产成人鲁色资源国产91色综| 欧美色区777第一页| 国产精品不卡一区| 国产成人免费视| 久久品道一品道久久精品| 日本欧美肥老太交大片| 欧美福利一区二区| 亚洲国产日韩在线一区模特| 五月天国产精品| 欧美最新大片在线看| 亚洲欧洲中文日韩久久av乱码| 久久久美女毛片| 亚洲国产日韩a在线播放性色| 国产麻豆午夜三级精品| 欧美精品一区视频| 精品中文av资源站在线观看| 正在播放亚洲一区| 五月婷婷综合网| 韩国精品久久久| 99久久综合国产精品| 精品福利视频一区二区三区| 伦理电影国产精品| 欧美日韩国产高清一区二区三区 | 午夜国产精品一区| 欧美在线一区二区| 夜夜嗨av一区二区三区网页 | 亚洲v中文字幕| 欧美色窝79yyyycom| 午夜视频一区二区三区| 欧美一级片在线| 麻豆国产一区二区| 欧美精品一区二区久久久| 国产米奇在线777精品观看| 国产精品久久午夜夜伦鲁鲁| 91视视频在线直接观看在线看网页在线看| 亚洲色图视频免费播放| 欧美日韩dvd在线观看| 日韩avvvv在线播放| 26uuu亚洲综合色| 91视频观看视频| 蜜桃精品视频在线| 欧美韩国日本不卡| 欧洲亚洲精品在线| 国产在线看一区| 亚洲男人天堂一区| 欧美tickling网站挠脚心| 成人v精品蜜桃久久一区| 日韩精品每日更新| 国产精品理论片在线观看| 欧美猛男男办公室激情| 国产毛片精品一区| 一区二区三区欧美日| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 91国偷自产一区二区使用方法| 午夜不卡av免费| 国产亚洲欧洲997久久综合 | 欧美日韩高清一区二区三区| 人妖欧美一区二区| 日韩一区在线免费观看| 欧美一区二区三区四区高清| 国产91精品一区二区麻豆网站| 亚洲香肠在线观看| 国产精品久久福利| 精品播放一区二区| 欧美顶级少妇做爰| 91污在线观看| 丰满少妇在线播放bd日韩电影| 日韩电影在线观看电影| 一区二区三区在线观看视频| 欧美va在线播放| 8x8x8国产精品| 欧美日韩国产免费一区二区| 91国内精品野花午夜精品| 成人免费观看男女羞羞视频| 国产一区久久久| 精品中文av资源站在线观看| 人人精品人人爱| 秋霞电影网一区二区| 婷婷久久综合九色综合伊人色| 亚洲卡通欧美制服中文| 欧美国产激情二区三区| 久久毛片高清国产| 精品嫩草影院久久| 精品国产123|