用Python和FFmpeg查找大码率的视频文件
本文使用Python2.7, 这个工作分两步
- 遍历文件夹下的视频文件
- 用ffprobe获取是视频文件的码率信息
用ffprobe 获取json格式的视频信息
用ffprobe.exe是FFmpeg自带的查看视频信息的工具,其获取json格式的信息命令如下
ffprobe -v quiet -print_format json -show_format -show_streams -i filename
这个命令会输出 带有 streams和format项的json结构
Python读取json
- 用os.popen(strCmd).read() 来获取命令行的输出
- 用json.loads 解析json, 这个必须加try,否则某些乱码会导致挂机
import os,re,json
# ffprobe 需放置在 system32, not user's PATH
# 调用ffprobo 获取信息的json格式
def getJsonString(strFileName):
strCmd = 'ffprobe -v quiet -print_format json -show_format -show_streams -i "' + strFileName + '"'
mystring = os.popen(strCmd).read()
return mystring
# UnicodeDecodeError: 'utf8' codec can't deco