gpt4 book ai didi

android - 如何更改相机预览回调缓冲区的方向?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:02 24 4
gpt4 key购买 nike

这是一个经常被问到的问题的变体,但我没有看到这种确切的情况,所以我会把它扔在那里。

我设置了一个 onPreviewFrame 回调。这会得到一个包含 NV21 数据的 byte[]。我们对其进行 h.264 编码并将其作为视频流发送出去。另一方面,我们看到视频倾斜了 90 度或 270 度,具体取决于手机。

所以问题是,如何旋转数据,而不仅仅是预览图像? Camera.Parameters.setRotation 只影响拍照,不影响视频。 Camera.setDisplayOrientation 特别说明它只影响显示预览,不影响帧字节:

This does not affect the order of byte array passed in onPreviewFrame(byte[], Camera), JPEG pictures, or recorded videos.

那么有没有办法在任何 API 级别更改字节数组的方向?如果做不到这一点,您甚至可以旋转进来的 NV21 (YVU) 格式,还是我需要先对其进行 RGB 处理?

最佳答案

原来你确实需要在发送之前自己旋转每一帧。我们最终使用了 libyuv,它有一个非常方便的功能,可以旋转和转换它 - libyuv::ConvertToI420

https://code.google.com/p/libyuv/

关于android - 如何更改相机预览回调缓冲区的方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8435814/

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