视频相关处理
1、概念
(1)FPS
是 “Frames Per Second” 的缩写,意思是“每秒帧数”。它表示每秒钟屏幕上显示的图像帧数,用来衡量动画、视频或游戏画面的流畅度。
- FPS 越高,画面越流畅,通常来说,30 FPS 被认为是基本流畅,60 FPS 及以上则非常顺滑。
- FPS 过低 会导致画面卡顿,尤其是在游戏或视频播放中。
(2)每秒抽帧数量
可以每秒抽取全部帧,也可以每秒抽取两针。其中如果做视频相似度比对的话,每秒抽取两针就可以
2、安装
conda install ffmpeg
我当时使用pip install ffmpeg没有成功,原因可能是:pip 下载的并不是完整的ffmpeg
3、抽取视频的fps和计算视频的总时长
import subprocess
import os
def get_video_fps(video_path):
# 调用 FFmpeg 的 `ffprobe` 工具获取视频帧率信息
command = [
'ffprobe',
'-v', 'error', # 只输出错误信息
'-select_streams', 'v:0', # 选择第一个视频流
'-show_entries', 'stream=avg_frame_rate', # 只要帧率
'-of', 'default=noprint_wrappers=1:nokey=1',# 格式化输出
video_path # 视频文件的路径
]
result = subprocess.run(command, stdout=subproc