gpt4 book ai didi

ios - AVCaptureSession 旋转 |视频传输时的方向

转载 作者:可可西里 更新时间:2023-11-01 05:12:05 24 4
gpt4 key购买 nike

我正在开发视频流应用程序,其中我需要捕获前置摄像头视频帧并编码然后传输到另一端,典型的流程是这样的

AVCaptureSession -> AVCaptureDeviceInput -> AVCaptureVideoDataOutput -> 捕获帧 --> 编码帧 --> 发送帧到另一端,

它工作正常,我已经将 kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange 设置为帧格式。

还有预览层用于显示预览,

当设备方向发生变化时,问题就来了,如果设备从纵向移动到横向,然后在另一端帧旋转 90,我期待因为预览层支持方向所以我会自动接收旋转缓冲区Capture 回调,但看起来,预览层只是向我显示捕获的缓冲区的预览和 UI 操作缓冲区,而在另一端我会得到咆哮的缓冲区,

所以我想知道,是否有任何配置可以改变它,或者我是否需要在捕获缓冲区回调中旋转/转换缓冲区。

最佳答案

感谢您的调查,基本上解决方案是,应该设置连接的方向,我正在玩预览层,所以它影响预览层而不是方向。

这里是代码片段

-(void) orientationChanged
{
// get the new orientation from device
AVCaptureVideoOrientation newOrientation = [self videoOrientationFromDeviceOrientation];

// set the orientation of preview layer :( which will be displayed in the device )
[previewLayer.connection setVideoOrientation:newOrientation];

// set the orientation of the connection: which will take care of capture
[pCaptureConnection setVideoOrientation:newOrientation];

}

关于ios - AVCaptureSession 旋转 |视频传输时的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26236093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com