使用ffprobe或mediainfo从视频文件中提取元数据

PyProbe的Python项目详细描述


功能

  • 来自ffprobe/mediainfo的格式化数据
  • 如果ffprobe/mediainfo无法获取数据,则返回数据
  • 相同的数据结构
  • 与python 3完全兼容

安装

pip install PyProbe

用法

importpyprobeparser=pyprobe.VideoFileParser(ffprobe="/usr/bin/ffprobe",includeMissing=True,rawMode=False)data=parser.parseFfprobe(inputFile)

此代码将返回一个值字典(如下所述)。

  • includemissing将删除ffprobe/mediainfo不返回数据的值
  • rawmode将使每个值成为ffprobe/mediainfo的原始输出,它将是一个字符串(resolution除外,resolution是一个字符串元组)。

还提供了两个帮助函数,用于创建格式更精确的数据-

>>>importpyprobe>>>pyprobe.timeToTuple(12345.44)(3,25,45,440)>>pyprobe.sizeStr(12345678.99)'11.8 MB'

数据格式

{"path":str,"bit_rate":int,"duration":float,"size":int,"videos":[{"aspect_ratio":str,"bit_rate":int,"codec":str,"format":str,"framerate":float,"pixel_format":str,"resolution":(int# Width,int# Height)}],"audios":[{"bit_rate":int,"channel_count":int,"channel_layout":str,"codec":str,"format":str,"sample_rate":int# Hz}],"subtitles":[{"codec":str,"language":str}],"chapters":[{"title":str,"start":float,"end":float,}]}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java库/类,可以执行以字符串形式编写的方法   java get ScheduledExecutorService将变量更改为3个不同的值   EmployeeManager的java设计数据结构   java正则表达式吃的东西太多了   java NetBeans新项目不包括JavaFX文件夹   java无法使用maven依赖项   java是否将prolog应用程序转换为基于JVM的语言?   java支持多个反应式Redis存储和跨存储的事务   java如何从Modbus读取长(交换)值?   java在原语数组中重新分配数组值不会更改数组   java使Wicket行为返回JSON结果,以便与jQuery FileUpload集成   加载WebappClassLoader时发生java错误(获取错误)   java如何从特定行读取excel文件?   Java中带双精度的Forloop   安卓 Java注释字段setter和getter如何   使用Java操作PDF   应用java中作为字符串的运算符最优雅的方法是什么?   jRuby开发者的Java Swing资源?