Python3 使用 mediainfo 获取视频音频信息
使用 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}')
代码解释:
- 使用
subprocess.Popen()创建两个子进程,分别执行 mediainfo 命令获取视频和音频信息。 --Inform参数用于指定需要获取的信息,使用%符号表示占位符,具体占位符可以参考 mediainfo 文档。- 使用
stdout=subprocess.PIPE将子进程的标准输出重定向到管道,以便获取输出信息。 - 使用
video_proc.stdout.read()和audio_proc.stdout.read()获取子进程的输出结果,并使用decode('utf-8')解码为字符串。 - 使用
print()函数输出视频和音频信息。
该代码示例展示了如何使用 Python3 获取视频和音频信息,您可以根据需要修改 --Inform 参数和 video_file 变量来获取您需要的特定信息。
原文地址: https://www.cveoy.top/t/topic/mHdD 著作权归作者所有。请勿转载和采集!