使用 python ffmpeg 批量检查 音频文件 是否损坏或不完整

自用工具,检查下载的音乐是否有损坏 或 下载不完整

使用方法,把 in_dir = r’D:\158首无损珍藏版’ 改成你自己的音乐文件夹路径
如果发现文件有损坏,则会在命令行打印错误文件的路径

注意,要求 ffmpeg 命令可以直接在命令行调用

实现原理,使用 ffmpeg 解码时,会在 stderr 打印错误信息的特性,检测 stderr 里面是否有失败相关的关键字,从而判断媒体文件是否损坏

import os
from glob import glob
import subprocess
import locale


in_dir = r'D:\158首无损珍藏版'

audio_exts = ('.wav', '.flac', '.mp3', '.wma', '.ogg', '.m4a', '.ape', '.opus', '.aac', '.mka')


def is_bad_file(file):
    p = subprocess.Popen(f'ffmpeg -i "{file}" -v error -f null -', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    err_text = p.stderr.read().decode(locale.getpreferredencoding()).lower()

    is_bad = False

    for bad_text in ['error', 'failed', 'illegal']:
        if bad_text in err_text:
            is_bad = True

    return is_bad


for file in glob(f'{in_dir}/**/*.*', recursive=True):
    ext = os.path.splitext(file)[1].lower()
    if ext not in audio_exts:
        continue

    if is_bad_file(file):
        print(f'Found bad audio. {file}')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MP3 Repair Tool(mp3音乐文件损坏修复软件) 如果您播放mp3音乐遇到了例如乱码、音频混乱等MP3文件损坏的情况,这个时候您可以下载MP3 Repair Tool这款mp3音乐文件损坏修复软件来对其进行快速修复,另外MP3 Repair Tool还支持修改MP3的帧数,修改MP3歌曲的大小和长度等功能。 MP3 Repair Tool这款软件是一个非常不错的mp3音乐文件损坏修复软件,它的主要功能可以帮您快速的修复那些已经损坏mp3音乐文件,对压缩而产生损坏MP3进行修复,例如压缩时没压缩好,本以为要压缩一下它让它体积变的小一点,可是压缩后,没想到音质直接没有了,MP3 Repair Tool可以帮您恢复MP3文件原有的音乐质量。 使用MP3 Repair Tool(mp3文件修复工具)您还可以根据需要自己的需要修改MP3的帧数,来修改MP3歌曲的大小与长度! MP3 Repair Tool(mp3音乐文件损坏修复软件)使用方法: 1、下载压缩包解压缩,而后打开mp3修复工具,在选择框中选择想要进行修复的MP3文件。 2、确定选择无误后,点击左下角的修复就OK了。 MP3 Repair Tool软件使用方法 3、修复的同时,您还可以决定是从每个文件的开头删除帧还是删除每个文件的最后一帧之后的所有内容。 注意事项: 移除0或1 每个文件开头的帧数 (1帧 = 26毫秒) 0 = 首帧前的所有内容把被删除 (即. ID3v2 标签, 错误 ID3v2 标签, 等等) 1 = 首帧前的所有内容包含首帧把被删除. *注意:如果第一次修复后没有得到合适的修复文件,你可以增加移除帧数来重新使用修复程序 尾帧后的所有内容把被删除 (即. ID3v1 标签, ID3v2.4 标签, 等等)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值