当前位置: 首页 > news >正文

青岛市黄岛区城市建设局 网站北京seo技术交流

青岛市黄岛区城市建设局 网站,北京seo技术交流,外贸网站建设 惠州,为什么打不开建设银行网站使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行: 提取关键帧: 使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现: ffmpeg -i input.mp4 -vf "selecteq(pict_type,I)" -vsync vfr keyframes_%03d.jpg…

使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行:

提取关键帧:

使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现:

ffmpeg -i input.mp4 -vf "select='eq(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_output=True, text=True)duration_line = next((line for line in result.stderr.splitlines() if "Duration" in line), None)if duration_line:duration = re.search(r'Duration: (\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_ok=True)command = ['./ffmpeg', '-i', video_file,'-vf', "select='eq(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.yayakq.cn/news/529370/

相关文章:

  • 洛阳有建社网站的吗网页搜索的快捷键
  • 七米网站建设推广优化有经验的手机网站建设
  • 济源做网站的公司落地页模板网站
  • 成都快速做网站用手机怎么看自己做的网站
  • 如何制作新型网站程序泰安网站建设哪家好
  • 三五互联网站管理登录地址建设网站翻译英文
  • 当铺网站建设方案dw网页设计成品素材
  • 网站建设和数据容量整合wordpress外部样式
  • 网站主色调有几种山东省建设执业官方网站
  • 交流建设网站wordpress vip
  • 达尔罕茂明安网站建设wordpress活动链接
  • 如何实现网站开发手机验证码天津营销型网站建设
  • 做视频免费模板下载网站南通网站建设方案
  • php网站集成支付宝接口网站建设工具品牌有哪些
  • 用python做网站前端怎么选择合适的网站开发公司
  • 福州市住房和城乡建设网站开源php网站开发
  • 秦皇岛pc端网站建设企业商务网
  • 长沙市建设厅网站公司电子版简介模板
  • 中国电信网站备案系统宜兴做网站公司
  • 企业网站备案需要法人拍照吗wordpress 4.7 静态化
  • 套别人的网站模板制作网站需要怎么做的
  • 二手车网站的建设网站制作流程一般制作流程?
  • 免费建站网站一级在线看找网站建设企业
  • 行业垂直网站开发网络平台有哪些?
  • 微信公众平台网站开发中小型门户网站
  • 试客那个网站做的好做网站全是别人的链接
  • 比特币交易网站可以做空吗线上推广网络公司
  • 中国网站设计哪个网站做学历认证
  • 昆明网站设计方案可以做数理化的网站
  • 耐思尼克的建站宝盒wordpress主题ashley