使用Camera2(Android版本21)API录制60fps视频

2024-01-27

我正在尝试在 Camera2(android.hardware.camera2) API 上以 60(或更高)fps 的速率录制视频。

最后,我使用以下命令成功以 120fps 进行录制相机约束高速捕获会话 https://developer.android.com/reference/android/hardware/camera2/CameraConstrainedHighSpeedCaptureSession.html。但它仅针对 >=120fps 用例,不适用于 60fps。

即使我尝试使用正常捕获会话以 60fps 进行录制(相机捕获会话 https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession.html),仅支持

Range<Integer>[] fpsRanges = characteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);

我不知道如何使用 Camera2 API 以 60fps 进行录制。

任何想法都将受到欢迎。

Thanks.


您必须创建一个ConstrainedHighSpeedCaptureSession从 CameraDevice 并实例化一个新会话,就像您对普通捕获会话所做的那样。

您还需要为您的构建器设置下一个值:

myPreviewRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_USE_SCENE_MODE);
myPreviewRequestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, CaptureRequest.CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO);
myPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, new Range<Integer>(frameRate, frameRate));

之后,使用您的构建器生成 CaptureRequestList:

 myHighSpeedRequestList = ((CameraConstrainedHighSpeedCaptureSession) cameraCaptureSession).createHighSpeedRequestList(myPreviewRequestBuilder.build());

并在您的捕获会话中使用它来生成 CaptureSession:

mCaptureSession.setRepeatingBurst(myHighSpeedRequestList,
                                  YourHighSpeedVideoCaptureCallback,
                                  YourBackgroundHandler);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Camera2(Android版本21)API录制60fps视频 的相关文章

随机推荐

  • 了解接口内部接口(嵌入式接口)

    我试图用以下代码来理解接口嵌入 我有以下内容 type MyprojectV1alpha1Interface interface RESTClient rest Interface SamplesGetter SamplesGetter h
  • 仅 CSS 3D 旋转文本

    我有一个带有一些文本旋转的 div 如何获得文本深度以提供更好的 3D 效果 为了澄清 在90deg文本变成1px厚 因为我们只能从侧面看到它 我该如何制作它 例如 10px厚的 此外 应显示适当的深度 即在0deg我们看不到深度 在45d
  • 在用户可见活动后执行方法

    我的活动包含太多 UI 控件 我想在使活动可见后执行一个方法 我尝试过的一个例子 public class Main extends Activity Override public void onCreate Bundle savedIn
  • Android 画布保存总是 java.io.IOException: 打开失败: ENOENT (没有这样的文件或目录)

    我有一个画布应用程序 我正在尝试创建一个签名应用程序Canvas onTouchListener 这是我的保存方法 我尝试将签名保存到图像中 private void save hideMenuBar View content this c
  • Travis 尝试将应用提交到 Google Play 商店时出错

    我首先研究了在 Github 上找到的几个要点 https gist github com lpetre 87a5196d14cf4484f1f2 https gist github com lpetre 87a5196d14cf4484f
  • sphinx4 中的语音识别响应很差

    目前我们正在研究使用 sphinx4 进行语音识别 我们正在努力为听写类型应用程序取得良好的响应 输入是一个 wav 文件 我们希望转录它 我研究了 Sphinx4 提供的 LatticeDemo 和 Transscriber 演示 当我使
  • SBT:依赖其他SBT项目而不发布

    我有一组松散相关的组件 其中一些组件依赖于其他组件 为了具体起见 我们假设我们有组件 common a 和 b common 没有任何依赖项 但所有其他项目都使用 common 此外 a 依赖于 b 所有组件都是用 Scala 编写的 我想
  • 为什么 MVC 在 GET 上使用 Modelstate 而不是提供的模型

    当 MVC 运行时ActionMethod它将填充ModelState字典并使用ModelBinder建立ActionMethod参数 如果有 它对两者都这样做GET and POST 这是有道理的 之后ActionMethod已成功运行
  • JPA 与 HIBERNATE 插入非常慢

    我正在尝试使用 JAP 和 HIBERNATE 将一些数据插入 SQL Server 2008 R2 除了速度非常慢之外 一切都 有效 要插入 20000 行 大约需要 45 秒 而 C 脚本大约需要不到 1 秒 有这个领域的资深人士可以提
  • 针对可怕的 While (True) 循环的最佳重构

    如果您像我一样在 While True 循环处颤抖 那么您一定也已经认真思考了重构它的最佳方法 我见过几种不同的实现 没有一个真正比其他实现更好 例如计时器和委托组合 那么 您想出或看到的重构可怕的 While True 循环的最佳方法是什
  • 使用 LINQ 时“输入字符串的格式不正确”

    我正在尝试做一个FirstOrDefault 查询对象集并抛出一个奇怪的异常 My Code private RecordObject GetRecordByID int recID return objectSet FirstOrDefa
  • 如果特定列中的值不是 pandas 数据框中的整数,则删除行

    如果我有一个数据框并且想要删除其中一列中的值不是整数的任何行 我该怎么做 另一种方法是 如果值不在 0 2 范围内 则删除行 但由于我不确定如何执行其中任何一个操作 我希望有人可以这样做 这是我尝试过的 但没有成功 不知道为什么 df df
  • 为什么 Windows API 中的所有内容都是类型定义的?

    更具体地说 为什么是同一件事typedef在很多情况下都有多个不同的名称 为什么typedef指针类型 有时会模糊逻辑 例如 typedef const WCHAR LPCWSTR PCWSTR 这有什么意义呢 实际上这里发生了一些不同的事
  • 如何使用 gpg 命令行检查密码是否正确

    我正在尝试使用自动化备份duplicity 但是当我测试结果时 我得到 gpg 公钥解密失败 密码错误 我想检查我使用的密码是否实际上是与相应 gpg 密钥关联的密码 但无论如何我在 gpg 命令行选项中都看不到 不要加密或解密任何内容 只
  • 如何使用动态键名解析 JSON?

    我有一个像这样的 JSON 响应 array object1 aa somevalue1 bb somevalue2 cc somevalue3 object2 aa somevalue4 bb somevalue5 cc somevalu
  • Program 类应该是静态的吗? [复制]

    这个问题在这里已经有答案了 创建新的 ASP NET Core 3 项目后 我在 Visual Studio 2019 中收到以下警告 警告 CA1052 类型 Program 是静态持有者类型 但既不是静态的也不是不可继承的 public
  • Android 从媒体播放器中删除快进和快退按钮

    我想从 Android 的媒体控制器中删除快进和快退按钮 谁能帮我这个 我想在我的主要活动中完成它 创建 MediaController 时 请确保将布尔值设置为false在构造函数中 MediaController mediaContro
  • 使用 AppCompatActivity 时 onCreate() 处显示错误

    我将 SDK 更新到 22 Android 5 1 1 然后我使用AppCompactActivity代替Activity 这是 logcat 输出 04 23 13 51 40 524 E AndroidRuntime 3150 java
  • HTML 电子邮件的行高在 Outlook 2010 中不起作用

    Outlook 2010 Outlook 2007 似乎不支持我的 HTML 电子邮件中的行高 在 Outlook 00 和 Outlook 03 中完美运行 我一直在进行一些广泛的谷歌搜索 我发现 HTML CSS 支持图表表明 Outl
  • 使用Camera2(Android版本21)API录制60fps视频

    我正在尝试在 Camera2 android hardware camera2 API 上以 60 或更高 fps 的速率录制视频 最后 我使用以下命令成功以 120fps 进行录制相机约束高速捕获会话 https developer an