FFmpeg 无需解码视频即可获取运动向量

2023-12-01

我想访问 h264 视频流的运动向量而不解码视频。我知道这显示了视频和运动矢量:

ffplay -i myvideo.avi -flags2 +export_mvs -vf codecview=mv=pf+bf+bb

如何避免解码整个视频以节省 CPU?我想要这样做的原因是我需要在 Python 中解析这些数据。

编辑 我尝试使用ffprobe with

ffprobe -i my_video.mp4 -flags2 +export_mvs -print_format json -show_frames

它打印了很多信息:

  {
            "media_type": "video",
            "stream_index": 0,
            "key_frame": 0,
            "pkt_pts": 2513990,
            "pkt_pts_time": "27.933222",
            "pkt_dts": 2510990,
            "pkt_dts_time": "27.899889",
            "best_effort_timestamp": 2513990,
            "best_effort_timestamp_time": "27.933222",
            "pkt_duration": 3000,
            "pkt_duration_time": "0.033333",
            "pkt_pos": "1157994",
            "pkt_size": "262",
            "width": 1280,
            "height": 720,
            "pix_fmt": "yuvj420p",
            "sample_aspect_ratio": "1:1",
            "pict_type": "P",
            "coded_picture_number": 559,
            "display_picture_number": 0,
            "interlaced_frame": 0,
            "top_field_first": 0,
            "repeat_pict": 0,
            "color_range": "pc",
            "color_space": "bt709",
            "color_primaries": "bt709",
            "color_transfer": "bt709",
            "chroma_location": "left",
            "side_data_list": [
                {
                    "side_data_type": "Motion vectors"
                }
            ]
        },

尽你所能,Motion vectors中提到了side_data_type。我怎样才能打印它们? 我尝试过

ffprobe -i my_video.mp4 -flags2 +export_mvs -print_format json -show_frames -show_entries side_data="Motion vectors" 

但似乎没有添加任何信息。我可以改变"Motion vectors" 没有错误的任何其他值,所以我猜这不是指向正确的数据。


None

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

FFmpeg 无需解码视频即可获取运动向量 的相关文章

随机推荐

  • 安装 respinned/定制 centos 时出错

    我关注此链接的目的是使用从互联网下载的一些额外软件包 例如 ABCD rpm 创建自定义 CentOS ISO https wikis uit tufts edu confluence display TUSKpub Build Custo
  • Android Studio Gradle 升级到版本 0.5.0 时出现问题 - Gradle 从 0.8 迁移到 0.9 - Android Studio 也升级到 0.8.1

    升级后消息指出 Failed to refresh Gradle project XXX The project is using an unsupported version of the Android Gradle plug in 0
  • 彻底删除Javascript

    我有一个网站 它有固定的菜单 标题等 并根据菜单点击通过 AJAX 加载主要内容区域 这些 页面 依赖于大量的 Javascript 和 CSS 每个页面都是单独的 由于用户可能会访问许多页面 因此我想卸载特定于页面的 JS 和 CSS C
  • 定义自定义系统类加载器

    我试图告诉 JVM 使用我的自定义类加载器作为默认类加载器 这是我用来选择班级的 VM 参数 Djava system class loader JarClassLoader 这是我得到的错误 Error occurred during i
  • Pandas 在多列上左外连接多个数据帧

    我是使用 DataFrame 的新手 我想知道如何对一系列表的多个列执行相当于左外连接的 SQL Example df1 Year Week Colour Val1 2014 A Red 50 2014 B Red 60 2014 B Bl
  • 使用 HTTP Post 将数据从 Excel 发送到服务器

    如何使用 HTTP Post 将数据从 Excel 发送到服务器 假设 URL 是 http testingHttpPost 我想从单元 A2 和 B2 发送数据 我该如何在 VBA 中完成这个工作 提前致谢 Sub XMLPost Dim
  • 如何在 Android Studio 中创建使用 Google Maps Api v2 的 Android 应用程序?

    我在 Android Studio 尝试使用 GoogleMap 创建应用程序时遇到了很多麻烦 我之前按照以下指南使用 Eclipse 作为 IDE 几乎 没有出现任何问题 https developers google com maps
  • JavaScript 异步生成器

    是否可以编写如下所示的异步生成器 function gen return async function yield await yield await yield await 所以人们可以像这样使用它 例如 for let val of a
  • BCryptHelper.CheckPassword 始终返回 false

    我正在使用 BCrypt 实现密码哈希 这应该非常简单易用 但是 当使用哈希密码检查密码时 BCryptHelper CheckPassword Password hashedDBPassword 这总是返回 false 这是我的哈希类 p
  • docker postgres pgadmin 本地连​​接

    我用 nginx php 和 postgres 创建了一个 ubuntu 镜像 我想连接当前图像中的 postgres 数据库pgadmin位于我的本地计算机上 我尝试使用 docker Inspector 尝试使用图像 ip 与本地 pg
  • 是否可以使用 Java 在 Intellij 运行时清除控制台选项卡?

    我试图在 Java 运行时清除 Intellij 中的控制台选项卡 有任何想法吗 这是我尝试过的 System out print 033 143 public static void clrscr Clears Screen in jav
  • 矢量迭代器与 const vector& 不兼容

    我正在编写图表程序 在这个程序中 我有一个方法 它必须返回源自顶点的弱组件内的顶点 我收到 错误 向量迭代器不兼容 struct graph std vector
  • 如何将流转换为生成器而不泄漏承诺的解析

    我有一个流 我需要将其转换为生成器 以便上传者可以使用通用生成器 这意味着转动 stream on data chunk gt to generator streamGenerator stream chunk await generato
  • 带两个提交按钮的 Laravel 表单

    我的更新表单需要两个提交按钮 当前设置 目前 当我点击提交时 它会保存我的数据并将我重定向到另一个页面 我可以在其中编辑多个图像 所以我的表单就像两步函数 我想添加什么 我想添加另一个按钮以便保存我的数据并将我返回到索引页面 跳过第二步 最
  • 我可以将自定义字体上传到大卡特尔吗

    我在名片上使用了某种字体 为了保持一致性 我想在我的网站上使用它们 我找不到上传字体的方法 并且在自定义菜单中找不到它 帮助将不胜感激 是的 您可以使用 CSS 中的 fontface 功能上传自定义字体 但您需要有权访问服务器来存储和上传
  • Unity - 检查播放器是否接地不起作用

    我希望玩家在落地时跳跃 private void OnTriggerStay Collider other if other gameObject layer 8 isGrounded true else isGrounded false
  • 如何将单元格值设置为日期并应用默认的 Excel 日期格式?

    一段时间以来 我一直在使用 Apache POI 以编程方式读取现有的 Excel 2003 文件 现在我有一个新要求 在内存中创建整个 xls 文件 仍然使用 Apache POI 然后将它们写入最后的文件中 阻碍我的唯一问题是处理带有日
  • 在VB.NET中捕获功能键F1..F12 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 I cannot capture the functi
  • 未找到续集关联者

    我有一个项目正在尝试使用sequelize 它可以很好地创建数据库和表 但它永远找不到关联类方法 因此它永远不会调用关联方法 此代码可以很好地创建表 使用导入方法 但 Object keys db 会迭代每个模型 但它永远找不到关联方法 f
  • FFmpeg 无需解码视频即可获取运动向量

    我想访问 h264 视频流的运动向量而不解码视频 我知道这显示了视频和运动矢量 ffplay i myvideo avi flags2 export mvs vf codecview mv pf bf bb 如何避免解码整个视频以节省 CP