LFLiveKit接入项目是2.6版本, iOS 16+系统的手机进行直播时, 当物体在移动过程中, 会出现马赛克问题. 具体原因是因为在推流时, 推流库会对B帧进行编码,视频编码器会对推流的帧进行重新排序,所以缓存的解码顺序可能会与视频渲染编码的顺序不同,导致了在直播过程中,物体移动就会出现马赛克.
解决方案就是防止视频帧重新排序.
LFHardwareVideoEncoder中第69行的kVTCompressionPropertyKey_AllowFrameReordering属性设置为kCFBooleanFalse(默认是kCFBooleanTrue)
iPhone 11 Pro Max 14.8.1
iPhone 11 Pro 16.4
iPhoneX 14.6
iPhone 6s 14.4.2
iPhone 13 Pro 16.1
网友评论