支持全平台的RTMP推流组件EasyRTMP-iOS横竖屏切换后,如何保证推送的画面和界面UI界面保持一致

RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMP/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络下ieyi,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
RTMP推流,就是将直播内容推送到服务器的过程。

RTMP推流组件有哪些?

EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,经过多年客户实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。

结合EasyDSS流媒体服务器,为开发者提供专业、稳定的直播推流、转码、分发服务,全面满足低超低延迟、超高画质、超大并发访问量的要求。

最近有用户在使用EasyRTMP-iOS横竖屏切换后,如何保证推送的画面和界面UI保持一致?

解决问题

其实这里并没有真正的旋转屏幕,只是把View旋转了90度,然后再重新渲染画面:

self.mainView.transform = CGAffineTransformMakeRotation(M_PI_2);
[self.mainView updateConstraintsIfNeeded];
[self.mainView layoutIfNeeded];

而采集画面的摄像头,却是真正的旋转了,并转换了画面的宽高:

// 横屏推流
self.encoder.orientation = AVCaptureVideoOrientationLandscapeRight;
self.encoder.outputSize = CGSizeMake(height, width);

// 竖屏推流
self.encoder.orientation = AVCaptureVideoOrientationPortrait;
self.encoder.outputSize = CGSizeMake(width, height);
发布了64 篇原创文章 · 获赞 0 · 访问量 6840

猜你喜欢

转载自blog.csdn.net/EasyGBS/article/details/103527568