欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何將aac轉(zhuǎn)為mp3,保持原有目錄結(jié)構(gòu)

 更新時(shí)間:2024年11月07日 09:29:42   作者:nongcunqq  
使用Python腳本實(shí)現(xiàn)AAC格式轉(zhuǎn)MP3格式的方法介紹,需要用戶輸入AAC文件所在目錄路徑和MP3輸出目錄路徑,通過調(diào)用FFmpeg工具實(shí)現(xiàn)格式轉(zhuǎn)換,該腳本簡單易懂,適合需要批量處理音頻文件的用戶,使用前需確保已安裝FFmpeg環(huán)境

將aac轉(zhuǎn)為mp3,保持原有目錄結(jié)構(gòu)

需要提前安裝FFmpeg

import os
import subprocess
import time
from concurrent.futures import ThreadPoolExecutor, as_completed

def convert_file(input_path, output_path):
    command = [
        'ffmpeg',
        '-y',  # 自動(dòng)覆蓋現(xiàn)有文件
        '-i', input_path,
        '-acodec', 'libmp3lame',
        '-b:a', '192k',
        output_path
    ]
    try:
        subprocess.run(command, check=True, stderr=subprocess.PIPE, timeout=300)  # 5分鐘超時(shí)
        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 = 0
    processed_files = 0
    converted_files = 0

    with 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 += 1
                    input_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 += 1
            if "Converted" in result:
                converted_files += 1
            print(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)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文帶你探尋Python中的裝飾器

    一文帶你探尋Python中的裝飾器

    這篇文章就來和大家詳細(xì)講一講Python中裝飾器的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們深入了解Python有一定的幫助,感興趣的可以了解一下
    2023-04-04
  • 用Python做個(gè)個(gè)性的動(dòng)畫掛件讓桌面不單調(diào)

    用Python做個(gè)個(gè)性的動(dòng)畫掛件讓桌面不單調(diào)

    這篇文章主要介紹了如何用Python做個(gè)個(gè)性的動(dòng)畫掛件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Scrapy爬蟲多線程導(dǎo)致抓取錯(cuò)亂的問題解決

    Scrapy爬蟲多線程導(dǎo)致抓取錯(cuò)亂的問題解決

    本文針對Scrapy爬蟲多線程導(dǎo)致抓取錯(cuò)亂的問題進(jìn)行了深入分析,并提出了相應(yīng)的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • 詳解Python中的join()函數(shù)的用法

    詳解Python中的join()函數(shù)的用法

    這篇文章主要介紹了詳解Python中的join()函數(shù)的用法,join()函數(shù)主要用來拼接字符串,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-04-04
  • 簡單了解django緩存方式及配置

    簡單了解django緩存方式及配置

    這篇文章主要介紹了簡單了解django緩存概述及配置,由于Django是動(dòng)態(tài)網(wǎng)站,所有每次請求均會去數(shù)據(jù)進(jìn)行相應(yīng)的操作,當(dāng)程序訪問量大時(shí),耗時(shí)必然會更加明顯,最簡單解決方式是使用:緩存,需要的朋友可以參考下
    2019-07-07
  • Blender Python編程創(chuàng)建發(fā)光材質(zhì)示例詳解

    Blender Python編程創(chuàng)建發(fā)光材質(zhì)示例詳解

    這篇文章主要為大家介紹了Blender Python編程創(chuàng)建發(fā)光材質(zhì)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 探索Python列表合并技術(shù)提高代碼靈活性

    探索Python列表合并技術(shù)提高代碼靈活性

    本文將深入研究Python中列表合并的幾種方法,通過詳細(xì)的示例代碼和細(xì)致的解釋,呈現(xiàn)一場關(guān)于列表操作的精彩探險(xiǎn),無論是初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,通過學(xué)習(xí)本文,將更加熟練地運(yùn)用這些方法,提升代碼的效率和可讀性
    2024-01-01
  • python requests抓取one推送文字和圖片代碼實(shí)例

    python requests抓取one推送文字和圖片代碼實(shí)例

    這篇文章主要介紹了python requests抓取one推送文字和圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python安裝requests庫的實(shí)例代碼

    python安裝requests庫的實(shí)例代碼

    在本篇文章中小編給大家分享了關(guān)于python怎么安裝requests庫的知識點(diǎn)以及代碼內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • python實(shí)現(xiàn)批量圖片格式轉(zhuǎn)換

    python實(shí)現(xiàn)批量圖片格式轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量圖片格式轉(zhuǎn)換的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論