MP4 转 MP3
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3
MKV 转 MP3
ffmpeg -i input.mkv -q:a 0 -map a output.mp3
参数说明
-
-i input.mp4
或-i input.mkv
:指定输入文件。 -
-q:a 0
:设置音频质量,0
为最高质量(最低压缩)。 -
-map a
:只提取音频流。 -
output.mp3
:指定输出文件名和格式。
Python 脚本实现
如果你有多个文件要处理,可以编写一个 Python 脚本来批量转换:
import os
import subprocess
def convert_to_mp3(input_file, output_file):
ffmpeg_command = [
'ffmpeg',
'-i', input_file,
'-q:a', '0',
'-map', 'a',
output_file
]
subprocess.run(ffmpeg_command, check=True)
def process_directory(directory):
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
if os.path.isfile(file_path):
file_base, file_ext = os.path.splitext(filename)
if file_ext.lower() in ['.mp4', '.mkv']:
output_file = os.path.join(directory, file_base + '.mp3')
if os.path.exists(output_file):
print(f"Output file '{output_file}' already exists, skipping.")
else:
print(f"Converting '{file_path}' to '{output_file}'")
convert_to_mp3(file_path, output_file)
if __name__ == '__main__':
# 替换为你的目标目录路径
target_directory = '/path/to/your/target_directory'
process_directory(target_directory)
说明
convert_to_mp3:函数用来调用 FFmpeg 将视频文件转换为 MP3 文件。
-
process_directory:函数扫描指定目录中的所有文件,并对扩展名为
.mp4
和.mkv
的文件进行处理。- 如果 MP3 文件已存在,则跳过处理并打印提示信息。
- 如果 MP3 文件不存在,则调用
convert_to_mp3
函数进行转换。
使用方法
- 将
target_directory
替换为你实际的目标目录路径。 - 将脚本保存为
convert_videos_to_mp3.py
。 - 运行脚本:
python convert_videos_to_mp3.py
该脚本会扫描指定目录中的所有 MP4 和 MKV 文件,并将其转换为 MP3 文件(如果输出文件不存在)。已存在的 MP3 文件将被跳过,避免重复处理。