欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > python 将 aac 转为 mp3,保持原有目录结构

python 将 aac 转为 mp3,保持原有目录结构

2025/6/29 17:01:23 来源:https://blog.csdn.net/nongcunqq/article/details/142457343  浏览:    关键词:python 将 aac 转为 mp3,保持原有目录结构

需要提前安装 FFmpeg


import os
import subprocess
import time
from concurrent.futures import ThreadPoolExecutor, as_completeddef convert_file(input_path, output_path):command = ['ffmpeg','-y',  # 自动覆盖现有文件'-i', input_path,'-acodec', 'libmp3lame','-b:a', '192k',output_path]try:subprocess.run(command, check=True, stderr=subprocess.PIPE, timeout=300)  # 5分钟超时return f"Converted: {output_path}"except subprocess.CalledProcessError as e:return f"Error converting {input_path}: {e.stderr.decode()}"except subprocess.TimeoutExpired:return f"Timeout converting {input_path}"def convert_aac_to_mp3(input_dir, output_dir):start_time = time.time()total_files = 0processed_files = 0converted_files = 0with ThreadPoolExecutor(max_workers=os.cpu_count()) as executor:futures = []for root, _, files in os.walk(input_dir):for filename in files:if filename.lower().endswith('.aac'):total_files += 1input_path = os.path.join(root, filename)rel_path = os.path.relpath(root, input_dir)output_filename = os.path.splitext(filename)[0] + '.mp3'output_path = os.path.join(output_dir, rel_path, output_filename)os.makedirs(os.path.dirname(output_path), exist_ok=True)futures.append(executor.submit(convert_file, input_path, output_path))for future in as_completed(futures):result = future.result()print(result)processed_files += 1if "Converted" in result:converted_files += 1print(f"Progress: {processed_files}/{total_files} files processed")end_time = time.time()print(f"\nConversion completed.")print(f"Total files: {total_files}")print(f"Converted files: {converted_files}")print(f"Failed conversions: {total_files - converted_files}")print(f"Total time: {end_time - start_time:.2f} seconds")

使用脚本

input_dir = input("请输入包含 AAC 文件的目录路径: ")
output_dir = input("请输入 MP3 文件的输出目录路径: ")
convert_aac_to_mp3(input_dir, output_dir)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词