如何在Android上实现实时视频编辑?
Posted
技术标签:
【中文标题】如何在Android上实现实时视频编辑?【英文标题】:How to achieve real time video editing on Android? 【发布时间】:2019-01-28 11:55:14 【问题描述】:我最近一直在做一个android上的视频编辑相关项目,正在拼命寻找与平台上的视频编辑相关的资源。
我能找到的唯一与视频编辑相关的“方法”或信息是使用 FFmpeg 库,该库的特性和功能非常丰富,但运行速度真的很慢,诸如反转 10-第二个视频可能需要长达 30 秒的时间,这会带来非常糟糕的用户体验。
话虽如此,似乎有大量的 Android 视频编辑应用程序能够在几乎立即的时间内完成 FFmpeg 所能做的所有事情(例如InShot、PocketVideo 等应用程序,甚至previous musical.ly TikTok)。
我尝试在几乎任何合理的地方(Google、GitHub、YouTube、Android 开发者中心,甚至在上述应用程序的“支持”页面上)研究和搜索有关该主题的信息,但无济于事(没有解释文档,没有开源库,甚至没有演示应用程序),如果有人能对这个主题有所了解,那将非常非常感激!
谢谢。
【问题讨论】:
搜索上面提到的相同的东西。如果您对实时视频编辑有任何想法,请告诉我。 嘿,你有什么发现吗? 目前我的理解有两种方式:第一种是使用Media Codec API,第二种是使用C++。我还找到了一个有效的中文高级库,美摄 SDK。 Media Codec API 使用起来非常复杂,并且在不同的设备上存在问题。 【参考方案1】:在台式机以外的平台上的 FFmpeg 运行速度会很慢,主要是因为缺乏硬件解码/编码功能。
如果您想创建快速/实时视频编辑套件,您最好查看原生 android 视频解码/编码 api 并在 GPU 上过滤帧。
虽然手机的屏幕看起来很小,但视频分辨率足够大,即使进行颜色反转等基本处理,也足以完全占用 CPU,更不用说应用模糊时会发生什么了。所以考虑改用 GPU 处理(GLSL 着色器)。
【讨论】:
以上是关于如何在Android上实现实时视频编辑?的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅在Android中使用MediaPipe库在实时视频源上实现人脸网格Face Mesh的绘制