养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

直播如何去马赛克

时间:2024-10-27 22:19:44

「马赛克」被很多人称为是一种罪恶的发明,除了应用在某种不可描述的场景中,在直播过程中的马赛克却有很多技术原因,直播如何去马赛克?这里分享一篇七牛云的经验分享,避免不必要的开发

在直播画面中什么是马赛克

1、马赛克主要是指画面中出现多处类似小方块的图像,导致画面的局部或者整体看不清楚的情况。

直播如何去马赛克

直播画面中马赛克的问题排查

1、2.1视频编码参数配置原因视频的画质,是由它的编码质量决定的,压缩得越「厉害」,画质损失就越严重,马赛克就越多。

2、-哪些关键因素决定了编码器的压缩质量呢?编码器最重要的五个参数:画质级别、码率、帧率、G蚪嬷吃败OP大小、码控方式画质级别:H.264有四种画质级别,Basel足毂忍珩ineprofile,Extendedprofile,Mainprofile,Highprofile。级别越高,压缩的效果越好,但算法复杂度更高,导致功耗也更高。码率:决定了视频被压缩的程度,码率越低,丢失的信息也就越多,画质也就越差。但是,带来的好处是占用的网络带宽会比较小,容易在互联网上传输,不容易出现卡顿。帧率:决定了视频的流畅性,帧率越高,视频越流畅,但每秒钟编码器要处理的数据量也就越大,同等码率下压缩出来的视频质量就越差。GOP大小:决定了视频的延时,GOP越小,延时就越小,但GOP小带来的问题是关键帧数量多,数据量变大,因此,同等码率下压缩出来的视频质量就会越差。码控方式:一般编码器都有固定码率(CBR)和动态码率(VBR)两种码控方式,前者是指码率优先,为了保证码率尽可能稳定,会主动降低画质,因此容易出现马赛克,后者是指画质优先,会优先保证画质,减少马赛克,但码率会浮动很大。当然,还有一个重要的因素,就是编码器本身的实现质量,软编一般可以保证在不同手机上效果一致,而硬编则完全依赖手机所使用的硬件平台了。

3、-推荐的编码器参数配置一般直播场景中,考虑到手机性能和功耗,一般画质级别采用的是Baselineprofile,GOP通常设置为1~3s,帧率一般在15~24帧,而码率的配置,则需要根据推流的分辨率来决定,推荐的分辨率和码率配置关系如下图所示

直播如何去马赛克

4、总之,关于视频编码与马赛克的关系,我们只需要记住一个原则:送入编码器的数据量越大,编码压缩得越「厉害」,丢失的图像信息也就越多,数据解码后的产生马赛克也就越「厉害」。

5、2.2图像尺寸原因一般摄像头采集的图像分辨率,跟最终推流的尺寸不一定完全匹配,当摄像头采集的分辨率大于推流尺寸的时候,需要先对画面进行「剪裁」处理,而当摄像头采集的分辨率大于推流尺寸的时候,则需要先对画面进行「拉伸」处理,然后再送入编码器中编码压缩。

直播如何去马赛克

6、例如:小尺寸的画面(比如:640x480),拉伸到大的尺寸(比如:1280x720),则很容易会产生模糊和马赛克,这样的画面再送入编码器中编码,无论怎样配置都无法再改善已经产生的马赛克了。所以,为了降低马赛克,我们必须要保证,摄像头采集的分辨率,一定要大于最终推流的分辨率。

7、2.3咯悝滩镞客观条件原因如果主播在光线非常暗的环境下,本身送入编码器的图像质量也不会特别好,因此,同等条件下马赛克也会相对严重些。同样,如果拍摄的是剧烈晃动的画面,剧佳搌囊涉烈变化的画面信息量也要大很多,因此,编码的复杂度会明显增大,如果要保证码率不会浮动太大,就必然要降低输出的图像质量,从而产生马赛克现象。如果直播应用是主打这种光线暗的场景或者剧烈运动的画面场景的话,为了降低马赛克,可以考虑适当将编码参数配置得「高」一点(比如:码率高一点,帧率低一点等等),留出充分的「富余」空间,以抵抗环境因素带来的影响。

8、2.4关键帧丢失还有一种马赛克现象,是由于视频流中丢失了关键帧,导致播放器解码后花屏,从现象来看有点像马赛克,但实际上跟上面讨论的不是同一个问题,在后续的文章中专门讨论这个花屏问题。

© 一点知识