使用管道直接从 np.array 高效地编写电影

2023-12-31

我有一个 4D numpy 电影帧数组。我正在寻找一个函数以给定的帧速率将它们写入电影。我的操作系统上安装了 FFMPEG,并且从这些答案中我可以看出 https://stackoverflow.com/questions/4092927/generating-movie-from-python-without-saving-individual-frames-to-files,最有效的方法是通过管道。

不过,我有经验很少使用管道,上面链接中的解释对我来说毫无意义。此外,很少有答案似乎实际上实现了管道,并且那个做的人 http://vokicodder.blogspot.com/2011/02/numpy-arrays-to-video.html使用 mencoder,而不是 FFMPEG。我对 FFMPEG 相对缺乏经验,因此不确定如何修改 mencoder 答案中的命令字符串以使其在 FFMPEG 中工作。

我想要什么:

具有以下形式的函数:

animate_np_array(4d_array, 帧速率) -> output.mp4 (或其他视频编解码器)

它实现了将帧一个接一个发送到 FFMPEG 的管道,我可以将其复制粘贴到我现有的代码中。

此外,绝对有必要该函数永远不会真正绘制任何帧,因为调用 matplotlib.imshow() 函数(正如我最常看到的那样)会大大减慢速度。


The 图像IO接口 http://imageio.readthedocs.io/en/latest/userapi.html提供了一种非常简单的方法来做到这一点:

import imageio
imageio.mimwrite('output_filename.mp4', np_array , fps = [an int])

虽然我不确定这是否使用管道,但它的速度非常快。

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

使用管道直接从 np.array 高效地编写电影 的相关文章

随机推荐

  • 实例构造函数设置静态成员,线程安全吗?

    我正在重构一些代码 并且想知道如何使用lock在实例构造函数中 public class MyClass private static Int32 counter 0 private Int32 myCount public MyClass
  • 付款交易发生时禁用后退按钮

    我有一个 XHTML 页面 在信用卡付款成功后调用 但当用户点击后退按钮时 他会再次充电 我该如何处理这个问题 方法是禁用后退按钮或在他按后退空格或后退按钮时使他的会话无效 我正在使用 Spring3 JSF 但这个问题与此参考无关 因为这
  • Python(服务器) Android(客户端) Socket编程

    我想制作一个将Python代码与Android Studio连接起来的程序 但是 android studio 上出现了一个问题 它没有显示任何我想在模拟器屏幕上显示的 UI 我认为这是由于 StrictMode 但如果我排除 Strict
  • 如何在没有任何错误或警告的情况下查找构建失败的原因

    我有一个 WebApplication 其中包含对 WCF 服务的引用 使用 Visual Studio 2010 生成时 生成失败 且没有任何错误或警告 然而建设 csproj using MsBuild是成功的 无法弄清楚我应该在 Vi
  • Torch 张量相当于 matlab 的“查找”功能?

    简而言之 我想知道 torch 中是否有一个张量命令可以为我提供满足特定条件的张量中元素的索引 下面是 matlab 代码 说明了我希望能够在 torch 中执行的操作 my mat magic 3 returns a 3 by 3 mat
  • 如何创建一个包含 2 列的列表视图,显示所有已安装的 Android 应用程序及其权限?

    我是 Android 开发的新手 2 天前 我打算创建一个应用程序 列出设备中当前安装的所有应用程序 并在每个结果旁边有一列显示授予的权限 我知道按照惯例 listView 有 1 列 如何制作另一列 我也愿意接受其他想法 就像当我单击已安
  • 如何在android中设置包含背景颜色

    如何设置背景颜色include安卓中的标签 这不起作用
  • Exoplayer 视频加载速度

    我正在寻找在我的项目中实现 exoplayer 我已经成功实现了 但是视频加载时间很慢 如何在exoplayer中实现或实现视频的快速加载 就像抖音一样 立即加载视频并开始播放 尝试下面的代码 它使缓冲时间变小 因此您可以更快地加载视频 M
  • Umbraco 缓存问题

    我的 umbraco cms 遇到问题 我们使用 umbraco 4 6 2 和 net 用户控件 一切都运行良好 直到几周前 客户开始抱怨更新的内容没有显示在前端 经过一番调查后 我确定就在这种情况开始发生之前 其中一个用户遇到错误 指出
  • 将 $scope 注入过滤器 (AngularJS)

    我正在尝试做的事情 我在关联数组上使用 ng repeat 指令 我想对其进行过滤 内置角度过滤器不适用于关联数组 哈希 因此 我正在尝试编写自己的过滤器 灵感来自http angularjs de artikel angularjs ng
  • 如何在matlab中求解双系数符号方程?

    我有二次方程 1 x 1 a x 1 3 a x 我想在matlab中解决这个问题 solve 1 x 1 a x 1 3 a x x ans 4 3 1 3 7 1 2 a 4 3 1 3 7 1 2 a 有没有办法用浮点系数求解方程 喜
  • Onclick 更改

    有没有办法让右边一次出现一个 并通过滑动显示 这是我用来调用的代码
  • laravel 5 更改应用程序目录以匹配命名空间[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如果您想重命名应用程序文件夹 这只是实现此目的的几种方法之一 1 run php artisan app name YourNamespac
  • 使用 OCR 识别的文本去模糊图像

    I have an image that is blurred This is a part of the business card and it is one of the frames taken by the camera and
  • 从屏幕底部滑动/拖动 Android 视图

    我想在我的应用程序中做一个可以从窗口底部滑动的视图 下面的图像更好地解释了它 我希望视图在某个点停止 该视图必须允许再次将其滑动 拖动到底部 关于如何做到这一点的任何想法或提示 我想你正在寻找一个ViewDragHelper API文档 h
  • PSQL 和 Django 2 的典型“关系“auth_user”不存在”

    编辑 已解决 我有一行像creator models ForeignKey User on delete models CASCADE default User objects first id 这就是问题所在 当我把它改成creator
  • 如何使用 JavaScript 添加一个按钮来全屏播放 YouTube 视频?

    我正在编写一个 Google Chrome 扩展程序 其中嵌入了 YouTube 视频 然后 我在下面添加了一个按钮 允许用户单击以全屏播放该视频 a href Play full screen a 这项工作是通过 JavaScript 和
  • unicode_literals 和 type()

    我在支持 python2 和 python3 时遇到问题type 称呼 这说明了这个问题 from future import unicode literals name FooClass type name dict 在python3上没
  • 如何在 BIRT 中通过 URL 传递输入参数?

    我是 BIRT 报告新手 在我的 BIRT 报告中 我有两个输入参数 我想通过查询字符串 在 URL 中 将这两个输入参数传递给服务器 我怎样才能做到这一点 如果问题只是获取正确的 URL 则类似于 YOUR SERVER your bir
  • 使用管道直接从 np.array 高效地编写电影

    我有一个 4D numpy 电影帧数组 我正在寻找一个函数以给定的帧速率将它们写入电影 我的操作系统上安装了 FFMPEG 并且从这些答案中我可以看出 https stackoverflow com questions 4092927 ge