问题标签 [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.
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 时创建一个新实例,这并不重要。
一些随机观察:
- 此问题仅发生在三星设备上,已在 Galaxy S8、Galaxy S10 和 Galaxy Note 10 Lite 上确认。此问题无法在 Google Pixel 3 上重现
- 当我将计算着色器修改为不通过 samplerExternalOES 对相机帧进行采样时,无法重现此问题。一切正常。
- 当我修改我的计算着色器以不向 SSBO 执行任何输出时,无法重现此问题。一切正常。
我的计算着色器看起来像这样(重现问题的示例代码):
这是整个过滤器类,它可以重现问题(为清楚起见,省略了所有错误检查,相关的除外):
请帮忙。我对 samplerExternalOES 或 SSBO 或两者都做错了吗?还是 CameraView 库问题?
face-detection - 华为HMS人脸活体检测如何与CameraView集成?
首先,我尝试了华为人脸活体检测。使用示例代码,它可以工作。
接下来,我尝试了 CameraView。另外,只需按照示例代码,我就可以进行帧处理,实现人脸检测和人脸识别。
问题:如何将华为人脸活体检测集成到CameraView中?
提供下面的人脸活体检测代码,我尝试更改视图容器(mPreviewContainer
如下所示),但它只是抛出错误和应用程序退出。
我很好奇如何将华为人脸活体检测集成到 CameraView(甚至普通的 Camera2 或 CameraX)中?HMS 可以从 CameraView 获取输入帧,而不是打开另一个摄像头吗?
PS: 出现第一个错误(来自冗长的消息):
java - 打开相机android时打开闪光灯?
我正在使用 CameraView api'com.otaliastudios:cameraview:2.6.4'
进行相机实时预览,我想打开相机,根据文档我可以通过打开 CameraView 来做到这一点,但它不起作用。
我试图用 CameraManager 来做,但它也不起作用,这给了我一个例外,即在使用相机时我不能使用闪光灯。我在 stackoverflow 上发现了一些其他类似的问题。他们似乎工作但代码对我来说没有意义,我无法理解代码,因为代码不完整。
你知道我该怎么做吗,我已经为手电筒和相机定义了权限 AndroidManifest 文件。
先感谢您 。
c - 在 fps 多人游戏中如何处理摄像机视图?
嗨,我正在我的爱好引擎中完成运动系统,我有一个 fps 相机,我很想知道多人游戏如何处理所有玩家的运动,我的意思是假设服务器上有 10 个人,8 个玩家在玩移动,2 观看,他们有 10 个不同的摄像机,每个玩家的鼠标移动对吗?还是我错过了什么?因此,例如,如果我死了,我想将我的相机切换到另一个正在玩的玩家,我只需将我的视图与他的视图切换?是否有意义?
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 有另一种方法可以将视频保存到存储中(写入文件的最佳方法)
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
文件中,仍然得到相同的结果
错误信息:
canvas - 如何将 Babylon.js 中的相机设置为第三人称?
我设法创建了一个代码,其中相机跟随“坦克”对象。但是使用鼠标,您可以放大和缩小相机。告诉我如何设置摄像头,让它像 GTA 中一样在车后移动?
这是 GTA Vice City 的一个例子。播放时,摄像机跟随汽车,不动。就我而言,使用鼠标,您可以更改相机路径。如何修复它并让它像 GTA 中一样?
main.js