ffmpeg根据原始视频的帧率进行提取视频帧

直接上代码,自己编写的。。。有问题可以提

安装教程看这个:https://blog.csdn.net/m0_61497715/article/details/129817641

去官网下个最新的ffmpeg,解压到随便的目录,上级目录最好不要用中文;

然后去设置环境变量,加入ffmpeg的bin路径;

查看是否设置成功使用ffmpeg -version。

python 复制代码
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("无法获取视频帧率")
相关推荐
EasyDSS2 小时前
连锁扩张管控难?一套视频会议/直播/点播/集群对讲EasyDSS音视频云平台打通门店全流程数字化
网络·音视频·easydss
阿明副业观察3 小时前
2026年免费AI视频生成工具功能深度解析:有无水印、中文语音及商业用途考量
大数据·人工智能·ai作画·aigc·音视频·ai写作
国产化创客5 小时前
ESP32音频/语音技术(4)AudioTools 库及转发播放程序分析
物联网·音视频·esp32
martindelophy5 小时前
浏览器视频导出太慢怎么优化?一次 WebCodecs 实践:8 分钟视频耗时降低 31%
性能优化·音视频·优化
Dovis(誓平步青云)6 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
开开心心就好11 小时前
把手机变成电脑麦克风,WiFi连接就能用
智能手机·ffmpeg·计算机外设·电脑·word·音视频
Dovis(誓平步青云)12 小时前
现场问题先关闭还是先验收,建筑任务怎样处理依赖
前端·javascript·数据库·mysql·音视频
原子延迟12 小时前
视频还没出画面怎么判断是不是坏了
图像处理·人工智能·计算机视觉·音视频
小猴子爱上树13 小时前
跨马翻译:批量图片翻译+视频字幕+智能抠图,跨境电商翻译工具
python·音视频
Evanfu021614 小时前
整部短剧文件怎么管理:目录、命名与版本规则
aigc·音视频·视频·机器翻译·自动翻译