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("无法获取视频帧率")
相关推荐
luoyayun36113 分钟前
Qt + FFmpeg 实战:获取音视频文件基础属性、流信息和元数据
qt·ffmpeg·音视频·元数据·获取音视频文件属性
Rudon滨海渔村17 分钟前
ffmpeg裁剪视频黑屏、不准时等处理方式 - ffmpeg基本操作
ffmpeg·音视频
谁刺我心1 小时前
[QtCPP]Examples使用示例-QtMultimedia、QMediaPlayer、Audio音频引擎测试mp3播放
qt·音视频·qml
FFZero11 小时前
[mpv脚本系统] (五) C层系统调用的实现: mpv client通信机制
c语言·音视频
潜创微科技2 小时前
2026年专业创作KVM方案服务商选型指南:技术、场景与服务的全维度评估
嵌入式硬件·音视频
searchforAI2 小时前
培训视频转文字后怎么做团队复盘?把本地视频整理成AI笔记的实操方案
人工智能·笔记·ai·whisper·音视频·语音识别·腾讯会议
qq_422152572 小时前
音频裁剪工具怎么选?2026 年主流方案对比与使用指南
人工智能·音视频
开开心心就好2 小时前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
hz567892 小时前
实时音视频SDK发展趋势:TRTC、WebRTC与云端音视频服务融合路径
架构·音视频·webrtc·实时音视频
searchforAI2 小时前
利用AI翻译视频做双语笔记,一套视频翻译到知识库沉淀的完整方案
人工智能·笔记·gpt·音视频·语音识别·知识图谱·机器翻译