问题标签 [camera-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
240 浏览

android - glMapBufferRange 在三星 Galaxy S8 / S10 / Note 10 Lite 上出现 GL_OUT_OF_MEMORY 失败

我正在使用适用于 Android 的 CameraView 库从相机中捕获帧并使用 OpenGL 着色器对其进行处理。我在尝试使用计算着色器时遇到了一些奇怪的行为。我想抓取一个相机帧作为浮点的 RGB 缓冲区,在 CPU 上处理它,然后用 OpenGL 渲染它。我继承了 CameraView 的 BaseFilter,设置了我的计算程序和 SSBO 缓冲区,在 onPreDraw() 中调度计算,最后在表面上渲染相机帧,就像所有其他过滤器一样。

一切正常,直到我开始录制视频或在正面和背面之间切换相机。无论我运行过滤器多长时间,一旦我切换面对,我就不再能够使用 glMapBufferRange 获取我的 SSBO 的内容。OpenGL 调用失败,错误代码为 GL_OUT_OF_MEMORY,我认为它代表随机的“无法获取缓冲区”错误。

在设置过滤器之前在正面和背面之间切换无效 - 过滤器将开始以当前面正常运行,但在下一次切换后立即失败。令人惊讶的是,在切换之前将过滤器设置为 NONE 并没有帮助:我可以从正面开始过滤器,然后将过滤器设置为 NONE,然后切换面向,然后再次设置过滤器,它会失败。如果我重新使用我的过滤器实例或每次将它设置为 CameraView 时创建一个新实例,这并不重要。

一些随机观察:

  1. 此问题仅发生在三星设备上,已在 Galaxy S8、Galaxy S10 和 Galaxy Note 10 Lite 上确认。此问题无法在 Google Pixel 3 上重现
  2. 当我将计算着色器修改为不通过 samplerExternalOES 对相机帧进行采样时,无法重现此问题。一切正常。
  3. 当我修改我的计算着色器以不向 SSBO 执行任何输出时,无法重现此问题。一切正常。

我的计算着色器看起来像这样(重现问题的示例代码):

这是整个过滤器类,它可以重现问题(为清楚起见,省略了所有错误检查,相关的除外):

请帮忙。我对 samplerExternalOES 或 SSBO 或两者都做错了吗?还是 CameraView 库问题?

0 投票
1 回答
468 浏览

face-detection - 华为HMS人脸活体检测如何与CameraView集成?

首先,我尝试了华为人脸活体检测。使用示例代码,它可以工作。

接下来,我尝试了 CameraView。另外,只需按照示例代码,我就可以进行帧处理,实现人脸检测和人脸识别。

问题:如何将华为人脸活体检测集成到CameraView中?

提供下面的人脸活体检测代码,我尝试更改视图容器(mPreviewContainer如下所示),但它只是抛出错误和应用程序退出。

我很好奇如何将华为人脸活体检测集成到 CameraView(甚至普通的 Camera2 或 CameraX)中?HMS 可以从 CameraView 获取输入帧,而不是打开另一个摄像头吗?

PS: 出现第一个错误(来自冗长的消息):

0 投票
1 回答
240 浏览

java - 打开相机android时打开闪光灯?

我正在使用 CameraView api'com.otaliastudios:cameraview:2.6.4'进行相机实时预览,我想打开相机,根据文档我可以通过打开 CameraView 来做到这一点,但它不起作用。

我试图用 CameraManager 来做,但它也不起作用,这给了我一个例外,即在使用相机时我不能使用闪光灯。我在 stackoverflow 上发现了一些其他类似的问题。他们似乎工作但代码对我来说没有意义,我无法理解代码,因为代码不完整。

你知道我该怎么做吗,我已经为手电筒和相机定义了权限 AndroidManifest 文件。

先感谢您 。

0 投票
1 回答
85 浏览

c - 在 fps 多人游戏中如何处理摄像机视图?

嗨,我正在我的爱好引擎中完成运动系统,我有一个 fps 相机,我很想知道多人游戏如何处理所有玩家的运动,我的意思是假设服务器上有 10 个人,8 个玩家在玩移动,2 观看,他们有 10 个不同的摄像机,每个玩家的鼠标移动对吗?还是我错过了什么?因此,例如,如果我死了,我想将我的相机切换到另一个正在玩的玩家,我只需将我的视图与他的视图切换?是否有意义?

0 投票
1 回答
41 浏览

android - 如何访问我设备中的视频路径?

我正在使用 CameraView 录制 Video 。当停止记录我得到记录路径

D/VideoTaken:/storage/emulated/0/Android/data/com.example.testgogoapplication/files/Movies/oogoo_20211021_125639_3062139219833544197.mp4

file:///storage/emulated/0/Android/data/com.example.testgogoapplication/files/Movies/oogoo_20211021_125639_3062139219833544197.mp4

put not found this path in Device 怎么能访问到这个路径?

如果 Kotlin 有另一种方法可以将视频保存到存储中(写入文件的最佳方法)

0 投票
0 回答
123 浏览

reactjs - 任务:expo-camera:compileReleaseKotlin 在使用 React Native 构建发布 apk 时失败

我正在尝试使用 react-native 构建发布 apk,并且我正在使用 expo-camera 并在创建项目时选择了最小的 react-native 构建。我得到了链接到 node_modules 中的 cameraview 文件夹的错误,然后得到了Task :expo-camera:compileReleaseKotlin FAILED. 我已将该maven { // expo-camera bundles a custom com.google.android:cameraview url "$rootDir/../node_modules/expo-camera/android/maven" }行添加到android/build.gradle文件中,仍然得到相同的结果

错误信息:

0 投票
1 回答
123 浏览

canvas - 如何将 Babylon.js 中的相机设置为第三人称?

我设法创建了一个代码,其中相机跟随“坦克”对象。但是使用鼠标,您可以放大和缩小相机。告诉我如何设置摄像头,让它像 GTA 中一样在车后移动?

这是 GTA Vice City 的一个例子。播放时,摄像机跟随汽车,不动。就我而言,使用鼠标,您可以更改相机路径。如何修复它并让它像 GTA 中一样?

在此处输入图像描述 我的代码:“index.html”

main.js

链接到https://codepen.io/Smith37/pen/OJxdmaw