如何用python批量調(diào)整視頻聲音
今天來(lái)研究python中moviepy模塊的用途
近來(lái)有大量處理視頻的需求,
常會(huì)碰到一個(gè)問(wèn)題是下載的視頻音量過(guò)小,
會(huì)需要將它調(diào)大聲,
雖然有在線工具VideoLouder可以免費(fèi)調(diào)整視頻音量大小,
但畢竟若量很大的話一個(gè)一個(gè)上傳視頻也是挺麻煩的事情,
因此決定再用程序幫忙解決。
使用教學(xué)基礎(chǔ)程序
調(diào)整一個(gè)視頻音量的代碼如下:
from moviepy.editor import VideoFileClip,concatenate_videoclipsclip = VideoFileClip(“1.mp4”)#獲取視頻1.mp4(視頻需與程序置于同一文件夾)newclip = clip.volumex(5)#將音量調(diào)整為5倍newclip.write_videofile(“out.mp4”)#輸出影片名為out.mp4
但實(shí)測(cè)會(huì)出現(xiàn)錯(cuò)誤AttributeError: ’NoneType’ object has no attribute ’stdout’,
經(jīng)研究后,似乎是moviepy版本的問(wèn)題,
最新的版本為1.0.1,
可以于anaconda prompt中下指令pip list查看自己所有已安裝的模塊版本。
實(shí)測(cè)要安裝moviepy版本1.0.0才可正常使用,
在anaconda prompt使用pip install moviepy==1.0.0指令即可運(yùn)作上述代碼。
批量修改視頻音量想要一次修改多個(gè)視頻的音量,
小馬的代碼如下,
首先我將所有欲修改的視頻放入當(dāng)前程序路徑下的music文件夾中,
這邊關(guān)鍵會(huì)用到python內(nèi)置模塊os,
os.getcwd()是取得當(dāng)前程序的工作路徑 os.chdir()可以改變當(dāng)前程序的工作路徑 os.listdir()可以取得指定路徑下的所有檔案名稱(chēng)import osfrom moviepy.editor import VideoFileClip, concatenate_videoclips def batch_volumex(path, x): # 函數(shù)功能:在指定路徑下,將該文件夾的視頻聲音調(diào)為x倍 origin_path = os.getcwd() os.chdir(path) for fname in os.listdir(): clip = VideoFileClip(fname) newclip = clip.volumex(x) newclip.write_videofile('new_'+fname) os.chdir(origin_path)path = ’./music’batch_volumex(path, 5)
這支程序可以將music文件夾下的所有影片的音量調(diào)為5倍,
并將影片名稱(chēng)前加“new_”字串輸出
(注:若原視頻聲音很小,實(shí)測(cè)音量大概要調(diào)3~5倍才會(huì)有感)
以上就是如何用python批量調(diào)整視頻聲音的詳細(xì)內(nèi)容,更多關(guān)于python批量調(diào)整視頻聲音的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程2. .Net core 的熱插拔機(jī)制的深入探索及卸載問(wèn)題求救指南3. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp4. SharePoint Server 2019新特性介紹5. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介6. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題7. ASP中常用的22個(gè)FSO文件操作函數(shù)整理8. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析10. ASP編碼必備的8條原則
