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("无法获取视频帧率")
相关推荐
敢敢のwings16 分钟前
Wan2.2 模型系统解读:从视频扩散到 WAM 世界模型模块
音视频
小猴子爱上树2 小时前
跨境电商AI批量图片翻译工具,视频字幕翻译免费试用
人工智能·python·音视频
AI服务老曹2 小时前
车牌识别算法接入AI视频分析平台的流程和误报优化
人工智能·算法·音视频
betazhou2 小时前
mysql shell8.4.10+mysql 8.4.10搭建MySQL replicaset主从
数据库·mysql·ffmpeg·replicaset·mysql shell
深念Y4 小时前
视频平台架构重构:从微服务到可插拔基础设施
后端·微服务·云原生·架构·rabbitmq·音视频·rocketmq
深念Y5 小时前
06-移动端三技术栈优劣对比-理论推演
服务器·云原生·架构·音视频·短视频
FFZero15 小时前
[mpv架构] (三) mpv 怎么实现 MP4 秒开?
c++·音视频·mpv
Dovis(誓平步青云)5 小时前
同一条路线在手机和平板上怎样换一种排版
android·开发语言·数据库·智能手机·音视频
深念Y6 小时前
视频平台架构重构:从微服务到云原生
服务器·微服务·云原生·重构·架构·音视频·短视频
2601_9556624616 小时前
短视频配音 7 款测评:旁白情绪、断句、呼吸感完整打分
人工智能·音视频·语音识别