libstreaming-如何旋转流媒体视频



libstreaming在横向模式下运行良好。不幸的是,我的应用程序将不得不在人像模式下运行。预览窗口没有问题-我可以用将其垂直设置

session.setPreviewOrientation(90);

但是流的接收器仍然会将视频侧向放置。有解决方案吗?

在Android的Mediarecorder中,有一种方法setOrientationHint(int度)其将旋转流式传输/录制的视频。但我在libstreaming中没有发现类似的东西。。。

我以前遇到过这个问题。我实施了3种可能的解决方案。

  1. onPreviewFrameAPI中的每个YUV帧转换为位图,然后旋转位图,最后将位图转换回YUV帧。这种解决方案的缺点是视频帧已经下降了很多(在我的情况下,从24到4-5 FPS)。

  2. 使用此处的代码顺时针旋转每个YUV帧90/270度(基于相机的方向)。这种解决方案的缺点是图像会失真,视频帧也可能会丢失。

  3. 使用谷歌的一个名为libyuv的开源库。如果你了解JNI,这对你来说会很容易。顺便说一句,你可以在这里和这里看到关于这个库的演示。因为旋转过程是在原生层处理的,所以这是一个有效的解决方案,也是迄今为止最好的解决方案。

希望这些信息对任何遇到这个问题的人都有帮助。

将视频质量从(320240)更改为(1280720)。然后,一旦你开始,它应该被改变和旋转。顺便问一下,你是如何实现你的接收器的?

相关内容

  • 没有找到相关文章

最新更新