性能类问题
直播画面在播放的时候不清晰
针对于模糊、不清晰的问题,首先检查下本地的录像设备是否正常,更换录像设备后再次尝试,另外视频内容中不同运动强度的直播需要的码率有所差别,对低运动(lowmotion)的直播内容(比如固定摄像机的讲座内容)等可以适当减小码率,针对高运动(highmotion)的直播内容(比如足球比赛或者娱乐活动等)可以适当增大码率。
直播视频的同时在线观看人数有限制么?
目前我们的直播服务没有人数限制,理论上可以支持百万级到千万级用户同时在线观看。
直播视频的延迟如何?
直播视频的端到端延迟影响因素包括采集端、网络传输、播放端以及采用的输入输出协议。
直播中延迟的影响因素包括下列几种:
- 推流端设备的性能与网络状况。
- 播放端设备的性能与网络状况。
- 所使用的播放协议:一般来说,RTMP的延迟在2~4秒左右,HLS的延迟在10秒~20秒左右。RTMP输出流延迟会显著低于HLS输出流。
如何优化端到端的直播延迟?
在保障高质量流畅播放的前提下并取得较低延迟,您可以采用下列方法,对推流端、服务端、播放端分别设置。
推流端:
在推流端我们建议使用如下参数:
配置参数 | 推荐值 |
---|---|
码率控制 | 不使用CBR,设置自定义缓冲区等于编码码率。 |
x264 CPU 预设(x264 preset) | ultrafast |
编码配置文件(H.264 profile) | high |
关键帧间隔(GOP length) | 3秒或者(75~90帧) |
推荐按照如下分辨率和码率的关系设置编码参数:
清晰度 | 分辨率 | 视频码率(kbps) | 音频码率(kbps) | 帧率(fps) |
---|---|---|---|---|
超高清1080p | 1920X1080 | 2000 | 128 | 30 |
高清720p | 1280X720 | 1200 | 128 | 30 |
标清480p | 852X480 | 800 | 96 | 25 |
标清360p | 640X360 | 440 | 96 | 20 |
例如采用OBS进行推流时,设置如下参数:
1.以直播采用标清480p为例,菜单栏选择“文件”->“设置”->“输出”,输出模式选择“高级”,设置视频码率,设置码率为800kbps,缓冲大小800,关键帧间隔为2秒,X264 CPU预设为ultrafast, 编码配置文件为high,如下图所示:
在音频选项卡中选择推荐的音频码率,本例期望音频码率96,如下图所示: 2.菜单栏“文件”->“设置”->“直播”,服务器输入推流地址的URL,推流码输入token密钥,如下图所示:
3、菜单栏“文件”->“设置”->“视频”中设置压缩分辨率,您可以从压缩分辨率选择与自己期望最接近的一项。本例期望分辨率为852x480,期望帧率为25,下图所示:
说明:移动端用户建议您采用百度推出的推流端SDK,可以更好的减少端到端的延迟。 至此,推流端(OBS)完成参数配置。
服务端:
您还可以在创建转码模板时,对模板参数进行设置,从而降低延迟。
HLS直播输出流,对HLS切片设置,分片时长设为3秒,TS切片数为3~4个,如下图所示:
播放端:
播放器缓存越长,端到端延迟越大。Flash播放器支持对最低缓冲长度的设置,建议用户在RTMP直播中使用1~2秒的缓冲长度,以百度Web播放器为例,建议设置缓冲长度为1s,如下图所示:
移动端用户采用下列播放设备,可以有效减少直播延迟时间:
- IOS用户推荐采用iphone 5及以上设备,系统支持IOS 8.1以上。
- Andriod用户推荐使用1~2年内生产的主流机型。
如何加速RTMP首屏加载时间?
LSS支持在CDN节点缓存最新的GOP数据(从关键帧开始的音视频数据),使得播放端能够快速加载视频画面。
系统默认开启缓存GOP,无需手动配置。凭借百度智能云的“追赶播放”专利技术,用于追赶播放当前最新幀之前的GOP缓存幀,以达到最小的端到端延迟,可在加速RTMP首屏加载时间的同时,不增加端到端的延迟。
直播视频的清晰度如何?
转发模式的直播,清晰度取决于视频输入端的清晰度,服务本身对清晰度未做处理; 转码模式的直播,清晰度取决于视频输入端及模板中转码的设置。
是否需要启用CDN加速?
不需要。LSS已默认启用CDN加速。
LSS是否支持srt推流?
百度智能云音视频直播LSS暂不支持srt推流,目前只有rtmp推流。