以可变帧速率逐帧创建 Motion JPEG

2024-01-05

我正在分析我手头问题的多种解决方案:我正在从设备接收图像,我需要从中制作视频文件。然而,图像到达时它们之间有一定的随机延迟,我正在寻找对其进行编码的最佳方法。我必须逐帧创建此视频,并且在每一帧之后我必须使用新帧创建一个新视频文件,替换旧视频文件。

我正在考虑将帧速率固定为比我可能得到的最小延迟“更快”一点,然后重复最后一帧直到新帧到达,但我想这个解决方案并不是最佳的。

另外,这个项目是用 Delphi 制作的(不,我无法更改它),我需要在每一帧之后将这些帧转换为视频文件的方法。我正在考虑使用mencoder http://www.mplayerhq.hu/design7/news.html作为外部工具,但我正在阅读文档,但仍然没有找到使其在已编码的 Motion JPEG 视频文件中插入帧的选项。由于我的图像以 JPEG 形式出现,我认为使用 Motion JPEG 是合理的,但目前还不确定。另外,我不知道mencoder是否可以用作库。如果这样做的话会有很大帮助。

你有什么建议?


有一些媒体容器格式支持可变帧率 http://en.wikipedia.org/wiki/Comparison_of_container_formats,但由于存储开销,我认为 MJPEG 不是一个好的选择。我相信最好的方法是使用 I 帧和 P 帧将 JPEG 帧转码为 MP4 格式。

您可以使用FFMPEG Delphi/FP 头文件 http://www.iversenit.dk/dev/ffmpeg-headers/用于转码。

Edit:

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

以可变帧速率逐帧创建 Motion JPEG 的相关文章

  • TFrame继承重构

    我提出的另一个 TFrame IDE 注册组件问题 感谢各位程序员的帮助 尝试 Darrian 的 TFrame 继承建议here https stackoverflow com questions 382562 delphi visual
  • Delphi Prism 中 TStringList 的替代品。

    我正在将用 Delphi 2007 Net 编写的应用程序迁移到 Delphi Prism 哪个是替换 TStringList 和 TStrings 类的最佳选择 提前致谢 Bye 只需使用 NET 框架中内置的 List 类型 或者字符串
  • 为什么 TImage 旋转我的图像?

    编写一个移动应用程序 它从安全网站提取图像 如下所示 第一个图像 提取不正确 注意网络版本与移动版本 第二个图像在网站上正确显示 但 Delphi TImage 由于某种原因正在旋转它我不明白为什么 旋转设置为 0 并且在 TImage 组
  • 有用的 Delphi 代码模板

    我用 Delphi 编程已经两年多了 我大概只有 5 个自定义模板 我觉得我应该有更多 如果有人有任何特别有用的东西 那么在 stackoverflow 上有一个很好的存储库就太好了 我不在乎您使用的是 Delphi 2009 语法还是 D
  • Flutter :已处置的 CameraController,在已处置的 CameraController 上调用了 buildPreview()

    如何正确初始化和处理相机控制器 我在用camera 0 9 4 5 与许多人一起 其他错误 https stackoverflow com questions 70592464 flutter change the path of reco
  • 将多个视频文件合并到一个文件中

    我有多个以相同帧速率和分辨率录制的视频 我想将两个视频合并为一个视频 因此结果文件将是大视频 我正在使用 MP4 解析器 api 并使用下面的代码 Movie countVideo new MovieCreator build Channe
  • Apache-FOP - 减少嵌入到 PDF 中的图像大小

    我有很多 JPG 图像 应该嵌入到生成的 PDF 中 它们的分辨率相当大 每个大约 5 10MB 我想将它们作为预览嵌入到 PDF 中 并且我正在使用适合比例的 XSL FO 属性 图像在正确调整大小的 PDF 中显示 但生成的 PDF 的
  • 使用 FFMPEG 添加覆盖并最少重新编码

    FFMPEG 对于剪切视频的一部分非常有用 而无需重新编码视频 我知道也可以使用 FFMPEG 添加叠加图像到视频的某个部分 例如从 10 秒到 20 秒 我的问题是 如果我对图像进行叠加 整个视频是否会因此而重新编码 或者只对相关的持续时
  • 在 Twitter 上上传视频的最佳方式

    我必须从我的 java 应用程序将视频上 传到 Twitter 发布带有视频的推文文本 我使用 twitter4j 上传图像 效果很好 我对上传视频的最佳方式感到困惑 我在这个链接中找到了https github com mrisney t
  • 使用 Java 编辑 jpeg EXIF 数据

    我想编辑 jpg 文件的属性 例如 评论 标题 拍摄日期 相机制造商等 我找到了读取这些数据的库 但我需要一个free带有示例的库edit them 我知道 apache 的成像 sanselan 但我无法用它编辑数据 如果您以前自己使用过
  • VirtualStringTree 正确/推荐使用

    我已经使用 virtualstringtree 一段时间了 我将它用于两个不同的用途 第一个是用于选择 显示数据的普通树 第二个是作为网格来显示 SQL 语句的输出 我加载到树中的所有数据都来自数据库 对于树示例 我有一个 ParentId
  • 如何检查文件是否有备用数据流?

    Delphi 有没有办法检查文件是否有任何备用数据流 看一下 Win32 APIFindFirstStreamW https msdn microsoft com en us library windows desktop aa364424
  • 什么是代码页 0?

    我正在使用Delphi函数 StringCodePage 我在 COM 函数 Acrobat Annotation getContents 请参阅我的其他帖子 返回的字符串上调用它 它返回 0 0是什么 安西 代码页 0 是 CP ACP
  • 加载 HTML 格式的大型视频文件

    这是我的问题 我想播放存储在 S3 存储桶中的大型视频文件 3 6Gb 但该文件似乎太大 并且加载 30 秒后页面崩溃 这是我播放视频的代码 var video document getElementById video const med
  • 如何使用 IdTCPClient 等待来自服务器的字符串?

    我的 IdTelnet indy 10 1 有问题 我无法以 Unicode 模式从服务器读取数据 现在我想用 IdTCPClient 编写 telnet 终端 服务器有时发送一行 有时发送越来越多的行 但发送之间没有固定的时间 现在我的问
  • 在 XMLDocument 中使用 DocumentElement 时发生访问冲突

    当我尝试使用时 我总是遇到访问冲突DocumentElement of the XMLDocument 我创造XMLDocument基于某些文件的存在 错误信息 项目project1 exe引发异常类EAccessViolation 消息
  • 指针^ 与 s[1]

    在读取数据的函数中 数据含义只字符串 从磁盘 我应该更喜欢哪个 哪个更好 A DiskStream Read Pointer s Count or B DiskStream Read s 1 Count Note 我知道两者都有相同的结果
  • ffmpeg计算视频比特率

    我想知道如何计算该视频的比特率 http jell yfish us media jellyfish 30 mbps hd hevc mkv http jell yfish us media jellyfish 30 mbps hd hev
  • 如何在 vc++ 中使用samplegrabber?样本采集器未定义

    在视觉社区 2015 我有一个 C 项目 在 cpp 文件顶部我有 include stdafx h include VideoCaptureFilterSample h include VideoCaptureFilterSampleDl
  • 为什么不提高EInvalidPointer?

    德尔福文档状态 http docwiki embarcadero com Libraries en System SysUtils EInvalidPointer 切勿提出E无效指针直接异常 E无效指针由内存管理器内部引发 我正在编写一个自

随机推荐

  • 合并GIT中合并分支的历史记录?

    在我的 git 存储库中 我已将分支 B 合并到 master 中 得到以下结构 gt A gt B gt C gt D branch master F gt G gt H branch B 我现在想合并分支以获得以下历史记录 gt A g
  • WPF - 设置 Horizo​​ntalAlignment= 拉伸到 StackPanel 中的文本框

    为什么文本框不拉伸以填充堆栈面板中的空间 这是设计使然吗 在网格中 文本框按预期拉伸 是的 这是设计使然 这StackPanel将分配空间TextBox要求 如果你还没有设置宽度TextBox 它只需要足够的宽度来容纳其文本
  • 在 jQuery 中查找匹配的类名

    我在一个页面中有一系列图像缩略图 它们是使用 CSS 精灵创建的 div class galleryImg1 div div class galleryImg2 featured div div class galleryImg3 div
  • Winsock 使用系统代理设置

    我有一个简单的winsock 程序 我想通过系统代理传递我的连接 我看到一些帖子解释了如何捕获系统代理然后发送如下字符串 CONNECT 127 0 0 1 8080 HTTP 1 0 r n 等等 但它并不总是有效 另一方面 当使用 Wi
  • 等待时显示正在加载的内容/图像

    我有一个 ASP 页面 可以进行一些后端处理 它调用一个存储过程 如果该过程完成 该存储过程将返回一个状态值 整个处理时间可持续大约 10 30 秒 具体取决于输入数据量 在这段时间里 我想显示一个正在加载的图像或文本会比仅仅显示一个空白页
  • 从 Python 中使用“子进程”调用 Java 应用程序并读取 Java 应用程序输出

    读取从 Python 调用的 Java 应用程序的输出 即通过 System out println 的最好方法是什么 subprocess Popen java MyClass shell True 无需写入和读取文件 使用 Jython
  • 在 Azure 上部署的 .Net Core 3.1 Web 应用程序显示错误 HTTP 错误 500.35 - ANCM 同一进程中的多个进程内应用程序

    我已经将一个 Web 应用程序部署到我们的 Azure 中 使用最新的 net core 3 1 堆栈 该应用程序分为 3 个虚拟应用程序 在同一 Web 应用程序部署下运行 这似乎是导致问题的原因 我可以访问主应用程序位于根目录http
  • 在 Android Studio 中添加生成的 R.java 文件的文档

    在我的 Gradle 脚本中 我创建了一个 Javadoc 任务 它为我的 java 文件和自动生成的 R java 生成文档 以便为我的 XML 资源创建链接 我正在使用 Doclava 甚至 attrworks 正如预期的那样 http
  • 将 Web 配置 *elements* 替换为 msdeploy 参数

    我们使用 msdeploy 如果您愿意 也可以使用 web 部署 来打包和部署 Web 应用程序 通过声明参数包时间 我们可以在部署时提供值 以替换连接字符串等 我们当前面临的问题是替换 Web 配置中 applicationSetting
  • 没有选中属性的复选框

    我一直在动态地将复选框添加到表中的每一行 datatables net 但是 当我选中这些框时 html 不会显示任何已选中的属性 这不允许我只关注已选中复选框的行 如果我设置带有选中属性的复选框 那么是的 选中属性是可见的 这里的代码显示
  • DocumentPaginator 可以与任何 Visual 一起使用吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 打印任何视觉效果都很容易 打印大于一页的纸张很困难 我被困住了 这些文档很少 我已经尽力了 我想知道是否有人有一个扩展 DocumentP
  • nvd3.js - 折线图中更大的点

    我正在搜索如何使用 nvd3 js 在折线图中显示更大的点 但我没有找到任何东西 有人可以帮我吗 我希望这些点能够在图表线上轻松可见 Thanks 查看简单折线图中生成的输出后 您可以添加此 CSS 以使所有点可见 nvd3 nv grou
  • move:文件名或扩展名太长

    我在 bat 文件中编写了一个小脚本 用于在计算机上创建文件夹的备份 rmdir Folder Backup Old S Q move Folder Backup Folder Backup Old mkdir Folder Backup
  • 如果我有超过 26 个选项,如何使用 C++ getopt_long()?

    这是一个相当假设的问题 但假设我有 3 个以同一字母开头的长参数 parse or p prune or r pivot or i 最终我会开始用完有意义的单个字母 而且 很难在其中分配一些有意义的东西GNU getopt long htt
  • 无法加载资源 404(未找到)- 文件位置错误?

    我正在构建一个 Angular 2 应用程序 我刚刚升级到 Net Core RC2 升级之前 我的网页可以正常显示 但现在我的 Chrome 开发工具控制台中出现错误 Failed to load resource the server
  • PATCH 方法是否应该返回响应正文中资源的所有字段?

    PATCH 方法是否应该返回响应正文中资源的所有字段 或者它应该只返回更新的字段 我正在阅读this https www rfc editor org rfc rfc7386 例如 如果它只返回更新的字段 则用户可以知道服务器中哪些字段被更
  • 有哪些技术可以为 Python 3 创建独立的可执行文件?

    以外CX 冻结 http cx freeze sourceforge net 当前是否有其他维护的工具套件可以为 Python 3k 生成独立的可执行文件 是否还有其他技术可以最大限度地减少 Windows 下的预安装要求 目前似乎没有其他
  • 自定义 d3 月或年刻度格式

    所以我在d3中制作了一个图表并使用默认的x轴格式 d3 axisBottom x 输出如下图 如何手动创建和自定义此格式 特别是 我想使用简短的月份名称 例如 Oct 这样 October 就不会掩盖下一年的标签 Use tickForma
  • jQuery attr href,为什么它不起作用?

    我认为以下代码行应该可以正常工作 1 attr href Home Right 但为什么当我将它与另一个 jQuery 脚本集成时它不起作用 window bind load function 1 click function 1 remo
  • 以可变帧速率逐帧创建 Motion JPEG

    我正在分析我手头问题的多种解决方案 我正在从设备接收图像 我需要从中制作视频文件 然而 图像到达时它们之间有一定的随机延迟 我正在寻找对其进行编码的最佳方法 我必须逐帧创建此视频 并且在每一帧之后我必须使用新帧创建一个新视频文件 替换旧视频