我正在开发一款 Android 应用程序,该应用程序允许用户制作短视频、对其应用有趣的效果并相互分享。首先,我正在寻找简单的颜色效果,如灰度、亮度、对比度、分离等。
通过使用可以在录制时应用颜色效果的相机类,所有这一切都将非常简单——至少大多数手机的相机都可以——我已经使用Camera.getParameters().getSupportedColorEffects();
. 但问题是:我需要在录制完成后执行此操作:用户将打开一个视频,并在一组效果中进行选择以应用;然后将更改后的视频上传到共享服务器。
我无法为*的爱找到一个好方法来做到这一点。
Android 似乎没有在 sdk 中包含任何 videoutilities。可以做一些效果,但只有视频的android.media.effect package
背景,其余的都是图像。在播放期间从视频视图的表面视图中提取位图不起作用,它只会返回全黑位图。似乎没有办法拦截存储和屏幕之间的数据流。并在那里应用效果。我已经开始研究使用 FFmpeg 库来解码视频文件,以便我可以访问数据,但这需要相当多的本机编码,并且还需要针对各种 CPU 架构进行单独编译,因此非常混乱。我认为相机可以应用这些效果(在 Sony LT26i 上:无、单声道、负片、日晒、棕褐色、色调分离),也许人们可以向录像机提供不是来自相机而是来自内存的视频流,并通过这种方式使用存储的视频文件?
有谁知道是否有一种很好的方法可以在录制视频后将效果应用于视频?