ffmpeg 制作缩略图最有效的方法? [Windows 10]

2023-12-13

我通常使用 ThumbnailMe 制作缩略图的联系表。我的默认设置是 15 行 x 5 列,即 75 张图像,视频时长从 45 分钟到 90 分钟左右。 ThumbnailMe 几乎可以立即制作出这种尺寸的样版。最近需要为大量视频制作大量联系表,这让我查看了命令行选项,以便我可以批量执行这些操作。我尝试了几种不同的方法来从命令行制作缩略图:

ffmpeg -ss 300 -i myvideo.avi -vf fps=1/300 %d.jpg

or

ffmpeg -i myvideo.avi -vf fps=1/60 %d.jpg

无论我使用哪种方法,大约需要一分钟才能制作 16 张屏幕截图(从那里我将使用 ImageMagick 制作联系表)。正如我上面所说,只需按一下按钮,ThumbnailMe 就可以制作 15x5 的图像网格。 ThumbnailMe 是基于一个较旧的命令行程序 Movie Thumbnailer 构建的,我认为它使用了旧版本的 ffmpeg,或者至少是编解码器 libavcodec。

如果这些其他程序可以如此快地创建缩略图,为什么 ffmpeg 需要这么长时间才能为我制作缩略图?即使我以非常小的尺寸(例如 50x50)输出屏幕截图,创建每个图像仍然需要约 2 秒的时间。


The fps过滤器是解决此问题的低效方法。选择过滤器是更好的选择。如果需要,FFmpeg 还有一个过滤器来生成网格。

ffmpeg -i in.mp4 -vf select=not(mod(n\,800)),scale=200:-1,tile=15x5 -vsync 0 in-grid.jpg

这将选择每 800 个帧,将所选帧按比例缩放至 200 像素宽度,然后以 15x5 布局平铺前 75 个所选帧。瓦式过滤器具有options如果需要的话,用于外边框和帧间填充。

为了使其尽可能高效,应选择选择间隔 (800),以便选择过滤器输出的帧不会多于网格所需的帧。此外,您可以通过省略比例和平铺并在其他地方执行此操作来节省 FFmpeg 中的一些时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmpeg 制作缩略图最有效的方法? [Windows 10] 的相关文章

  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • MP4 到 DASH(bash 脚本)

    我有一个网站 用户可以在其中上传视频文件 我想使用 DASH 流式传输所有内容以获得自适应比特率流式传输 因此 我编写了一个 bash 脚本 由 cron 运行 将所有 mp4 文件转换为 DASH 但它无法正常工作 出了什么问题 例如 使
  • 如何在Android项目中使用libffmpeg.so?

    我正在尝试在 Android 中创建一个屏幕录制应用程序 为此 我使用 FFmpeg 我已经创建了 libffmpeg so 文件 现在我想在 Android 项目中使用相同的方法来调用它的本机函数 我怎样才能做到这一点 本教程提供了有关此
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 使用 Ffmpeg 编辑视频元数据

    我想更改视频元数据 原始视频信息 ffmpeg i video mp4 Metadata major brand mp42 minor version 0 compatible brands isomavc1mp42 creation ti
  • 使用 Google 云端硬盘缩略图的正确方法是什么?

    我首先尝试存储和使用 API 返回的链接 但它会在短时间内过期 然后我尝试在本地下载并存储图像 并从我的服务器提供它 但是当我没有使用我的帐户登录时 缩略图链接会抛出 404 错误 尽管文档是完全公开的 提供 检索文档缩略图的正确方法是什么
  • 如何使用 ffmpeg 将两个视频/音频流混合为一个

    我有两个视频 v1 flv 和 v2 flv 想要创建 v3 flv 其中包含来自 v1 flv 的视频流以及来自 v1 flv 和 v2 flv 的 混合 音频流 使用 ffmpeg 命令可以实现类似的操作吗 谢谢 我认为使用 ffmpe
  • 如何仅在使用 ffmpeg 添加相同速度的分离音频流时更改视频速度?

    我正在使用 ffmpeg 作为视频过滤器 但是 当我改变视频速度时 我遇到了问题 音频比视频长 ffmpeg i INPUT mp4 filter v setpts 0 5 PTS shortest y preset ultrafast O
  • 在 macOS 上为 MoviePy 安装 ffmpeg 失败并出现 SSL 错误

    我正在尝试编写一个 Python 程序 在 Mac OS 10 11 16 上使用 MoviePy 将 MP4 文件转换为 GIF 我用 import moviepy editor as mp 我收到一条错误消息 说我需要打电话imagei
  • 如何在Mac上使用AVFoundation将图片编码为H264,而不是使用x264

    我正在尝试制作一个 Mac 广播客户端 使用 FFmpeg 但不使用 x264 库编码为 H264 所以基本上 我可以从 AVFoundation 中获取原始帧CMSampleBufferRef or AVPicture 那么有没有一种方法
  • Bash 脚本:自动为 mpeg-dash 进行 ffmpeg 编码

    我正在编写一个 bash 文件来创建视频编码和串联 以供 dash 实时流媒体使用 基本上 它读取输入视频文件夹 将所有视频编码为三种分辨率格式 然后将它们连接起来创建三个适应集 DIAGRAM 该脚本检查 fps 一致性 如果输入不是 1
  • 致命错误:libavcodec/avcodec.h 没有这样的文件或目录编译终止

    我正在尝试使用 gcc 执行tutorial01 c 并且 gcc 和tutorial01 c 以及 libavcodec 和 libavformat 及其关联文件位于同一文件夹中 它给了我这个错误 致命错误 libavcodec avco
  • Python FFmpeg查询rtsp太慢

    目前 我正在尝试使用 python 和 FFmpeg 来查询原始格式为 h264 的 rtsp 数据 直播流视频的信息为 fps 29 分辨率 1280 720 我希望我可以以相同的格式 h264 查询数据并将其放入python队列中以便将
  • 如何在 RTMP 流中嵌入 pic_timing SEI 挂钟时间码?

    我需要将我的桌面流式传输到 AWS MediaLive 服务 并且根据要求 我必须在流中包含挂钟时间码 AWS 支持人员善意地通知我 对于 h 264 编码流 我需要提供时间码作为 pic timing SEI 消息 我在 Windows
  • FFMPEG:将 YUV 数据转储到 AVFrame 结构中

    我正在尝试转储YUV420数据进入AVFrameFFMPEG 的结构 从下面的链接 http ffmpeg org doxygen trunk structAVFrame html http ffmpeg org doxygen trunk
  • FFMPEG 帧到 DirectX 表面

    给定一个指向 FFMPEG 的 AVFrame 的指针avcodec decode video 函数如何将图像复制到 DirectX 表面 假设我有一个指向适当大小的 DX X8R8G8B8 表面的指针 Thanks John 您可以使用
  • 如何从 ffmpeg 中打开的文件获取流信息?

    我正在尝试使用 ffmpeg 读取视频文件 我有与其旧版本相对应的工作代码 并开始尝试升级到最新的构建版本 将所有这些已弃用的函数替换为其实际的类似函数 但是我遇到了问题 似乎没有检索到任何流 并且视频负载停止在轨道中 这是我正在使用的代码
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • ffmpeg 将 m4s 转换为 mp4

    我正在研究 DASH 试图为最终用户优化 QoE 我有一个视频 并使用 ffmpeg 将其编码为不同的比特率 一切都很好 并且可以使用 dash 播放该视频 我想要的是将用户收到的片段合并为一个 m4 并将该 m4 转换为 mp4 我在 f
  • 如何将ffmpeg中的ataenoise迁移到我自己的项目中?

    这是 ataenoise 滤波器的入口 libavfilter vf ataenoise c static int filter slice AVFilterContext ctx void arg int jobnr int nb job

随机推荐

  • FFMPEG iOS 7 库

    我尝试阅读很多教程 我花了几个小时在谷歌和 stackoverflow 上尝试回答 到目前为止我读过 尝试使用armv6和arv7架构为iPhoneOS平台编译FFMPEG库 FFMPEG 在 iphone ipad 项目上的集成 and
  • 使用 LESS 递归函数和媒体查询生成样式

    我正在尝试生成一些相对于屏幕高度的内容 并决定尝试使用 LESS 来生成类似的内容 即使作为测试有点重 baseHeight 1px setRelativeHeight screenHeight minHeightDiff maxHeigh
  • 重绘未按要求正常运行

    我制作了一个俄罗斯方块游戏 现在我已经使用 JPanel 来显示内容和块 使用 PaintComponents 方法 问题是每当我尝试从另一个 JFrame 调用俄罗斯方块程序时 它根本不绘制 我的俄罗斯方块主菜单的代码是 import j
  • 源更改时 VBA 刷新用户窗体列表框数据

    您好 我的用户表单中的列表框数据遇到问题 当我尝试更改列表框连接的源文件时 它似乎没有改变 一开始它显示了良好的数据 但是当我尝试单击 运行日期 按钮时 它与我的范围内的值不匹配 该值被设置为我的排序键 这是我用于按升序和降序排序的运行日期
  • 有没有办法在 Program.exe.manifest 的 UMMM(无人值守制作我的清单)创建中指定 File Name= ?

    有没有办法调整 UMMM ini 文件和 或 UMMM bat 文件以在
  • 为什么显示内联块与文本高度匹配?

    我有一个锚标记 并且我正在使用 before 选择器添加一些文本 我在锚标记周围添加了悬停状态 这 before文本比锚标记中的其余文本稍大 我添加了一个display inline block属性为之前的文本 当我将鼠标悬停在锚标记上时
  • 根据词典数据框替换语料库中的单词

    我有兴趣替换 a 中的所有单词tm根据由两列数据框组成的字典的语料库对象 其中第一列是要匹配的单词 第二列是替换单词 我被困住了translate功能 我看见这个答案但我无法将其转换为要传递给的函数tm map 请考虑以下 MWE libr
  • 为什么MQTT被称为“轻量级”消息传递协议?

    As per 维基百科 and Mqtt org MQTT 是一种机器对机器 M2M 物联网 连接协议 它被设计为极轻发布 订阅消息传输 与其他 TCP IP 或基于套接字的协议相比 是什么让 MQTT 极其轻量级 MQTT的协议开销极小
  • 有人可以向我解释一下 JavaScript getCookie() 中 while 循环的功能吗?

    抱歉有个问题要问 下面是W3C学院的getCookie代码教程 有人能教我一下有什么作用吗while c charAt 0 c c substring 1 既然是 while 循环 为什么它不会继续重复并卡在那里 谢谢 function g
  • Firebase规则:允许推送但不允许更新

    我正在努力理解如何允许用户在列表中创建新记录 但只允许创建者更新自己的帖子 例如 以下结构 post post1 author user1 text Some text post2 author user2 text Some text 2
  • 增强几何和精确点类型

    我目前正在研究一个处理几何问题的项目 由于这个项目将用于商业用途 我不能使用像 CGAL 这样的库 我目前正在使用 boost geometry 和不精确的类型 但遇到了数字问题 我尝试简单地使用 boost multi precision
  • jQuery 不适用于括号编辑器

    那么 嗨 我已经尝试了所有我知道和不知道的事情 但我就是无法让它发挥作用 是的 我的 html 骨架中有一个 script 标签 我还尝试下载它 然后将其作为脚本标记添加到我的 html 框架中 什么都不起作用 我正在另一个 file js
  • 无法获取最新的 Conda 版本(具有升级的 PowerShell 初始化支持的 V 4.6.1)来使用 PowerShell(理想情况下与 VSCode 集成)

    Conda 的最新版本 4 6 1 声称增加了初始化支持 特别是引用了 PowerShell 从这个官方更新发布文档中可以看出 但是 在升级和初始化设置时 conda update conda conda init 产生这个输出 C Use
  • Django用动态半径过滤位置距离

    我在 django 一个区域和一个商店中有 2 个模型 模型如下 from django contrib gis db import models from django contrib gis geos import Point from
  • 如何获取命令的输出以实时显示在窗体的控件中?

    从网络上的各种来源 我整理了以下代码 用于通过以下方式执行命令CMD exe并捕获输出STDOUT and STDERR public static class Exec public delegate void OutputHandler
  • 如何使用 ggplot 创建并排条形图(针对多个系列)?

    我有两组数据 3 列 x 分类 y 数值 l 位置 我想创建一个条形图 其中 x 轴上有类别 并且对于类别的每个值 有两个垂直条 颜色不同 每个位置的 y 值 默认情况下 Excel OpenOffice 会生成这种图表 I tried q
  • 重命名命名范围

    我有一本工作簿 其中有许多要重命名的命名范围 我有一个包含旧名称和新名称的电子表格 这有效 Dim strOldName As String Dim strNewName As String strOldName rngNamedRange
  • SWRevealViewController 和 TableView - 滑动删除不起作用

    我将 SWRevealViewController 添加到我的应用程序中 并添加了汉堡包堆栈来访问我的菜单 我的应用程序有一个 UITableView 作为主应用程序视图 我想允许用户使用滑动删除功能从列表中删除项目 我启用了滑动删除功能
  • 如何使用 OpenXML 设置 Excel“打印标题”

    如何使用 OpenXML 设置电子表格的 打印标题 属性 以便在每个打印页面的顶部显示一行 该属性直接保存在SpreadsheetPrintingParts对象 但是 到目前为止 这似乎还没有完全集成到 OpenXML 中 并且需要将 ba
  • ffmpeg 制作缩略图最有效的方法? [Windows 10]

    我通常使用 ThumbnailMe 制作缩略图的联系表 我的默认设置是 15 行 x 5 列 即 75 张图像 视频时长从 45 分钟到 90 分钟左右 ThumbnailMe 几乎可以立即制作出这种尺寸的样版 最近需要为大量视频制作大量联