如何在 Android 中从一组图像创建视频?

2024-01-08

我想调用一个函数并从图像列表中构建视频,然后将其保存在设备本地:

public void CreateAndSaveVideoFile(List<Bitmap> MyBitmapArray)
{
   // ..
}

Trials:

  • 下列的java/xuggle - 将图像数组编码到电影中 https://stackoverflow.com/questions/6933708/java-xuggle-encode-array-of-images-into-a-movie,答案中的链接是死链接

  • 下列的如何在Java中通过编程将图像编码成视频文件? https://stackoverflow.com/questions/37963625/how-to-encode-images-into-a-video-file-in-java-through-programming,接受的答案中建议的库不支持Android。

  • 上面的下一个答案有一个针对 Android 用户的方法,但我不清楚该函数的输入和输出(他在哪里提供图像?他从哪里获得视频?) - 我留下了问题评论

  • 上面的下一个答案提供了整个类,但是要包含的所需库有一个损坏的文件(当我尝试从提供的链接下载它时) - 我留下了一个问题评论

  • 下列的Java:如何从图像数组创建电影? https://stackoverflow.com/questions/8856757/java-how-do-i-create-a-movie-from-an-array-of-images,顶部答案中建议的库使用了我不熟悉的命令,我什至不知道如何使用它们。喜欢:

从当前的所有 JPEG 文件创建 MPEG-4 文件 目录:

mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi

我不知道如何在 Java / Android 项目中使用上面的内容。

任何人都可以帮助指导我或/并为我提供完成任务的方法吗?提前致谢。


您可以使用jcodecSequenceEncoder将图像序列转换为 MP4 文件。

示例代码:

import org.jcodec.api.awt.SequenceEncoder;
...
SequenceEncoder enc = new SequenceEncoder(new File("filename"));
// GOP size will be supported in 0.2
// enc.getEncoder().setKeyInterval(25);
for(...) {
    BufferedImage image = ... // Obtain an image to encode
    enc.encodeImage(image);
}
enc.finish();

它是一个 java 库,因此很容易将其导入到 Android 项目中,您不必像 ffmpeg 那样使用 NDK。

Refer http://jcodec.org/ http://jcodec.org/示例代码和下载。

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

如何在 Android 中从一组图像创建视频? 的相关文章

  • 带有垂直选项卡的 Android 布局 - 设计类似于 hello 短信应用程序

    Can somebody please help me out in designing vertical tabs like in the given pic taken from hello sms app 我不要求提供代码片段 所以请
  • Dagger 2 不会注入我的对象,但可以从组件中获取

    我有我的组件 GithubListActivityScope Component modules GithubListActivityModule class GlideActivityModule class public interfa
  • 如何修复 Kotlin JobCancellationException?

    由于 Kotlin JobCancellationException 我发生了崩溃 以下是有关崩溃的详细信息 kotlinx coroutines JobCancellationException Job was cancelled job
  • 如何使用 Espresso 访问外部网站上的元素

    使用 espresso 我们单击 登录 按钮 该按钮将启动一个外部网站 Chrome 自定义选项卡 您可以在其中登录 然后重定向回我们的 Android 应用程序 Espresso 有没有办法 1 验证正在启动的 URL 是否正确2 访问网
  • 如何突出显示在 Textview android 中单击的单词

    我正在创建一个应用程序 在其中我从 EditText 中的用户获取输入 现在 单击按钮后 输入的字符串将显示在 TextView 中 现在我的问题是 当用户单击任何单个单词时 我会使该单词在 TextView 中突出显示 例如 用户输入 你
  • Eddystone Beacon 中广播的 MAC ID 会改变吗?

    我将描述我的设置 我制作了一个模拟 Eddystone 信标的 Android 应用程序 我能够使用 PlayStore 中的 Beacon Toy 应用程序检测手机上的 Eddystone 信标 但问题是 自上次检查以来 显示的 MAC
  • 无法创建变体“android-manifest-metadata”

    我在 Playstore 上上传了我的应用程序 bundle aab 方法 它在 android 6 0 上运行正常 没有错误 但在 android 7 0 设备上出现错误 并且无法运行该应用程序 我使用了 Gradle 构建类路径 3 1
  • 为什么Volley的onResponse没有被调用

    我正在通过 Volley 获取 json 数据 我遇到的问题 那是凌空的onResponse从未被调用 因此不会解析和显示数据 JSON 数据示例 title This is a sample text title title cat or
  • Android Studio 1.2.1.1 中 Gradle 项目刷新失败

    我在全新安装的 Android Studio v 1 2 1 1 上创建了示例项目 但遇到了以下错误消息 Gradle project refresh failed in Android Studio 1 2 1 1 见下图 所以我试图在谷
  • 如何在 Android 中启用/禁用日志级别?

    例如 我有很多日志语句需要调试 Log v TAG Message here Log w TAG WARNING HERE 在设备电话上部署此应用程序时 我想关闭详细日志记录 我可以在其中启用 禁用日志记录 The Android 文档对日
  • 运行时高压缩的 AS3 视频编码(H.264?)

    我需要在运行时将 AS3 中的视频图像数据 比如说显示对象 压缩为高压缩的字节数组 帧速率只需在 5 左右 但 1024x768 视频需要达到 使用 JPG 或 PNG 编码器可提供更高的 KB s 有没有开源方法可以在运行时对 as3 中
  • 某些设备上的启动画面扭曲

    我在修复 Android 上的启动画面扭曲问题时遇到问题 我正在使用 React Native 请注意 这种情况仅发生在某些设备上 例如 我有一台 Android 版本为 4 2 2 的三星 启动画面不扭曲 而 Android 版本为 8
  • android 销毁时是否有任何视图回调?

    我有一个自定义视图组件 我在片段或活动中使用了它 我想知道当它从片段 活动中销毁时是否有回调 View 没有回调 除了finalize 但我不认为这就是你所要求的 查看有onDetachedFromWindow 当它从屏幕上移除时 但这与它
  • 免费和付费版本 Android 应用程序的最佳方法?

    我开发了一个 Android 应用程序 我希望它可以作为免费版本和付费版本提供 最好的方法是什么 我可以想到三种解决方案 将项目分成两个分支并维护它们 创建一个库项目并有两个附加项目 一个 免费 版本和一个 付费 版本 使用应用内结算 问
  • 如何发现另一个应用程序的意图

    我正在尝试构建一个应用程序来接收来自 StumbleUpon 应用程序的共享 此时 我可以接收浏览器的 共享网址 但是当从 StumbleUpon 共享时 我的应用程序不会显示在列表中 我想我可能没有在清单中注册正确的意图 有什么方法可以找
  • 如何使用特定选项卡启动活动?

    我已经浏览了许多示例 问题和教程 但我从未见过使用特定选项卡启动活动 启动新意图 我知道可以使用 setCurrentTab切换到选项卡 但这只能从父活动选项卡内部完成 从另一个活动启动一个活动中包含的特定选项卡怎么样 是否可以 如果是这样
  • 如何在android上使用xamarin表单执行脚本

    我正在尝试在 Android Mono 上使用 Xamarin Forms 运行 C 脚本 当我运行脚本时 我收到错误 System IO FileNotFoundException 找不到文件 mscorlib dll 这是我试图执行的代
  • 检查外部图像是否存在的正确 PHP 方法?

    我知道至少有 10 个相同的问题有答案 但似乎没有一个对我来说完美无缺 我正在尝试检查内部或外部图像是否存在 图像 URL 是否有效 fopen url r 失败 除非我使用 fopen Warning fopen http example
  • 伽马校正公式:.^(gamma) 或 .^(1/gamma)?

    我正在寻找一个简单的伽玛校正公式 适用于值在 0 到 255 之间的灰度图像 假设我的屏幕的伽玛值为 2 2 它是 LCD 屏幕 因此我可能需要使用更复杂的过程来估计它 但我们假设我的屏幕表现良好 以下哪一个公式是正确的 Corrected
  • 什么是 Android DecorView?

    http developer android com reference android view Window html getDecorView http developer android com reference android

随机推荐

  • 将变换应用于 UITextView - 防止内容调整大小

    当我将旋转变换应用于UITextView然后点击里面开始编辑 看起来内容尺寸自动变宽了 内容视图的新宽度是旋转视图的边界框的宽度 例如 给定一个宽度为 500 高度为 400 的文本框 并旋转 30 度 新的内容宽度将为 500 cos 3
  • Cassandra 大量 SSTable

    启动一些长时间运行的写入作业 使用 Spark Cassandra 连接器从 Apache Spark 作业批量插入 后 Cassandra v 2 1 为目标表创建了数千个 SSTable 超过 4500 个 次要压缩阈值设置为默认值 4
  • Spark SQL - 如何将 DataFrame 写入文本文件?

    我在用Spark SQL用于读取镶木地板和写入镶木地板文件 但有些情况下 我需要写DataFrame作为文本文件而不是 Json 或 Parquet 是否有任何支持的默认方法或者我必须将该 DataFrame 转换为RDD然后使用saveA
  • Windows 版 Git:致命:早期 EOF

    昨天我安装了一个新的 Git windows 服务器 2 6 4 它与 Mac git 客户端 git 协议 运行良好 今天我正在努力让第二个客户端 Windows 7 正常工作 在尝试使其工作的过程中 我已将 Windows 服务器和客户
  • 本地主机上的 Azure Functions 代理 404

    我有一个 Azure Function App 其 URL 处有一个函数http localhost 7072 api create room以及其他功能 这个特殊的函数是一个HTTPTrigger允许匿名访问并接受GET verb Htt
  • 从 LINQpad 迁移到正确的 Visual Studio 项目?

    我正在 LINQpad 中学习 LINQ to SQL 这很棒 但是背后发生了很多我不太理解的魔法 我正在使用可选的 IQ 驱动程序连接到 Oracle 数据库 该驱动程序可以在 LINQpad 内部下载 我的查询正在运行 现在我需要将其移
  • 发布实现接口的 F# 类时的反射/C# 键入错误

    我有一个用 C 编写的接口 但在用 F 实现它时 我注意到一些奇怪的地方 F 类必须先转换为接口 然后 C 才能使用它 转换后 WPF 无法读取其属性 绑定失败且 SNOOP 无法反映它 我可以用 C 代码包装该对象 一切正常 界面 pub
  • Deflate压缩块的结构

    我在理解 Deflate 算法时遇到困难 RFC 1951 https www rfc editor org rfc rfc1951 TL DR如何解析Deflate压缩块4be4 0200 我创建了一个包含字母和换行符的文件a n在里面
  • 我应该在 Objective C 中哪里初始化变量?

    在 Objective C 中 我应该覆盖 init 方法来初始化我的变量吗 如果变量是属性 我仍然可以通过通常的方式访问它们来设置其初始值吗 在 Objective C 中 我应该覆盖 init 方法来初始化我的变量吗 是的 具体来说 指
  • Rails 3“最后”方法从 ActiveRecord 输出返回错误结果

    我的控制器中有以下代码 items Item where user id gt 1 order updated at DESC limit 2 oldest item items last 出于某种原因 我猜测这与我最近升级到 Rails
  • 缓存控制的默认值是多少?

    我的问题是 有时浏览器会过度缓存某些资源 即使我已经修改了它们 但F5之后一切都很好 我整个下午都在研究这个案例 现在我完全理解了 Last Modified 或 Cache Control 的意义 我知道如何解决我的问题issue 只是
  • 如何使用 sed 删除从第一行开始到遇到模式 '[ERROR] -17-12-2015' 之前的行?

    我需要在遇到模式 ERROR 17 12 2015 之前删除从第一行到该行的行 目前我正在尝试以下命令 但不幸的是它没有找到模式本身 sed 1 ERROR 17 12 2015 d errLog 这里有什么问题吗 其次 上面的脚本还将删除
  • 如何在python中添加换行符?

    我刚刚用 python 编写了一个程序 但输出中的语句彼此太接近 那么如何在 python 中的两个语句之间添加换行符呢 您可以打印新行字符 print n numlines
  • Kafka 的 session.timeout.ms 和 max.poll.interval.ms 之间的区别

    AFAIK max poll interval ms 是在 Kafka 0 10 1 中引入的 然而 目前还不清楚什么时候我们可以同时使用 session timeout ms 和 max poll interval ms 考虑这样的用例
  • 从日期集合中查找平均日期 (Ruby)

    我有一个猜测表 每个猜测中都只有一个日期 我想知道如何将两个或多个日期转化为平均值 div 类似这样 但显然 Ruby 不允许我划分这两个日期 日期有点难用 你应该使用时间 尝试将日期转换为时间 require time foo time
  • 应用程序运行时 Xcode 4.5 选项卡消失

    更新 看起来每当 Xcode 4 5 开始运行应用程序时 查看 gt 隐藏选项卡栏 命令都会自动执行 这确实看起来像一个错误 这个单词tabs在这个问题中指的是我们在顶部看到的那个Xcode集成开发环境 不是 Cocoa Touch 中的标
  • 多个读取器和多个写入器(我的意思是多个)同步

    我正在开发一项功能 需要一种读 写锁的变体 该变体可以允许并发多个写入者 标准读 写锁允许多个读取器或单个写入器同时运行 我需要一个可以同时允许多个读者或多个作者的变体 因此 它永远不应该允许读者和作者同时存在 但是 可以同时允许多个作者或
  • 云计算和网格计算有什么区别? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 之间有哪些显着差异云计算 and 网格计算 两者的精确定义和目标应用领域是什么 我正在寻找概念见解和技术细节 Like 微软Azure是一个云操作系统
  • 如何获取 JavaFX 应用程序中的主 Stage?

    是否可以在正在运行的 JavaFX 应用程序中获取对主 Stage 的引用 这个问题的背景是我想编写一个库来操作另一种语言 Prolog 的JavaFX接口 为了做到这一点 我的图书馆需要访问主舞台 目标是 JavaFX 应用程序的程序员不
  • 如何在 Android 中从一组图像创建视频?

    我想调用一个函数并从图像列表中构建视频 然后将其保存在设备本地 public void CreateAndSaveVideoFile List