首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android,快速视频处理

Android,快速视频处理
EN

Stack Overflow用户
提问于 2016-04-23 09:09:09
回答 1查看 1.8K关注 0票数 2

我在当前的项目中遇到了麻烦,这个项目需要视频处理。基本上,裁剪功能(视频应该被平方),修剪(视频不应该超过30秒)和质量降低(比特率应该等于713K)。

我已经成功地将FFmpeg嵌入到应用程序中,除了一个主要的细节处理外,所有功能都运行得很好--按照老板的说法,处理时间太长了。对于拥有大约52 MB、36秒的视频,需要50秒才能完成所有操作(显然,在任何其他操作之前,我正在将视频微调到30秒)。问题是,在iOS上的并行项目中,视频处理需要10-15秒的时间来处理更大的文件。我认为这与他们使用苹果QuickTime格式有关,这显然是由苹果公司开发的,所以它运行得很快并不奇怪。

所以,这是一个介绍,现在我的问题是:安卓有没有办法在10-15秒的时间内处理任何质量的视频(现在我们可以假设所有视频都在h264上)(就像我老板说的那样,不会超过30秒)?一些替代FFmpeg,可以更快地执行操作?我很确定不可能在这么短的时间内完成这样的工作,因为我已经觉得自己在互联网上搜索了思想,但我想确保真的没有可能做这样的工作。如果有人能给我提供比FFmpeg更快的解决方案链接,或者确认没有这样的解决方案,我将非常感激。

更新

多亏了亚历克斯·科恩,我才用MediaCodec解决了这个问题。过了一会儿,我得到了20秒的处理52 to视频裁剪成正方形和降低比特率。对于任何未来的谷歌员工,我可以建议你看看这个存储库:关于MediaCodec的很多东西

更准确地说,在这个文件中:再次提取、编辑和编码视频和音频

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-23 13:23:09

如果视频是在同一台设备上录制的,那么您很有可能MediaCodec和本地安卓媒体API会更快(在HW中同时运行解码器和编码器)。否则,您可以尝试使用MediaCodec对视频进行解码,如果视频失败,则返回到FFmpeg软件解码器。即使这样,如果您可以使用MediaCodec进行压缩,那么仅这一项就可以提供令人满意的性能。

有一个名为libstagefright的(不推荐的)项目,它构建支持硬件编解码器的FFmpeg,并且它被设计用于API 10+。

不要忘记比较你的安卓设备和iOS平台的CPU特性(如果这是6S的话,他们有一个显著的优势)。考虑多线程编码和解码。

顺便说一句: FFmpeg没有附带H264编码器,而且典型的FFmpeg+x264包是GPL,它要求您的所有应用程序都是开源的(或者为x264支付高额的许可费,但仍然被迫遵守LGPL of FFmpeg)。

请注意,您可以通过操作MP4头来制作正方形视频,而不需要转码!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36808806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档