使用 Python3 中的 subprocess 模块调用 mediainfo 命令行工具获取视频和音频信息,可以方便地获取视频的格式、分辨率、比特率、帧率、时长等信息,以及音频的比特率、采样率、语言等信息。

以下代码示例展示了如何使用 Python3 获取视频和音频信息:

import subprocess

video_file = 'your_video_file.mp4'

with subprocess.Popen(['mediainfo', '--Inform=Video;%Format%|%Width%x%Height%|%BitRate/String%|%FrameRate%|%Duration/String3%', video_file], stdout=subprocess.PIPE) as video_proc,
        subprocess.Popen(['mediainfo', '--Inform=Audio;%BitRate/String%|%SamplingRate/String%|%Language/String%', video_file], stdout=subprocess.PIPE) as audio_proc:
    video_info = video_proc.stdout.read().decode('utf-8').strip()
    audio_info = audio_proc.stdout.read().decode('utf-8').strip()

    print(f'Video information: {video_info}')
    print(f'Audio information: {audio_info}')

代码解释:

  1. 使用 subprocess.Popen() 创建两个子进程,分别执行 mediainfo 命令获取视频和音频信息。
  2. --Inform 参数用于指定需要获取的信息,使用 % 符号表示占位符,具体占位符可以参考 mediainfo 文档。
  3. 使用 stdout=subprocess.PIPE 将子进程的标准输出重定向到管道,以便获取输出信息。
  4. 使用 video_proc.stdout.read()audio_proc.stdout.read() 获取子进程的输出结果,并使用 decode('utf-8') 解码为字符串。
  5. 使用 print() 函数输出视频和音频信息。

该代码示例展示了如何使用 Python3 获取视频和音频信息,您可以根据需要修改 --Inform 参数和 video_file 变量来获取您需要的特定信息。

Python3 使用 mediainfo 获取视频音频信息

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

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