gpt4 book ai didi

Android,快速视频处理

转载 作者:搜寻专家 更新时间:2023-11-01 08:35:47 24 4
gpt4 key购买 nike

我在当前需要视频处理的项目中遇到了麻烦。基本上是裁剪功能(视频应为平方)、修剪(视频不应超过 30 秒)和质量降低(比特率应等于 713K)。
我已经成功地将 FFmpeg 嵌入到应用程序中,所有功能都运行良好,除了一个主要细节 - 按照我老板的要求进行处理花费了太长时间。对于持续 36 秒的大约 52 MB 的视频,执行所有操作需要 50 秒(我显然在任何其他操作之前将视频修剪到 30 秒)。问题是在 iOS 上的并行项目中,视频处理更大的文件需要 10-15 秒。我认为这与他们使用显然是由 Apple 开发的 Apple QuickTime 格式有关,因此它的运行速度非常快也就不足为奇了。
好吧,这是介绍,现在我的问题是:Android 是否有任何方法可以在 10-15 秒(不超过 30 秒)的时间内处理任何质量的视频(现在我们可以假设所有视频都是 h264)秒,正如我老板所说)? FFmpeg 的一些替代品,可以更快地执行操作?我很确定在这么短的时间内不可能完成这样的工作,因为我已经觉得我在上网时搜索了思想,但我想确定确实没有可能完成这样的工作。如果有人能给我提供比 FFmpeg 更快的解决方案链接或确认没有这样的解决方案,我将非常感激。

更新
感谢 Alex Cohn,我用 MediaCodec 解决了这个问题。过了一会儿,我对 52MB 视频进行了 20 秒的处理,并裁剪为正方形并降低了比特率。对于任何 future 离开这里的 Google 员工,我建议看一下这个存储库: Many stuff about MediaCodec
更准确地说,在这个文件中:Extract, edit and encode again, video and audio

最佳答案

如果视频是在同一台设备上录制的,则很有可能 MediaCodec和 native Android media APIs会快得多(在硬件中同时运行解码器和编码器)。否则,您可以尝试使用 MediaCodec 解码视频,如果失败则回退到 FFmpeg 软件解码器。即便如此,如果您可以使用 MediaCodec 进行压缩,仅此一项就可以提供让您的老板满意的性能。

存在一个名为 libstagefright 的(已弃用)项目,它构建了支持硬件编解码器的 FFmpeg,它被设计用于 API 10+。

不要忘记比较您的 Android 设备和 iOS 平台的 CPU 特性(如果是 6S,则它们具有显着优势)。考虑多线程编码和解码。

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

请注意,您可以仅通过操作 MP4 header 来制作方形视频,而无需转码!

关于Android,快速视频处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36808806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com