python基于ffmpeg转换m4a为MP3

复制代码
#!/usr/bin/python3
# _*_coding:utf-8 _*_

# @Time        :2021/4/11 19:38
# @Author    :jory.d
# @File        :m4a_to_mp3.py
# @Software    :PyCharm


"""
不能在pycharm里run, 只能在 cmd等终端里  python m4a_to_mp3.py
"""

import os
import os.path as osp
import glob
import re

ffmpeg_tool = "I:/ffmpeg/ffmpeg-4.1-win64-static/bin"


def func1():
    """
    把文件名的特殊字符去掉
    :return:
    """
    m4a_path = "H:/spider_download/qqmusic-20210411"
    for f in glob.glob(f'{m4a_path}/*.m4a'):
        fname = osp.basename(f)
        fname = re.findall(r'[^\*"/:?\\|<>]', fname, re.S)
        fname = "".join(fname)
        new_filepath = f'{osp.dirname(f)}/{fname}'
        print(f)
        print(new_filepath)
        os.rename(f, new_filepath)


def func2():
    '''
    m4a ---> mp3
    :return:
    '''
    m4a_path = "H:/spider_download/qqmusic-20210411"
    mp3_path = 'H:/spider_download/qqmusic-20210411-mp3'
    for f in glob.glob(f'{m4a_path}/*.m4a'):
        fname = osp.basename(f)
        mp3_filepath = f'{mp3_path}/{fname[:-4]}.mp3'
        os.makedirs(osp.dirname(mp3_filepath), exist_ok=True)
        print(mp3_filepath)
        cmd = f'{ffmpeg_tool}/ffmpeg -i {f} {mp3_filepath}'
        os.system(cmd)
        print(f'{fname} is converted.')

    print('Done.')


if __name__ == '__main__':
    # func1()
    func2()
复制代码

 

posted @   dangxusheng  阅读(1082)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示