在直播推流中,由于网络受限,会出现画面模糊或者卡顿的情况,这些问题,往往与设置的参数有关。并不是数值越大越好,在不同的应用场景与不同的网络环境中合理的调节参数,可以最大化的满足直播的需求。Ucast 可通过手机APP或小程序对Ucast设备进行远程操控,在直播过程中实时查询设备状态、设置各种参数。
想调好参数,自然要先了解参数的含义:
分辨率
分辨率就是一张图片像素的大小,常见的有480、 720、1080等。分辨率越大,画面越清晰,一张图像需要的内存也越大。
码率
kbps(kilobit per second)是一个衡量速度的单位,也可以写为kb/s。视频码率的单位为kbps,千比特每秒。在网络推流时,码率设置的数值越低,传送内容越少,受网络波动也越小,但画质会下降。相对的码率设置的数值越高,画质越好,但对网络的要求也就越高。网络不稳定的情况下设置太高的码率,容易造成卡顿。
帧率(FPS)
视频画面,是通过无数张图片组成的,每张图片是一帧,图片的个数称为帧数,每秒图片的个数称为帧率,俗称 FPS。帧率对于视频很重要,为了视频连贯,一般最低是 30。帧率越大,视频看起来越流畅,需要的存储量越大,但是超过一个临界点后,人眼就区分不出差异了。
码率类型
CBR:Constant BitRate的缩写,意思是恒定(固定)比特率,指文件每秒钟的码率是固定不变的。CBR的特点是码率平稳,固定码流控制可以减少网络抖动的影响,不大起大落,适合网络直播。
VBR:Variable BitRate的缩写,意思是可变比特率,指文件每秒钟的码率是可以变化的。VBR的特点是码率波动起伏较大,但总体省空间,主要用来存储。网络条件非常好的情况下也是可以用的。
编码Profile
从高到低分别为:High、Main、Baseline
High:级别在Main的基础上增加了8x8 内部预测、自定义量化、无损视频编码和更多的YUV 格式(如4:4:4),用于广播及视频碟片存储(蓝光影片),高清电视的应用。
Main:级别提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced),同样提供对于CAVLC 和CABAC 的支持,用于主流消费类电子产品规格,如视频直播编码器、便携视频播放器、PSP和Ipod等。
Baseline:级别支持I/P 帧,只支持无交错(Progressive)和CAVLC,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。
关键帧间隔
视频每秒由几十甚至上百张图片组成,形成连续的画面,但是在短时间内大部分图片其实是相似的,完全可以只储存部分图片,播放的时候动态计算出图片即可,所以我们要想办法减少视频的大小。
实际应用的时候,对这些图片进行了分组,若干帧组成一组,一个组内保留一张图片。每一组称为一个 GOP, GOP 里保留的一张完整图片称为关键帧。了解了关键帧,那关键帧间隔就容易理解了,意思就是多少秒遇到一张关键帧。
加大GOP长度有利于减小体积。但GOP长度不能过大,太大则会导致GOP后部帧的画面失真,而且在丢帧后恢复时间较长,需要等到下一个关键帧才能恢复画面。GOP太小会导致生成的码流尺寸超过设定码率,并带来网络的不流畅和播放的卡顿。
最后
参数大致的意思,应该都了解了吧。打开Ucast APP或小程序,点击“更多设置”>“直播流设置”,即可对设备进行设置。由于应用场景、网络环境等各种因素,我们无法给出一个标准的参数来对所有的情况进行设置。