我在 ArrayList<Bitmap>
中没有视频帧.我使用 MediaMetadataRetriever.getFrameAtTime()
访问了这些帧视频文件 (.mp4) 上的方法。
我颠倒了 ArrayList 中帧的顺序。 现在使用这个反向排序的帧队列,我想渲染一个视频,这样它就会被反转(我希望我在正确的轨道上)。
创建该视频后,我还想将其保存到 SD 卡。
如何实现? 或者 是否有任何其他方法可以在 java 中反转视频?
编辑 1: (***使用 xuggler*)**
我尝试使用 xuggler ... 我尝试使用它的 .jar 文件。 但它抛出了一些错误。
[2012-08-18 00:29:16 - xugglertest2] The library 'xuggle-xuggler-5.2.jar' contains native libraries that will not run on the device.
[2012-08-18 00:29:16 - xugglertest2] The following libraries were found:
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/i686-pc-linux-gnu/libxuggle-ferry.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/i686-pc-linux-gnu/libxuggle-xuggler-io.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/i686-pc-linux-gnu/libxuggle-xuggler.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/i686-pc-linux-gnu/libxuggle.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/x86_64-pc-linux-gnu/libxuggle-ferry.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/x86_64-pc-linux-gnu/libxuggle-xuggler-io.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/x86_64-pc-linux-gnu/libxuggle-xuggler.so
[2012-08-18 00:29:16 - xugglertest2] - com/xuggle/ferry/x86_64-pc-linux-gnu/libxuggle.so
我该怎么办??
我将 xuggler-xuggler-5.4.jar 复制到项目的 libs 文件夹中,然后将其添加到构建路径中。 我做得对吗?
编辑 2: (使用 ffmpeg)
我已经按照给定的 Here 在 ubuntu 平台上为 android 编译了 ffmpeg
我根据文档得到了编译文件。
现在有人能告诉我如何在 Android 应用程序中使用这些编译文件吗?
我究竟应该如何处理这些文件?
我没有找到任何合适的文档。任何帮助都是 gr8。
编辑 3:(移植到 android -ffmpeg)
嘿.. 最后我在 ubuntu 上编译了 ffmpeg 我得到了 libffmpeg.so。我成功地将它移植到android。 libffmpeg.so 正在成功加载到 android Activity 中。现在我只想测试一个简单的 ffmpeg 命令或程序。
你能建议我在哪里寻找它吗?你能建议我一个示例命令来测试它吗?
感谢和问候
最佳答案
您可以使用 ffmpeg从图像组装视频。您可以通过多种方式将 ffmpeg 集成到 Java(Android) 中(一种是通过
直接运行它) Runtime.getRuntime().exec("ffmpeg <options>");
), 但可能一个好的方法是通过 Xuggler项目 - 它严重依赖于 ffmpeg。作为起点,这里有一个 set of introduction tutorials这是一个完整的教程 how to encode video from sequence of images .这是大量的工作和阅读,但您需要的所有信息都在那里。祝你好运!
关于java - Android、Java - 使用位图帧渲染视频以反转视频 (Xuggler),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921322/