??今天忽然有需要從視頻中提取出音頻來,外事不決問百度,在度娘上找了找得出來的結果就是使用某某音頻轉換器,后者是AE、PR或者是會聲會影之類的操作,Ab全家桶買不起,只好想想還有沒其他路子,所以就有了本篇文章,在進行相關編程前需要將相關依賴庫給安裝好:
pip install ffmpeg moviepy
??完成這項操作所需要的依賴庫分別為:ffmpeg、moviepy,ffmpeg這個的話大家肯定很耳熟,在進行音視頻相關的編程以及操作時是必不可跳過的一個庫,在多媒體相關的開發中其更是當仁不讓的扛把子,此外,另一個使用到的庫moviepy,關看名稱就大概知道了這是用來干什么的一個module,其官方的介紹為:“MoviePy是一個用于視頻編輯的Python模塊,它可被用于一些基本操作(如剪切、拼接、插入標題)、視頻合成(即非線性編輯)、視頻處理和創建高級特效,它可對大多數常見視頻格式進行讀寫,包括GIF”,更多詳情請查閱MoviePy中文手冊,MoviePy使用ffmpeg軟體來讀取和匯出視頻和音頻檔案,也使用(可選)ImageMagick來生成文字和制作GIF檔案,不同媒體的處理依靠Python的快速的數學庫Numpy,高級效果和增強功能使用一些Python的圖片處理庫(PIL,Scikit-image,scipy等),其作業原理如下圖所示:

三步完成音頻提取:
- Step 1: Import MoviePy;
- Step 2: Define the Video Clip;
- Step 3: Extracting the Audio;
import moviepy.editor as mp
my_clip = mp.VideoFileClip(r"E:\Downloads\V626.flv")
my_clip.audio.write_audiofile(r"V626.mp3")
print("audio extra successfully!")

優勢與局限性
1)優勢:
- 易于上手:一行即可完成一項基本操作,對于新手來說,代碼易學易懂,
- 靈活:視頻和音頻的每一幀都盡在掌握,創作屬于自己的特效就像Python一樣簡單,
- 便攜:代碼使用十分常見的軟體(Numpy和FFMPEG),而且可以在幾乎所有版本的Python和幾乎所有的機器上運行,
2)局限性:
??MoviePy目前還無法對流媒體進行處理(從攝像頭或者遠程設備獲取視頻),并且MoviePy并不是被設計成用來對電影的連續幀進行處理(例如視頻去抖,你需要尋找另外的軟體),如果你同時處理大量視頻,音頻以及圖片序列(數量大于100)可能會出現記憶體問題,但是這個問題會在將來的版本當中進行修復,
參考文章:
- Extracting Audio from Video using Python;

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/388070.html
標籤:其他
上一篇:openstack期末復習
