Python結(jié)合FFmpeg實(shí)現(xiàn)批量提取視頻音頻
在日常開發(fā)或音頻處理場(chǎng)景中,我們經(jīng)常需要從大量視頻文件中批量提取音頻,例如:
- 從課程視頻中提取音頻
- 將短視頻轉(zhuǎn)為 MP3
- 做語(yǔ)音識(shí)別 / 音頻分析前處理
本文介紹一種 使用 Python 調(diào)用 FFmpeg 的通用方案,同時(shí)支持 Windows、macOS 和 Linux。

一、環(huán)境準(zhǔn)備
安裝 Python
確保已安裝 Python 3.7+
python --version
安裝 FFmpeg(關(guān)鍵)
FFmpeg 是跨平臺(tái)音視頻處理神器,本腳本依賴它。
Windows
1.下載 FFmpeg
2.解壓后,將 bin 目錄加入 系統(tǒng)環(huán)境變量 PATH
3.驗(yàn)證:
ffmpeg -version
macOS(推薦 Homebrew)
brew install ffmpeg
驗(yàn)證:
ffmpeg -version
Linux(Ubuntu / Debian)
sudo apt update sudo apt install ffmpeg
CentOS / Rocky:
sudo yum install ffmpeg
二、項(xiàng)目目錄結(jié)構(gòu)
project/
├── v/ # 存放視頻文件
│ ├── a.mp4
│ ├── b.mkv
│ └── c.mov
├── mp3/ # 輸出 MP3 音頻
└── extract_audio.py
支持格式:mp4 / mov / avi / mkv(可自行擴(kuò)展)
三、完整 Python 腳本
import os
import subprocess
def extract_audio(video_file, output_dir):
# 構(gòu)建輸出文件路徑
output_file = os.path.join(
output_dir,
os.path.splitext(os.path.basename(video_file))[0] + '.mp3'
)
# ffmpeg 命令
command = [
'ffmpeg',
'-i', video_file,
'-vn', # 不處理視頻流
'-acodec', 'libmp3lame', # MP3 編碼器
'-ab', '192k', # 音頻碼率
output_file
]
try:
subprocess.run(command, check=True)
print(f"? 音頻已提取:{output_file}")
except subprocess.CalledProcessError:
print(f"? 處理失?。簕video_file}")
def process_videos(input_dir, output_dir):
os.makedirs(output_dir, exist_ok=True)
for file_name in os.listdir(input_dir):
if file_name.lower().endswith(('.mp4', '.mov', '.avi', '.mkv')):
video_path = os.path.join(input_dir, file_name)
extract_audio(video_path, output_dir)
if __name__ == "__main__":
input_dir = './v'
output_dir = './mp3'
process_videos(input_dir, output_dir)
四、運(yùn)行方式(全平臺(tái)通用)
在項(xiàng)目根目錄執(zhí)行:
python extract_audio.py
運(yùn)行后效果:
mp3/
├── a.mp3
├── b.mp3
└── c.mp3
到此這篇關(guān)于Python結(jié)合FFmpeg實(shí)現(xiàn)批量提取視頻音頻的文章就介紹到這了,更多相關(guān)Python提取視頻音頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?識(shí)別錄音并轉(zhuǎn)為文字的實(shí)現(xiàn)
本文主要介紹了Python?識(shí)別錄音并轉(zhuǎn)為文字的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
基于python實(shí)現(xiàn)自動(dòng)化文件移動(dòng)工具
在現(xiàn)代辦公和數(shù)據(jù)處理環(huán)境中,文件的頻繁遷移和整理是一項(xiàng)常見且耗時(shí)的任務(wù),本文將詳細(xì)介紹一個(gè)基于Python的自動(dòng)化文件遷移工具,可以實(shí)時(shí)監(jiān)控指定文件夾,需要的可以了解下2025-07-07
Python使用PyNmap進(jìn)行網(wǎng)絡(luò)掃描的詳細(xì)步驟
使用 PyNmap 進(jìn)行網(wǎng)絡(luò)掃描是一個(gè)非常有效的方式,PyNmap 是 Nmap 工具的一個(gè) Python 封裝,它允許你在 Python 腳本中使用 Nmap 的強(qiáng)大功能,本文介紹了如何使用 PyNmap 進(jìn)行網(wǎng)絡(luò)掃描的詳細(xì)步驟,需要的朋友可以參考下2024-08-08

