python视频信息快速获取小工具【attributeerror: module ‘ffmpeg‘ has no attribute ‘probe‘】

批量读取视频信息并输出相关信息的方案。

因模块引用问题折腾许久,最终简单解决python 模块引用问题。

pip uninstall ffmpeg

pip install ffmpeg-python

分享工具代码:

import os
import ffmpeg
import sys

v_path=input("请输入文件夹路径:")
def get_info_duration(_prop):
    duration = float(_prop['format']['duration'])
    m, s = divmod(duration, 60)
    h, m = divmod(m, 60)
    return ("%02d:%02d:%02d" % (h, m, s))

def get_info_size(_prop):
    size = float(_prop['format']['size'])/1024
    return ("%02d KB" % (size))

def get_info_code_size(_prop):
    for ss in _prop['streams']:
        if ss['codec_name'] == 'h264':
            return ('%s * %s' % (str(ss['coded_width']),str(ss['coded_height'])))
    return ''


def main():
    for r, ds, fs in os.walk(v_path):
        for f in fs:
            if f.endswith(('mp4','flv','wmv','avi','rmvb','rm','f4v','3gp','asf','mov','ts')):
                file = os.path.join(r, f)
                prop = ffmpeg.probe(file)
                print("%s\t%s\t%s\t%s" % (f,get_info_duration(prop),get_info_size(prop),get_info_code_size(prop)))
                fl = open(v_path+'\\filelist.xlsx','a')
                fl.write("%s\t%s\t%s\t%s" % (f,get_info_duration(prop),get_info_size(prop),get_info_code_size(prop))+"\n")
                fl.close()

if __name__ == '__main__':
    main()
最后python文件做成一个.bat批处理文件就可以直接执行:python ttff.py

你可能感兴趣的:(Python,python,开发语言,后端,音视频)