ffmpeg获取视频信息 python
时间: 2023-08-08 22:08:34 浏览: 94
两个测试视频,1.mp4分辨率1500x1500,2.mp4分辨率1080P
你可以使用 Python 的 subprocess 模块来调用 ffmpeg 命令行工具,以获取视频信息。以下是一个简单的示例代码:
```python
import subprocess
# 视频文件路径
video_path = "/path/to/video.mp4"
# 调用 ffmpeg 命令行工具获取视频信息
cmd = ["ffmpeg", "-i", video_path]
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = proc.communicate()[0]
# 输出视频信息
print(output)
```
在上面的代码中,我们使用了 ffmpeg 的 `-i` 选项来获取视频文件的信息。`subprocess.Popen` 函数用于调用命令行工具,并将输出存储在 `output` 变量中。最后,我们输出视频信息。
你也可以使用 ffprobe 工具来获取视频信息,ffprobe 是 ffmpeg 的一个兄弟项目,专门用于获取多媒体文件的元数据。以下是一个使用 ffprobe 的示例代码:
```python
import subprocess
# 视频文件路径
video_path = "/path/to/video.mp4"
# 调用 ffprobe 命令行工具获取视频信息
cmd = ["ffprobe", "-v", "quiet", "-print_format", "json", "-show_format", "-show_streams", video_path]
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = proc.communicate()[0]
# 输出视频信息
print(output)
```
在上面的代码中,我们使用 `-print_format json` 选项将输出格式设置为 JSON 格式,以便更容易地解析视频信息。同时,我们使用 `-show_format` 和 `-show_streams` 选项来获取视频的格式和流信息。输出的 JSON 数据可以使用 Python 的 `json` 模块进行解析。
阅读全文