android camera2 api-如何将公司徽标添加到录制的视频文件

伊泰奥伦

大家好 我正在尝试在录制的视频的角落添加一个小徽标。我试图将imageView直接添加到记录表面,但这不是解决方案。

我猜我将不得不创建另一个表面并将它们合并在一起,但是我找不到此类的任何教程或代码示例。

我找到了添加前景可绘制对象的选项,但是它没有在预览表面上显示徽标。这是代码:

   private void startRecording(){
    try {
        setupMediaRecorder();
        mTextureView.setForeground(getDrawable(R.drawable.toolbarlogo));
        SurfaceTexture surfaceTexture = mTextureView.getSurfaceTexture();
        surfaceTexture.setDefaultBufferSize(mPreviewSize.getWidth(),mPreviewSize.getHeight());

        Surface previewSurfice = new Surface(surfaceTexture);
        Surface recordSurface = mMediaRecorder.getSurface();

        mPreviewCaptureRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_RECORD);
        mPreviewCaptureRequestBuilder.addTarget(previewSurfice);
        mPreviewCaptureRequestBuilder.addTarget(recordSurface);

        mCameraDevice.createCaptureSession(Arrays.asList(previewSurfice, recordSurface), new CameraCaptureSession.StateCallback() {
            @Override
            public void onConfigured(@NonNull CameraCaptureSession session) {
                try {
                    session.setRepeatingRequest(
                            mPreviewCaptureRequestBuilder.build(),null,null
                    );
                } catch (CameraAccessException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onConfigureFailed(@NonNull CameraCaptureSession session) {

            }
        },null);



    } catch (Exception e) {
        e.printStackTrace();
    }
}

请帮忙。谢谢

米克

添加单独的表面只会在您在应用程序中查看徽标时显示徽标-如果要将徽标添加到文件中,以便在共享或加载视频时可以查看徽标,则需要将徽标添加到视频本身。

假设您将视频捕获到本地设备,那么执行此操作的一种方法是使用ffmpeg将图像添加到视频中-请参阅以下答案,其中包括有关如何放置图像的说明:

有几种方法可以将ffmpoeg包含在Android项目中,但也许最简单的方法是使用受支持的ffmpeg包装器项目,如下所示:

包装器基本上在命令行ffmpeg工具周围包装了一个接口,它的优点是您可以使用相同的语法-例如,上面提到的答案中的语法,并利用它周围的Web上的支持和Q&A。

缺点是命令行工具最初并不是设计用于这种方式的,但如果使用受良好支持的包装程序,您可能会发现许多问题已得到解决。

需要注意的一件事-视频处理具有很高的CPU,因此在移动设备上需要电池。如果您要将视频上传到服务器以共享它,则在具有更多CPU能力的位置添加图像可能更有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android Camera2 API银河S7

如何使用Android Camera2 API捕获单个图像?

Android Camera2 API-检测何时关注

Android:如何检查设备是否实现了Camera2 api功能?

Android Camera2基础API

Android Camera2 API显示已处理的预览图像

如何在Camera2 API和Android中设置无限远焦点?

如何在Android的Camera2 API中锁定焦点?

Android Camera2 API裁剪视频

如何在camera2 Android API中将BottomBar创建为StickyBottomCaptureLayout?

如何使用Android Camera2 API以固定的曝光时间录制60 fps视频

Android Camera2与NDK Native Camera API

Android NDK Camera2 API

使用MediaCodec和Camera2 API录制视频

用于记录的Android Camera2 API无法正常工作

如何在Camera2 API Android中的叠加层内捕获图像?

在Android中如何检查设备是否具有前置闪光灯(Camera2 API)

具有“状态”设计模式的Android Camera2 API

MediaCodec将视频帧RGB编码为YUV_420_888 | Android Camera2 API

使用camera2 API createCaptureSession后,Android无法仅播放视频音频

Android Camera2:如何使用SENSOR_BLACK_LEVEL_PATTERN API?

使用Android Camera2 API在后台捕获视频

Android Camera2 API 中的等效 canDisableShutterSound 方法

Android Camera2无法启动活动自动录制视频

Android Camera2 API - 覆盖旧图像

Android:Camera2 API 在尝试第二次录制时崩溃

如何在预览到 Android Camera2 API 期间获取指向每个帧数据的指针?

Android Camera2 API 将流缓冲区发送到本机函数

Android Camera2 API 图像色彩空间