python ffmpeg 获取视频信息
时间: 2023-11-17 10:05:50 浏览: 168
利用ffmpeg工具获取视频信息
你可以使用 Python 的 subprocess 模块来运行 FFmpeg 命令,并使用正则表达式来提取视频信息。以下是一个示例代码:
```python
import subprocess
import re
def get_video_info(video_path):
# 运行 FFmpeg 命令获取视频信息
cmd = f'ffmpeg -i "{video_path}"'
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode()
# 使用正则表达式提取视频信息
duration_match = re.search(r"Duration:\s*(\d+):(\d+):(\d+\.\d+)", output)
if duration_match:
hours, minutes, seconds = map(float, duration_match.groups())
duration = hours * 3600 + minutes * 60 + seconds
else:
duration = None
video_match = re.search(r"Video:\s*(\S+)", output)
if video_match:
video_codec = video_match.group(1)
else:
video_codec = None
audio_match = re.search(r"Audio:\s*(\S+)", output)
if audio_match:
audio_codec = audio_match.group(1)
else:
audio_codec = None
# 返回视频信息
return {
'duration': duration,
'video_codec': video_codec,
'audio_codec': audio_codec
}
```
你可以使用此函数来获取视频的持续时间、视频编解码器和音频编解码器等信息。
阅读全文