首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将实时过滤应用于android-camerax?

是否可以将实时过滤应用于android-camerax?
EN

Stack Overflow用户
提问于 2020-07-08 00:29:43
回答 1查看 1.6K关注 0票数 6

我在用cameraX录制视频。我需要使用android-gpuimage或任何其他库将实时滤镜应用到相机预览。有可能吗?如果是,请提供一个例子。

代码语言:javascript
复制
    @SuppressLint("RestrictedApi")
    private fun startCamera() {
        val cameraProviderFuture = ProcessCameraProvider.getInstance(this)
        cameraProviderFuture.addListener(Runnable {
            val cameraProvider = cameraProviderFuture.get()

            preview = Preview.Builder()
                .build()
            val cameraSelector = CameraSelector.Builder()
                .requireLensFacing(CameraSelector.LENS_FACING_BACK)
                .build()

            videoCapture = VideoCaptureConfig.Builder()
                .build()

            try {
                cameraProvider.unbindAll()
                camera = cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, videoCapture)
                preview.setSurfaceProvider(viewFinder.createSurfaceProvider())
            } catch (e: Exception) {
                Log.e("CameraX", "Use case binding failed!", e)
            }
        }, ContextCompat.getMainExecutor(this))
    }

我在这个项目中使用camerax版本1.0.0-beta06

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-26 22:06:42

CameraX并不正式支持视频和过滤,但您可以通过将ImageAnalysis的输出编码为视频来解决这一问题。

ImageAnalysis的输出是YUV420字节数组。可以使用this code snippet将其转换为Bitmap,然后您可以对该Bitmap应用GPUImage过滤器。然后将一系列Bitmap编码成视频。这在许多层面上都是低效的,但它应该是有效的。

您可以使用GPUImage签出此代码样例以用于过滤CameraX预览:https://github.com/xizhang/camerax-gpuimage

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

https://stackoverflow.com/questions/62779839

复制
相关文章

相似问题

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