久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python從視頻中提取音頻的操作

瀏覽:126日期:2022-06-23 16:28:41
簡介

OpenCV中使用VideoCapture類寫的視頻是沒有音頻的,如果要進一步處理音頻則需要用到一個庫——MoviePy,這個庫是Python視頻編輯庫,可裁剪、拼接、標題插入、視頻合成、視頻處理和自定義效果。

安裝

pip install moviepy代碼

from moviepy.editor import *video = VideoFileClip(’test.mp4’)audio = video.audioaudio.write_audiofile(’test.mp3’)

不安裝moviepy視頻編輯庫可以直接使用ffmpeg-python庫,見參考文獻4,代碼稍微復雜點

音頻格式

extensions_dict = { 'mp4': {’type’:’video’, ’codec’:[’libx264’,’libmpeg4’, ’aac’]}, ’ogv’: {’type’:’video’, ’codec’:[’libtheora’]}, ’webm’: {’type’:’video’, ’codec’:[’libvpx’]}, ’avi’: {’type’:’video’}, ’mov’: {’type’:’video’}, ’ogg’: {’type’:’audio’, ’codec’:[’libvorbis’]}, ’mp3’: {’type’:’audio’, ’codec’:[’libmp3lame’]}, ’wav’: {’type’:’audio’, ’codec’:[’pcm_s16le’, ’pcm_s24le’, ’pcm_s32le’]}, ’m4a’: {’type’:’audio’, ’codec’:[’libfdk_aac’]} }

可看到支持ogg、mp3、wav和m4a四種格式,個人測試m4a輸出失敗,建議只用mp3和wav

測試2分鐘的視頻導出mp3為1.83Mb,wav為20.1Mb

mp3是有損格式,wav是無損格式,按需選擇

備注

要實現更底層的音視頻處理應用ffmpeg

補充:python處理mp4視頻提取音頻轉為mp3或者wav,并進行截取

mp4視頻文件提取音頻轉為mp3或者wav文件

mp3是有損文件,wav是無損文件,就像我測試的視頻,mp3導出只有幾十k,wav文件導出有3M多。

from moviepy.editor import *video = VideoFileClip(’aa.mp4’)audio = video.audioaudio.write_audiofile(’test.wav’)audio.write_audiofile(’test.mp3’)

截取map或者wav文件

from scipy.io import wavfilelike = wavfile.read(’test.wav’)# print (like)# 音頻結果將返回一個tuple。第一維參數是采樣頻率,單位為秒;第二維數據是一個ndarray表示歌曲,如果第二維的ndarray只有一個數據表示單聲道,兩個數據表示立體聲。所以,通過控制第二維數據就能對歌曲進行裁剪。# 對like這個元組第二維數據進行裁剪,所以是like[1];第二維數據中是對音樂數據切分。 start_s表示你想裁剪音頻的起始時間;同理end_s表示你裁剪音頻的結束時間。乘44100 是因為每秒需要進行44100次采樣# 這里表示對該音頻的13-48秒進行截取wavfile.write(’test2.wav’,44100,like[1][13*44100:48*44100])

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 高碑店市| 临夏县| 宾川县| 宁陕县| 金乡县| 东乡| 新巴尔虎左旗| 深泽县| 凉城县| 阿城市| 湖口县| 军事| 洪雅县| 鄄城县| 高邑县| 监利县| 肃宁县| 青神县| 根河市| 错那县| 临沭县| 城固县| 蚌埠市| 纳雍县| 于都县| 岳普湖县| 淮南市| 九台市| 辰溪县| 哈密市| 孝义市| 延庆县| 积石山| 石阡县| 雅江县| 蓬溪县| 从化市| 靖江市| 枣强县| 邵武市| 镇赉县|