直接上代码,自己编写的。。。有问题可以提
安装教程看这个:https://blog.csdn.net/m0_61497715/article/details/129817641文章来源:https://www.toymoban.com/news/detail-579397.html
去官网下个最新的ffmpeg,解压到随便的目录,上级目录最好不要用中文;
然后去设置环境变量,加入ffmpeg的bin路径;
查看是否设置成功使用ffmpeg -version。文章来源地址https://www.toymoban.com/news/detail-579397.html
import os
import subprocess
import re
import math
def get_video_frame_rate(video_path):
command = ['ffmpeg', '-i', video_path]
# 执行命令并获取输出
output = subprocess.run(command, capture_output=True, text=True)
# 从输出中提取帧率信息
match = re.search(r"(\d+(\.\d+)?) fps", output.stderr)
if match is None:
return None
frame_rate = float(match.group(1))
return frame_rate
_video_path = 'src.mp4' # 设置视频文件路径
ffmpeg_path = r"ffmpeg.exe"
frame_path = os.path.basename(_video_path).split('.')[0] # 以视频名字创建文件夹
os.makedirs(frame_path, exist_ok=True)
_frame_rate = get_video_frame_rate(_video_path) # 获取视频帧率
fps = math.ceil(_frame_rate) # 也可以输入其它数字,5,10,20
if _frame_rate is not None:
print("视频帧率:", _frame_rate)
os.system(f"{ffmpeg_path} -i {_video_path} -vf fps={fps} {frame_path}/%06d.png")
print(math.ceil(_frame_rate))
else:
print("无法获取视频帧率")
到了这里,关于ffmpeg根据原始视频的帧率进行提取视频帧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!