溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python使用ffmpy將amr格式的音頻轉化為mp3格式的例子

發布時間:2020-10-09 01:30:17 來源:腳本之家 閱讀:430 作者:hectorli36 欄目:開發技術

最近做了一個項目,將從微信下載的音頻文件(默認為.amr格式)轉化為mp3格式(否則前端播放將會遇到困難)上傳到云端。經過一番研究,最終決定采用Python的ffmpy包。

首先是ffmpy的文檔:http://ffmpy.readthedocs.io/en/latest/index.html

安裝只需執行

pip install ffmpy

注意,ffmpy只是命令行工具FFmpeg的一個包裝,若要成功執行任務,還需要安裝FFmpeg

在Ubuntu上:

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
 
sudo apt-get update
 
sudo apt-get install ffmpeg

查看是否安裝成功:

ffmpeg -versionx

下面是一個很簡單的例子,這里沒有對轉音頻的質量等具體參數進行設置,全部都是用的默認選項。建議由這類需求的朋友們參考一下FFmpeg的文檔。

@classmethod
def transformat_voice(cls, amr_voice_b):
  from_fn = 'from.amr'
  to_fn = 'target.mp3'
  mp3_file = BytesIO()
  with open(from_fn, 'wb') as f_from:
    f_from.write(amr_voice_b.getvalue())
  ff = ffmpy.FFmpeg(inputs={from_fn: None}, outputs={to_fn: None})
  ff.run()
  with open(to_fn, 'rb') as f_to:
    f_to.seek(0)
    mp3_file.write(f_to.read())
  os.remove(from_fn)
  os.remove(to_fn)
  mp3_file.seek(0)
  return mp3_file

這里有一點,由于ffmpy只是一個命令行的wrapper,所以無法對BytesIO進行操作,這里只能先把二進制文件寫到硬盤上進行操作,轉換完后再把文件刪除。最后的返回值會是一個BytesIO類型,方便作為后臺程序使用。

以上這篇Python使用ffmpy將amr格式的音頻轉化為mp3格式的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女