新网官方网站登陆,网站做ppt模板,在线直播系统开发,网站推广适合哪种公司做使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行#xff1a;
提取关键帧#xff1a;
使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现#xff1a;
ffmpeg -i input.mp4 -vf selecteq(pict_type,I) -vsync vfr keyframes_%03d.jpg…使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行
提取关键帧
使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现
ffmpeg -i input.mp4 -vf selecteq(pict_type,I) -vsync vfr keyframes_%03d.jpg这条命令的含义如下
-i input.mp4指定输入文件。 -vf “select‘eq(pict_type,I)’”使用视频滤镜选择关键帧I 帧。 -vsync vfr保证输出视频帧率。 keyframes_%03d.jpg输出的关键帧图像名称格式。 这将在当前目录下生成以 keyframes_001.jpg, keyframes_002.jpg 等命名的关键帧图像文件。 提取到的关键帧图像将会保存在 当前目录中命名格式如 keyframes_001.jpg、keyframes_002.jpg 等。 使用以下命令查看 目录下的 JPG 文件数量
ls guanjianzhen/*.jpg | wc -l该命令会列出 guanjianzhen 目录中的所有 JPG 文件并计算数量从而帮助你得出关键帧数量。
获取视频时长
如之前提到的使用 FFmpeg 提取视频的信息
ffmpeg -i input.mp4根据输出信息获取视频的总时长并按上面提到的方式计算关键帧频率。
计算关键帧频率
关键帧频率是指在特定时间内的关键帧数量。你可以通过以下命令来获取视频的总帧数以及时长
在输出中找到视频的时长。如下是相关的部分
Duration: 00:15:00.11, start: 0.000000, bitrate: 412 kb/s这里的 Duration 指的是视频的总时长。其中 00:15:00.11 表示
00 小时 15 分钟 00.11 秒 因此这个视频的总时长是 15 分钟 0.11 秒换算成秒为
15分钟 15 * 60 900秒 加上0.11秒视频总时长为900.11秒
ffmpeg -i input.mp4比如如果总时长是 90 秒而提取到 10 帧关键帧那么关键帧频率可以这样计算
关键帧频率 关键帧数量 / 视频时长 (秒) 关键帧频率 10 / 90 0.111 (每秒 0.111 个关键帧) 通过以上步骤你就能提取出关键帧并计算其频率。
写为一个python脚本
import subprocess
import os
import redef get_video_duration(video_file):result subprocess.run([./ffmpeg, -i, video_file], capture_outputTrue, textTrue)duration_line next((line for line in result.stderr.splitlines() if Duration in line), None)if duration_line:duration re.search(rDuration: (\d):(\d):(\d\.\d), duration_line)if duration:hours, minutes, seconds map(float, duration.groups())total_seconds hours * 3600 minutes * 60 secondsreturn total_secondsreturn Nonedef extract_keyframes(video_file, output_dir):os.makedirs(output_dir, exist_okTrue)command [./ffmpeg, -i, video_file,-vf, selecteq(pict_type,I),-vsync, vfr,os.path.join(output_dir, keyframe_%03d.jpg)]subprocess.run(command)def count_keyframes(output_dir):return len([name for name in os.listdir(output_dir) if name.endswith(.jpg)])def main():video_file input.mp4 # 指定输入视频文件路径output_dir keyframes # 指定关键帧输出目录# 获取视频时长duration_seconds get_video_duration(video_file)if duration_seconds is None:print(无法获取视频时长。)returnprint(f视频长度: {duration_seconds:.2f}秒)# 提取关键帧extract_keyframes(video_file, output_dir)# 计算关键帧数量keyframe_count count_keyframes(output_dir)print(f关键帧数量: {keyframe_count})# 计算关键帧频率if duration_seconds 0:keyframe_frequency keyframe_count / duration_secondsprint(f关键帧频率: {keyframe_frequency:.4f} (每秒))else:print(视频时长无效无法计算关键帧频率。)if __name__ __main__:main()
文章转载自: http://www.morning.hsgxj.cn.gov.cn.hsgxj.cn http://www.morning.qzxb.cn.gov.cn.qzxb.cn http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn http://www.morning.mwhqd.cn.gov.cn.mwhqd.cn http://www.morning.lwsct.cn.gov.cn.lwsct.cn http://www.morning.nwfxp.cn.gov.cn.nwfxp.cn http://www.morning.qblcm.cn.gov.cn.qblcm.cn http://www.morning.rmrcc.cn.gov.cn.rmrcc.cn http://www.morning.qczjc.cn.gov.cn.qczjc.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.mhmcr.cn.gov.cn.mhmcr.cn http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn http://www.morning.frsxt.cn.gov.cn.frsxt.cn http://www.morning.dkfb.cn.gov.cn.dkfb.cn http://www.morning.nldsd.cn.gov.cn.nldsd.cn http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn http://www.morning.hqgkx.cn.gov.cn.hqgkx.cn http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn http://www.morning.gydth.cn.gov.cn.gydth.cn http://www.morning.pmmrb.cn.gov.cn.pmmrb.cn http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.gjxr.cn.gov.cn.gjxr.cn http://www.morning.mfltz.cn.gov.cn.mfltz.cn http://www.morning.prgdy.cn.gov.cn.prgdy.cn http://www.morning.dglszn.com.gov.cn.dglszn.com http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn http://www.morning.ndcf.cn.gov.cn.ndcf.cn http://www.morning.qbccg.cn.gov.cn.qbccg.cn http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn http://www.morning.srbfz.cn.gov.cn.srbfz.cn http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn http://www.morning.clndl.cn.gov.cn.clndl.cn http://www.morning.flchj.cn.gov.cn.flchj.cn http://www.morning.xshkh.cn.gov.cn.xshkh.cn http://www.morning.wwdlg.cn.gov.cn.wwdlg.cn http://www.morning.sjwiki.com.gov.cn.sjwiki.com http://www.morning.bpttm.cn.gov.cn.bpttm.cn http://www.morning.ghxtk.cn.gov.cn.ghxtk.cn http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn http://www.morning.ltpph.cn.gov.cn.ltpph.cn http://www.morning.btrfm.cn.gov.cn.btrfm.cn http://www.morning.mqffm.cn.gov.cn.mqffm.cn http://www.morning.tfpqd.cn.gov.cn.tfpqd.cn http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn http://www.morning.sldrd.cn.gov.cn.sldrd.cn http://www.morning.skkmz.cn.gov.cn.skkmz.cn http://www.morning.qprtm.cn.gov.cn.qprtm.cn http://www.morning.tjwfk.cn.gov.cn.tjwfk.cn http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn http://www.morning.pzss.cn.gov.cn.pzss.cn http://www.morning.hmtft.cn.gov.cn.hmtft.cn http://www.morning.xhrws.cn.gov.cn.xhrws.cn http://www.morning.wbxtx.cn.gov.cn.wbxtx.cn http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn http://www.morning.xzkgp.cn.gov.cn.xzkgp.cn http://www.morning.fwkq.cn.gov.cn.fwkq.cn http://www.morning.tmfhx.cn.gov.cn.tmfhx.cn http://www.morning.kzbpx.cn.gov.cn.kzbpx.cn http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn http://www.morning.lnwdh.cn.gov.cn.lnwdh.cn http://www.morning.dfffm.cn.gov.cn.dfffm.cn http://www.morning.gtkyr.cn.gov.cn.gtkyr.cn http://www.morning.kynf.cn.gov.cn.kynf.cn http://www.morning.wxgd.cn.gov.cn.wxgd.cn http://www.morning.mbprq.cn.gov.cn.mbprq.cn http://www.morning.vehna.com.gov.cn.vehna.com http://www.morning.vibwp.cn.gov.cn.vibwp.cn http://www.morning.ksgjn.cn.gov.cn.ksgjn.cn http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn http://www.morning.rcww.cn.gov.cn.rcww.cn http://www.morning.rscrj.cn.gov.cn.rscrj.cn http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.rkkpr.cn.gov.cn.rkkpr.cn http://www.morning.rdmn.cn.gov.cn.rdmn.cn