最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年04月01日 08:39:17   作者:XerCis  
這篇文章主要介紹了Python從視頻中提取音頻的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

簡介

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

安裝

pip install moviepy

代碼

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

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

音頻格式

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分鐘的視頻導(dǎo)出mp3為1.83Mb,wav為20.1Mb

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

備注

要實現(xiàn)更底層的音視頻處理應(yīng)用ffmpeg

補充:python處理mp4視頻提取音頻轉(zhuǎn)為mp3或者wav,并進(jìn)行截取

mp4視頻文件提取音頻轉(zhuǎn)為mp3或者wav文件

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

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

截取map或者wav文件

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • SpringBoot實現(xiàn)登錄注冊常見問題解決方案

    SpringBoot實現(xiàn)登錄注冊常見問題解決方案

    這篇文章主要介紹了SpringBoot實現(xiàn)登錄注冊常見問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python交換變量

    Python交換變量

    Python美味第一頓,來個方便快捷的變量交換!為什么是Python?!因為Python中交換變量不需要臨時變量!
    2008-09-09
  • 最大K個數(shù)問題的Python版解法總結(jié)

    最大K個數(shù)問題的Python版解法總結(jié)

    這篇文章主要介紹了最大K個數(shù)問題的Python版解法總結(jié),以最大K個數(shù)問題為基礎(chǔ)的算法題目在面試和各大考試及競賽中經(jīng)常出現(xiàn),需要的朋友可以參考下
    2016-06-06
  • python編寫扎金花小程序的實例代碼

    python編寫扎金花小程序的實例代碼

    這篇文章主要介紹了python編寫扎金花小程序的實例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python腳本第一行如何寫

    python腳本第一行如何寫

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python腳本第一行如何寫相關(guān)文章,有需要的朋友們可以參考下。
    2020-08-08
  • python 實現(xiàn)GUI(圖形用戶界面)編程詳解

    python 實現(xiàn)GUI(圖形用戶界面)編程詳解

    今天小編就為大家分享一篇python 實現(xiàn)GUI(圖形用戶界面)編程詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 詳解Python中enumerate函數(shù)的使用

    詳解Python中enumerate函數(shù)的使用

    Python?的?enumerate()?函數(shù)就像是一個神秘的黑箱,它具有非常有用的高級用法。本文就來為大家詳細(xì)講一下它的使用,需要的可以參考一下
    2022-08-08
  • Python獲取PDF文檔的各種頁面信息

    Python獲取PDF文檔的各種頁面信息

    了解PDF頁面信息對于有效處理、編輯和管理PDF文件至關(guān)重要,PDF文件通常包含多個頁面,每個頁面可能有不同的尺寸、方向、旋轉(zhuǎn)角度以及其他屬性,這篇文章將介紹如何使用Python獲取PDF文檔的各種頁面信息,需要的朋友可以參考下
    2025-02-02
  • Python 控制終端輸出文字的實例

    Python 控制終端輸出文字的實例

    今天小編就為大家分享一篇Python 控制終端輸出文字的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python集成開發(fā)環(huán)境pycharm配置git的實現(xiàn)步驟

    Python集成開發(fā)環(huán)境pycharm配置git的實現(xiàn)步驟

    本文主要介紹了Python集成開發(fā)環(huán)境pycharm配置git的實現(xiàn)步驟,文中通過圖文的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評論

南开区| 靖远县| 清徐县| 湘潭市| 惠来县| 通辽市| 连南| 溧阳市| 弋阳县| 永嘉县| 四子王旗| 射阳县| 绥中县| 冀州市| 仁怀市| 华容县| 和龙市| 澄城县| 榆中县| 白玉县| 奉化市| 都匀市| 乐平市| 榆林市| 庐江县| 昂仁县| 涟源市| 新竹县| 福泉市| 陵川县| 封开县| 北安市| 剑阁县| 大名县| 获嘉县| 普兰县| 长子县| 安庆市| 南阳市| 罗江县| 秦安县|