音视频直播LSS

    性能类问题

    直播画面在播放的时候不清晰

    针对于模糊、不清晰的问题,首先检查下本地的录像设备是否正常,更换录像设备后再次尝试,另外视频内容中不同运动强度的直播需要的码率有所差别,对低运动(lowmotion)的直播内容(比如固定摄像机的讲座内容)等可以适当减小码率,针对高运动(highmotion)的直播内容(比如足球比赛或者娱乐活动等)可以适当增大码率。

    直播视频的同时在线观看人数有限制么?

    目前我们的直播服务没有人数限制,理论上可以支持百万级到千万级用户同时在线观看。

    直播视频的延迟如何?

    直播视频的端到端延迟影响因素包括采集端、网络传输、播放端以及采用的输入输出协议。

    直播中延迟的影响因素包括下列几种:

    1. 推流端设备的性能与网络状况。
    2. 播放端设备的性能与网络状况。
    3. 所使用的播放协议:一般来说,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 80 25
    标清360p 640X360 440 80 20

    例如采用OBS进行推流时,设置如下参数:

    1.以直播采用标清480p为例,菜单栏选择“设定”->“编码”,设置视频最大比特率(码率),缓冲大小、关闭“使用CBR固定位率”,以及音频码率等,如下图所示:

    2.菜单栏“设定”->“影像”中设置压缩分辨率,您可以从压缩分辨率选择与自己期望最接近的一项。本例期望分辨率为852x480,如下图所示:

    3.菜单栏“设定”->“高级”中设置X264 CPU预设为ultrafast, 编码配置文件为high, 关键帧间隔为3秒,如下图所示:

    说明:移动端用户建议您采用百度推出的推流端SDK,可以更好的减少端到端的延迟。

    4.菜单栏“设定”->"广播设定",FMS URL输入推流地址的URL,播放路径/串码流输入token密钥,如下图所示:

    至此,推流端(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加速。

    上一篇
    使用类问题
    下一篇
    计费类问题