繁体   English   中英

Android Camera2视频长宽比

[英]Android Camera2 video aspect ratio

我不相信以下明确回答的内容:
使用Camera2 API,是否可以在不使用诸如ffmpeg之类的后处理的情况下在本机设备分辨率(例如1:1)之外进行记录?

您没有太多细节可以确切说明要使用的分辨率,但是听起来您想要以与设备相机支持的纵横比/分辨率之一不匹配的纵横比/分辨率进行录制。

您始终可以将图像数据发送到GPU,在其中进行任何裁剪/缩放,然后将其发送到视频编码器。

通常,这涉及:

  1. 设置EGL上下文
  2. 在EGL中创建渲染目标,并为其获取Android Surface
  3. 创建一个SurfaceTexture以将纹理数据发送到EGL
  4. 将EGL输入SurfaceTexture连接到相机(首先使用它创建一个Surface(如果使用camera2))
  5. 将EGL输出Surface连接到MediaRecorder
  6. 编写着色器代码以处理来自相机的传入帧,根据需要裁剪/缩放/修改,然后将其渲染到输出表面
  7. 设置相机和媒体记录器,然后同时启动它们
  8. 在SurfaceTexture onFrameAvailable中,触发渲染代码。

这是相当多的构建脚手架,但完成后应该相当有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM