求助 iOS 相机大佬:如何高效低耗获取后置镜头两路不同分辨率的视频流输出?

LinChiSin:据我所知,iOS 13 以前( WWDC 2019 允许同时获取后置两个摄像头),苹果 AVCaptureSession 只允许按一个镜头输出一个指定分辨率的输出流,但现在有需求:

1 、获取 1080P 的输出流用于渲染,并且需要用 pixelBuffer 的格式,因此最好是需要用到 AVCaptureVideoDataOutputSampleBufferDelegate 中 didOutputSampleBuffer 回调方法。

2 、获取 480P (最好是 480480,但 640480P 也可以接受)的输出流用于图像处理,同样也需要用 pixelBuffer 的格式

按照目前的限制,只有一路固定分辨率的视频流,尝试了一下几种方案:

1 、CoreImage 先压缩再剪裁:对 1080P,30FPS 的视频帧图片按短边进行压缩,再保留中间区域进行裁剪。参考 https://stackoverflow.com/questions/51445776/how-to-scale-resize-cvpixelbufferref-in-objective-c-ios/51527859 。可行,但性能效果差,CPU 性能消耗高。

2 、OpenCV 先压缩再裁剪:类似第一种方案,只不过是将前端 CoreImage 方案换成了后端 OpenCV 方案。性能依然差

3 、GPUImage 方案 ( https://github.com/BradLarson/GPUImage ),但暂时调研不深。只知道 GPUImage 是一套完善的滤镜处理方案,据说能利用 GPU 进行图片处理,从而降低 CPU 性能消耗。但目前已知只提供一个 GPUImageCropFilter 裁剪滤镜,没法进行压缩,最大程度保留图片范围。并且,GPUImage 貌似无法提供一个 pixelBuffer 输出接口。

综上。求教 iOS 相机开发大佬,有没有其他高效低耗的方案,满足我的低功耗获取两路不同分辨率视频流的需求。

提前跪谢。

across:以前做过一次 AR 类型的,原生端是用 OpenGL/Metal,通过 Framebuffer 方式给 Unity 引擎图片的...
搜了下 GPUImage 也有 GPUImageFramebuffer 类,估计也是类似的流程。

fffang:建议不要通过获取两路不同分辨率视频这条路,就取 1080P 的 pixel 用于渲染。另一方面,将这些 pixel copy 一份,开一个线程,转成指针,再通过遍历采样的方式,转成 480P 的,输出给另外一路。

iOS 的搜索框用自带的英文输入法为什么没有输入预测?

cossak1991:在 spotlight\浏览器搜索框,甚至是第三方 APP 比如知乎、百度云音乐的搜索框用 iOS 自带输入法输入英文、俄文等等语言都没有输入预测,只能输入单个字母。为啥要这样设计?

iOS 开发者找个兼职

icubic:申请了研究生,为了凑学费,来找个兼职先简单介绍下自己的情况:4 年半的 iOS 开发,OC 和 Swift 都用过一段时间,虽然主要是帮公司项目做迭代,私底下也独立开发过好几个 APP 。基本上需求明确 UI 齐全的情况下可以自己完成整个 app 的开发。同时也做过半年的马甲包,对上架流程和常见的被拒处理也比较熟悉另外也接触过 js,之前有兼职…

iOS 企业证书签名,价格优惠

CanYouGuess:tg 搜索 eGluZ2hlbmcK (base64)gqbre:Kodi 给签一个造福 V 友

iOS 网易云音乐如何导入本地歌曲?

bbappa:电脑是 Mac,之前用 itunes 可以导入,现在换成 Music app,不知道怎么操作。 导入几个音乐都无法显示,而是都显示在 Apple music 里面了。864766428:底栏中间 我的 - 本地音乐,然后会弹出提示允许访问本地歌曲如果没有,设置 - 网易云音乐 - 媒体与 Apple Music 开关打开

iOS 微信的字体大小问题

daozhihun:想给老妈整一个果果手机,但是发现微信的字体大小是不跟随系统设置的,要自己在微信的设置里调整。 但现在问题是微信设置里把字体调成最大还是感觉有点小,和手中的安卓机比了一下,还是小了很多了。 难道没办法调更大么?Lin0936:显示选项能调成放大吗? daozhihun:@Lin0936 你是说系统设置里的文字大小吗?把那个调大以后微信的字体…