使用 -vsync 0 选项时,从 ffmpeg 中的 mp4 提取帧到 jpg 格式会产生错误

2024-01-07

我正在尝试使用 ffmpeg 从 mp4 视频中提取所有帧。我使用以下命令:

ffmpeg -i "/Users/raimundbuehler/recordings/2022_01_24/000/exports/001/world.mp4" -vsync 0  "/Users/raimundbuehler/data/converted_frames/frame%06d.jpg"

使用 -vsync 2(可变帧速率)时效果很好,但使用 -vsync 0(直通)时效果不佳。然而,使用 vsync 2 会丢掉一些帧,这是我不希望发生的情况。 当提取为 png 格式时它也有效,但我需要 jpg。

它似乎适用于前 40 帧,但在第 41 帧上产生错误。 这是输出:

ffmpeg version N-104855-g466441a0d2-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      57. 11.100 / 57. 11.100
  libavcodec     59. 14.100 / 59. 14.100
  libavformat    59. 10.100 / 59. 10.100
  libavdevice    59.  0.101 / 59.  0.101
  libavfilter     8. 19.100 /  8. 19.100
  libswscale      6.  1.101 /  6.  1.101
  libswresample   4.  0.100 /  4.  0.100
  libpostproc    56.  0.100 / 56.  0.100
Passing a number to -vsync is deprecated, use a string argument as described in the manual.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/raimundbuehler/recordings/2022_01_24/000/exports/001/world.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf58.45.100
  Duration: 00:00:55.20, start: 0.000000, bitrate: 10379 kb/s
  Stream #0:0[0x1](und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 10376 kb/s, 23.60 fps, 23.58 tbr, 65535 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02efc0000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02efd7000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02efe4000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02eff1000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02effe000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f00b000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f018000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f025000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f032000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f03f000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f04c000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f059000] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7ff02ef5b000] [swscaler @ 0x7ff02f066000] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/Users/raimundbuehler/data/converted_frames/frame%06d.jpeg':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf59.10.100
  Stream #0:0(und): Video: mjpeg, yuvj420p(pc, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.58 fps, 23.58 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc59.14.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[mjpeg @ 0x7ff029413f40] Invalid pts (41) <= last (41)trate=N/A speed=2.02x    
Video encoding failed
Conversion failed!

帮助将不胜感激!


mjpeg 解码器不喜欢具有重复点的帧。

您只需重新调整它们的时间即可避免这种情况。

ffmpeg -i "/Users/raimundbuehler/recordings/2022_01_24/000/exports/001/world.mp4" -vf setpts=N/FR/TB -vsync 0 "/Users/raimundbuehler/data/converted_frames/frame%06d.jpg"

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

使用 -vsync 0 选项时,从 ffmpeg 中的 mp4 提取帧到 jpg 格式会产生错误 的相关文章

  • 使用 ffmpeg 在纯色背景上叠加延时视频

    我有很多名为的主页屏幕截图homescreen000001 png homescreen000002 png等 我正在尝试使用 ffmpeg 创建这些图像的延时视频 当我运行以下命令时 它通常可以正常工作 ffmpeg f image2 i
  • 如何在 PHP 中运行 ffmpeg 命令

    我需要在 PHP 中运行 ffmpeg 命令 但是 php ffmpeg 不再支持最新版本并且已经过时 我可以知道在网络文件中运行 ffmpeg 命令的替代方法吗 PHP Javascript jQuery 我尝试exec and shel
  • FFmpeg - H264 编码器找不到有效设备并且无法配置编码器

    我尝试使用 H264 编码器进行编码 但是当我这样做时 出现以下错误 h264 v4l2m2m 0x55682d2416c0 Could not find a valid device h264 v4l2m2m 0x55682d2416c0
  • 使用 ffmpeg 从 unix 命令批量将 wav 文件转换为 16 位

    我有一个由许多子文件夹组成的文件夹 每个子文件夹都有其他子文件夹 其中包含 wav 文件 我想像这样转换所有文件 ffmpeg i BmBmGG BmBmBmBm wav acodec pcm s16le ar 44100 BmBmGG B
  • 将 H264 视频转换为原始 YUV 格式

    是否可以使用 ffmpeg 从 H264 编码视频创建原始 YUV 视频 我想用 matlab 打开视频并逐帧访问 Luma Cb 和 Cr 分量 是的 您可以 您只需指定像素格式即可 要获取格式的完整列表 ffmpeg pix fmts
  • C# - 捕获 RTP 流并发送到语音识别

    我正在努力实现的目标 在 C 中捕获 RTP 流 将该流转发到 System Speech SpeechRecognitionEngine 我正在创建一个基于 Linux 的机器人 它将接受麦克风输入 将其发送给 Windows 机器 Wi
  • 访问 AVFrame 的每个像素

    我需要访问 FFMPEG 的 AVFrame 对象的每个像素信息 如果是 RGB 则每个像素的每种颜色 R G 和 B 我怎样才能做到这一点 如果您已经前进到正确的框架 类似于 img convert ctx ffmpeg sws getC
  • 无法在 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
  • 如何在Android项目中使用libffmpeg.so?

    我正在尝试在 Android 中创建一个屏幕录制应用程序 为此 我使用 FFmpeg 我已经创建了 libffmpeg so 文件 现在我想在 Android 项目中使用相同的方法来调用它的本机函数 我怎样才能做到这一点 本教程提供了有关此
  • opencv 2.3.* 读取不工作

    我无法让 imread 工作 与这个人有同样的问题 OpenCV imwrite 2 2 在 Windows 7 上导致异常 并显示消息 OpenCV 错误 未指定错误 无法找到指定扩展名的编写器 https stackoverflow c
  • Qt WinRT 应用程序无法访问文件权限被拒绝

    我需要使用 Qt 和 FFMPEG 开发 WinRT 应用程序 我根据指令构建了 WinRT 的 ffmpeghere https github com Microsoft FFmpegInterop我可以将库与我的项目链接起来 现在我需要
  • ffmpeg:音频样本的字节顺序

    我使用 ffmpeg 的 avcodec 从我的 C 应用程序中的音乐文件中检索原始音频样本 对于我测试的文件 这些文件样本的字节序似乎是小字节序 但我想知道对于我尝试解码的所有文件是否总是如此 即来自 ffmpeg 的实现或至少它的体系结
  • 在 ffmpeg 中,如何使用scale2ref 过滤器缩放 dvdsub 字幕以匹配视频大小?

    我有一个从直播电视录制的 mpeg 文件 其中包含视频以及多个音频和字幕流 我的最终目标是能够创建较小的视频文件 因为 mpeg 文件大小为数 GB 我在这条道路上的第一步只是能够选择视频 音频和字幕流中的每一个并将它们复制到 mkv 文件
  • 使用 ImageMagick 和/或 GhostScript 将多页 PDF 转换为多个 JPG

    我正在尝试将多页 PDF 文件转换为一堆 JPEG PDF 中的每一页一个 我花了几个小时寻找如何做到这一点 最终我发现我需要安装 Ghostscript 所以我就这么做了 来自这个网站 http downloads ghostscript
  • iPhone JPG 图像有非标准魔术字节 ff d8 ff e1?

    我的网络应用程序在接受上传的图像之前会根据文件扩展名检查前四个字节 一位同事向我展示了他 iPhone 上的图像 但这些图像被拒绝了 它们具有不同的第四个字节 e1 225 而不是预期的 e0 224 这对于 iPhone 来说是常见的吗
  • Windows 上的 ffmpeg-android ndk

    我正在尝试编译 bash 文件 带有 android ndk 的 ffmpeg 我收到如下错误 arm linux androideabi gcc 无法创建可执行文件 C 编译器测试失败 Makefile 2 config mak 没有这样
  • 从 ffmpeg 获取实时输出以在进度条中使用(PyQt4,stdout)

    我已经查看了很多问题 但仍然无法完全弄清楚 我正在使用 PyQt 并且希望能够运行ffmpeg i file mp4 file avi并获取流式输出 以便我可以创建进度条 我看过这些问题 ffmpeg可以显示进度条吗 https stack
  • 为什么处理时间随着修剪位置的增加而增加?

    我最近一直在使用ffmpeg修剪一些视频 我注意到随着修剪位置的增加 修剪视频所花费的时间也会增加 即使持续时间相同 5 seconds 下面给出了修剪视频的命令0 to 5秒 处理仅需1秒 ffmpeg y i input mp4 fil
  • 两个图像之间的视频变形,FFMPEG/Minterpolate

    我正在尝试在 Ubuntu Linux 上的 bash 脚本中使用两个帧 png 图像 和 ffmpeg 的 minterpolate 过滤器制作一个快速且简单的变形视频 目的是稍后使用变形作为不同视频编辑器中相似视频之间的过渡 它适用于
  • Ffmpeg 无法正确转换为 ogg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在使用 ffmpeg 在我的网站上转换音频和视频 Ffmpeg 可以正确转换为其他格式 如 mp3 mp4 等 但无法正确转换为 ogg 虽然 f

随机推荐

  • 如何禁用一行上的行组扩展功能?

    在没有任何特定解决方案的情况下进行了大量搜索之后 我不得不问这个问题 我想要的是隐藏单个组行上的行组图标 如下图所示 我有一个组行 其中只有一条记录 该记录已显示在顶行中 我想隐藏该单条记录上的折叠图标 当组行超过一行时 仅显示折叠 展开图
  • Heroku Spring Boot 启动

    我尝试在 Heroku 上运行我的 Spring Boot 应用程序 应用程序正确启动 但之后它立即崩溃并出现以下错误 2019 03 19T11 45 28 343758 00 00 app web 1 2019 03 19 11 45
  • 有没有办法将文本表格转换为 PowerShell 对象

    有许多工具以表格格式输出数据 diskpart 就是这样的一个例子 去掉一些无关的输出 你会得到这样的结果 Disk Status Size Free Dyn Gpt Disk 0 Online 136 GB 0 B Disk 1 Offl
  • Tortoisesvn - 缺少设置 - 使用“_ svn”而不是“.svn”

    我刚刚从 SVN 1 6 更新到 SVN 1 7 我的图标叠加层未显示 在查看 1 7 中 SVN 的设置时 我不再可以选择使用 svn 目录 这可能就是我遇到问题的原因 有谁知道如何让 SVN 1 7 再次使用 svn 目录 这是我在新版
  • CompletableFutures 并根据内部值进行过滤

    我现在有点困惑 所以我有一个应该返回的方法CompletableFuture
  • 实体框架代码首先插入方法挂钩

    我正在尝试将审核日志附加到我编写的实体中 我想知道是否存在可以覆盖的上下文中的挂钩以提供所需的功能 我想做的是 插入时运行方法 A 更新时运行方法 B 删除时运行方法C 我可以手动将其添加到控制器中 但我更喜欢更具体的解决方案 所需的效果是
  • Android:如何获取父View的ID?

    View getRoot 回报View 所以我们可以通过使用轻松找出哪个是根视图getResourceName View getId View getParent 虽然我期望它也会返回View这是父级 实际上只返回一个实例ViewParen
  • 如何使用 vim 键绑定在 Sublime Text 2 中插入垂直文本列?

    如何使用 vim 键绑定在 Sublime Text 2 中插入垂直文本列并缩进它 source yannesposito com http yannesposito com Scratch img blog Learn Vim Progr
  • 将刻度转换为日期时间

    该网站上有许多问题解释如何执行此操作 我的问题是 当我做似乎对其他人都有效的事情时 我没有得到正确的日期或时间 代码是 long numberOfTicks Convert ToInt64 callAttribute startDateTi
  • 用 animate() CSS3 替换 jQuery 幻灯片

    我在页面上有 jQuery SlideUp 和 Down 动画的性能非常糟糕 所以我想用 animate 或 css 替换滑动函数以利用 CSS3 动画 通常比 jQuery 更平滑 这是我的代码 jQuery close on click
  • Maven 在运行测试用例 Eclipselink 和 hsqldb 时挂起

    Using jps and jstack我可以找到有问题的等待线程 但不知道如何对其进行故障排除或导致它的原因 请参阅下面的 Maven 依赖项和jstack结果和等待线程tid 0x000000000022c000 进一步分析 似乎所选版
  • 防止添加新的 csproj 将 AnyCPU 添加回解决方案文件

    我们有一个解决方案 我们只想拥有x86平台 但每次我们向解决方案添加新项目时 它都会添加AnyCPU返回解决方案中的每个项目 删除所有的内容是很乏味的AnyCPU解决方案文件中的行 因为解决方案中有 70 多个项目 他们有什么方法可以配置
  • 如何将 ViewModel 属性作为模型传递给部分视图?

    我有一个名为 Log ViewModel 的 ViewModel 其中有 3 个属性 如下所示 public class LogViewModel public IEnumerable
  • laravel 4 中数组表单字段的验证错误

    我们如何验证数组形式的表单字段 看一下下面的代码 用户手机型号 public static rules array phonenumber gt required numeric isPrimary gt in 0 1 用户控制器 vali
  • 图表对象的粘贴方法在 Excel 2016 中未按预期工作

    我有一个代码 最近更新到 Excel 2016 显示出一些奇怪的故障 经过大量调试后 我发现其中一个错误是由 Excel 未能正确处理图像引起的 下面的代码有一个简单的目的 将工作表的已使用部分复制到图像 然后将该图像作为注释插入工作表中
  • 有什么方法可以控制 AVSpeechSynthesizer 输出到哪个音频通道?

    我想使用 AVSpeechSynthesizer 在多通道环绕声设置的一个音频通道上输出声音 例如 在 5 1 系统中 我希望它仅在右环绕声道上输出 现在我有 let synthesizer AVSpeechSynthesizer let
  • 如何在 iPhone 项目中包含 FFMpeg 库

    我在用iFrameExtractor提取帧 但是当我克隆该项目时 我发现 ffmpeg 框架中的几个文件丢失了 我努力尝试包含丢失的文件 但无法做到这一点 谁能解决这个问题或者给我链接FrameExtractor包含所有lib文件的类FFM
  • 外部触发 .NET 垃圾收集

    有没有办法从另一个进程或从 WinDBG 内部触发 NET 进程中的垃圾收集 当您跨越本机 托管边界时 有一些托管调试助手会强制进行集合 并且AQTime http en wikipedia org wiki AQtime似乎有按钮表明它可
  • RequiresApi 与 TargetApi Android 注释

    有什么区别RequiresApi and TargetApi 科特林示例 RequiresApi api Build VERSION CODES M TargetApi Build VERSION CODES M class Fingerp
  • 使用 -vsync 0 选项时,从 ffmpeg 中的 mp4 提取帧到 jpg 格式会产生错误

    我正在尝试使用 ffmpeg 从 mp4 视频中提取所有帧 我使用以下命令 ffmpeg i Users raimundbuehler recordings 2022 01 24 000 exports 001 world mp4 vsyn