支持全平台的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架构1.png

最近有用户在使用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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值