C# - 提取图像时解析 ffmpeg 标准输出

2023-11-24

我通过从我的 C# 代码启动 ffmpeg 进程来提取单个视频帧。默认行为是将这些图像写入磁盘。 然而,为了加快处理速度,我想重定向 ffmpeg 标准输出以接收流并在我的程序中进一步处理它。

我正在使用与此类似的参数:

-i \"" + Filename + "\" -vf \"scale=640:-1\" -an -vframes 100 -r 1 -f image2 -

这将字节流重定向到标准输出,我可以使用它重定向到我的程序process.StartInfo.RedirectStandardOutput = true.

这对于电影流可能工作得很好,因为我只有一个输出,但是上面的调用会产生 10 个单个图像(写入硬盘时),如何从标准输出解析字节流并将其拆分为单个文件?


我找到了一个似乎有效的解决方案,但奇怪的是没有在ffmpeg 文档: Use image2pipe作为输出格式。

所以对于上面的例子来说,它是:

-i \"" + Filename + "\" -vf \"scale=640:-1\" -an -vframes 100 -r 1 -f image2pipe -

这会将字节流重定向到标准输出并允许捕获和解析图像

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

C# - 提取图像时解析 ffmpeg 标准输出 的相关文章

  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • 转换 JSON 格式(分组依据)

    我有这样的 JSON 对象 name cat value 17 group animal name dog value 6 group animal name snak value 2 group animal name tesla val
  • 递归搜索非二叉树中的节点

    我想在非二叉树中搜索一个项目 任何节点都可以有 n 个子节点 并立即退出递归 所讨论的节点可以是任何节点 而不仅仅是叶子节点 这是我的代码 但我没有得到完整的搜索 private nNode recursiveSearch data gi
  • 在 Django 中运行 PHP

    有没有办法在 django 中运行 PHP 脚本 我在 TinyMCE 中有一个运行 PHP 脚本的插件 并且它能够使用 XAMPP 的 Apache 工作 然而 Django确实支持PHP脚本的运行 因此该插件无法工作 我想知道是否有办法
  • PHPExcel 合并单元格上的行自动高度/换行文本

    有没有在 PHP Excel 中设置行自动高度的好方法 到目前为止 我已经看到您可以使用固定高度 您可以预先指定您想要的行的高度 我还发现 如果您不使用合并单元格 则可以使用自动高度 PHPExcel 合并单元格的动态行高 如何在phpex
  • 修复生成条形码时“GDI+ 中发生一般错误”的问题

    我正在用 C 编写一个条形码生成器 我可以将条形码生成为位图 并可以在 Picturebox WindowsForms 中显示它们 另一方面 我无法将条形码保存为 gif 或 jpeg 文件 我的条形码是位图文件 这是我的代码 Bitmap
  • Safari/Chrome 开发者工具调试 CSS 覆盖

    Safari Chrome 开发者工具通过删除 CSS 规则来指示 CSS 规则被其他内容覆盖 如图所示 有时我发现自己无法从 CSS 文件中找出导致该规则被忽略的原因 但 Safari 本身肯定会在它击穿它时知道这一点 有没有办法知道什么
  • 客户端 (JS) 和服务器 (PHP) 中的 AES 256

    我尝试使用相同类型的操作 即 AES 256 在服务器端和客户端上加密和解密数据 在服务器上我使用 PHP 客户端我使用 CryptoJS 到目前为止我只能在服务器上加密和解密客户端 请参阅代码 JS
  • R RPostgreSQL 使用 SSL 连接到远程 Postgres 数据库

    我正在尝试使用 R 从内部连接到远程 PostgreSQL 数据库RPostgreSQL包 并且我收到似乎与连接的 SSL 设置相关的错误 我已经验证我可以使用命令行进行连接psql 所以我知道连接是有效的并且可以从我的计算机访问 我在 R
  • 尝试运行 flutter 应用程序时“无法连接到lockdownd”

    我正在关注开始使用教程 我可以安装一切 flutter doctor返回所有复选标记 但最后有一条消息 idevice id 返回错误 错误 无法连接到lockdownd 错误代码 2 如果我尝试使用运行该应用程序 则会出现相同的消息flu
  • 我可以像其他库一样将 JointJS 作为 AngularJS 模块注入吗?

    我有一个带有角度的应用程序 我需要使用这个库http www jointjs com 所以我下载了 joint min js 和 joint min css 并将它们的路由放在 index html 中 但我不知道在 app js 中放入什
  • SQL 选择特定行周围的“窗口”

    以前很可能已经问过这样的问题 但我想不出要搜索的术语 我正在开发一个照片库应用程序 想要显示 9 个缩略图 显示当前显示的照片的上下文 在 3x3 网格中 当前照片位于中心 除非当前照片位于显示的前 4 张照片中 在这种情况下 例如 如果当
  • PHP 函数调用位置

    考虑这个片段 function f return hi echo f 对比这个片段 echo f function f return hi 当我运行脚本时 它们都会产生相同的结果 那太棒了 但我的问题是 我在任何搜索中都找不到好的答案或参考
  • 为什么以及在什么意义上 pthread_t 是一个不透明类型?

    SO 上的帖子表明pthread t是一个不透明类型 不是数字 当然也不是线程索引 您不应该直接比较pthread t的等等等等 问题 为什么 是否真的有意支持没有线程数字 ID 的系统 当 的时候pthread t实施很简单 typede
  • NInject 可以按需加载模块/组件吗?

    NInject 中是否有设施允许我像在 Unity 中一样按需从其他模块 程序集 加载服务 我很确定这就是您正在寻找的 var kernel new StandardKernel kernel Load Assembly Load your
  • Android:活动开始时明确聚焦于编辑文本

    我的应用程序中有一些设置页面 一旦活动直接开始 它就会集中到编辑文本 我使用以下代码来清除焦点
  • 如何摆脱 StyleCop

    我们团队中的某人安装了 StyleCop 从那时起 除非安装了 stylecop 否则他加载并致力于源代码控制的所有项目都拒绝加载 我知道我可以手动编辑 csproj 文件来删除它 但是有没有一种简单的方法可以自动从项目文件中删除这些 st
  • 如何在flutter中覆盖其他应用程序?

    我想要即使我的 flutter 应用程序已关闭 也会显示警报框或弹出警报框 类似于这张图片 你可以检查这个插件系统警报窗口 一个 flutter 插件 用于在所有其他应用程序上显示 Truecaller 之类的覆盖窗口以及回调事件
  • PostgreSQL - 从数据库转储恢复一张表

    如何从数据库转储中恢复一张表 我使用下一个命令进行转储 pg dump U admin h localhost my db name gzip gt home a2 db backup my db name backup sql gz 没有
  • 使用 Delayed::Job 管理多个作业队列

    我想使用 Delayed Job 或者可能是更适合我的问题的作业队列 将作业分派到多个后台守护程序 我有几个执行不同职责的后台守护进程 每个人都对 Rails 应用程序队列中的不同作业感兴趣 使用 Delayed Job 是否可以做到这一点
  • C# - 提取图像时解析 ffmpeg 标准输出

    我通过从我的 C 代码启动 ffmpeg 进程来提取单个视频帧 默认行为是将这些图像写入磁盘 然而 为了加快处理速度 我想重定向 ffmpeg 标准输出以接收流并在我的程序中进一步处理它 我正在使用与此类似的参数 i Filename vf