该代码中使用了mediainfo工具来获取视频信息,但是mediainfo不能处理wmv格式视频,因此需要修改代码来处理这种情况。

建议使用ffprobe工具来获取视频信息,因为它支持更多的视频格式,包括wmv格式。

修改步骤如下:

  1. 安装ffprobe工具。可以在https://ffmpeg.org/download.html#build-windows下载静态编译版,解压后将ffprobe.exe所在目录添加到系统环境变量中。

  2. 替换原来使用mediainfo获取视频信息的代码,改为使用ffprobe获取视频信息。具体代码如下:

# 使用ffprobe获取视频信息
result = subprocess.run(['ffprobe', '-v', 'error', '-show_entries', 'format=format_name,duration:stream=width,height,bit_rate,avg_frame_rate:stream_tags=language', '-of', 'csv=p=0', video_file], stdout=subprocess.PIPE)
output = result.stdout.decode().strip()
info = output.split(',')

# 解析输出结果
format_name = info[0]
duration = info[1]

# 视频信息
video_info = info[2:6]
resolution = f'{video_info[0]}x{video_info[1]}'
bitrate = video_info[2]
framerate = video_info[3]

# 音频信息
audio_bitrate = []
audio_sampling_rate = []
audio_lang = []
for i in range((len(info) - 6) // 3):
    audio_bitrate.append(info[6 + i * 3])
    audio_sampling_rate.append(info[6 + i * 3 + 1])
    audio_lang.append(info[6 + i * 3 + 2])
  1. 删除原来使用的正则表达式pattern,因为ffprobe输出的码率数据中已经没有空格了。

  2. 修改Excel表头中的“码率”和“帧率”为“视频码率”和“视频帧率”,以区分音频码率和视频码率。

修改后的完整代码如下:

下面的python3代码无法处理wmv格式视频会报not enough values to unpack expected 3 got 1错误请帮忙修改并检查代码中的错误import osimport reimport subprocessimport openpyxlimport mathfrom openpyxlstyles import Font PatternFill Alignment#

原文地址: https://www.cveoy.top/t/topic/bd3q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录