使用类问题

什么是转发模式和转码模式?

LSS包括两种直播模式类型:

  1. 转发模式(新建直播流时选择live.rtmp_hls_forward_onlylive.rtmp_forward_only模板),该模式不作实时转码处理,不产生转码计费;
  2. 转码模式(新建直播流时选择的转码模板),该模式对输入码流进行实时转码处理,包括码率、分辨率、编码标准等流处理功能。

转发模式时forwardOnly设置为true;转码模式时forwardOnly设置为false,同时配置video/audio等转码相关参数。

LSS针对不同场景内置了转码模板,可以直接选取使用。

转发模式和转码模式的区别是什么?我该如何选择?

  如果您使用下列直播场景时,建议采用转码模式:

  1. 需要多码率/多清晰度支持; 
  2. 需要添加水印(图片水印、时间戳水印);
  3. 需要对直播流加密;
  4. 需要将高码率视频转码成低码率视频流的;
  5. 采集源端编码器性能较差,压缩率较低,需要服务器端进一步压缩的(建议将上传码率设置为转码输出码率的120%~130%);
  6. 输入流是非H.264(视频)或者非AAC(音频)编码;
  7. 需要更精确更流畅更稳定的码率控制;
  8. UGC场景中需要统一的输出分辨率码率等(输入流会因为设备、平台不同而不同);

现在支持哪些直播源?

LSS支持RTMP推流,在stream级别支持RTMP/HTTP/RTSP拉流;域名级别支持RTMP/HTTP-FLV/HTTP-HLS拉流。

  1. RTMP推流:

  RTMP推流的地址可以通过百度智能云LSS控制台或者LSS的SDK/API来创建一个直播流Stream获得。推流包括以下几种形式:

* 台式计算机或笔记本,使用摄像头或者桌面

  可以使用LSS的Windows端的推流SDK(或工具)或者第三方软件采集摄像头视频或桌面图像,将视频或桌面推流至LSS的RTMP推流地址。相关的第三方推流软件包括:OBS(推荐),FMLE,XSplit等。

* Android/iOS, 使用手机摄像头

  可通过使用第三方软件或SDK采集摄像头视频,并推送视频流至LSS的RTMP推流地址。IOS端的RTMP推流工具包括EZWebPlayer, broadcast me等;Android端的RTMP推流工具包括arutcam、video broadcaster+、os broadcaster、broadcastme、android broadcast、tikilive、rtmp streamer mini等。百度智能云LSS也推出了基于Android/iOS的推流SDK。

* 视频采集设备如高清摄像机

  该类型设备如果具备HDMI或者SDI输出接口,可以接入编码器,以RTMP推流的方式向LSS发布直播内容。您需要将LSS提供的推流地址配置到编码器的RTMP发布地址。

* 嵌入式Linux平台

  Linux平台可以使用ffmpeg来采集视频源,并推送至LSS的RTMP推流地址,比如通过如下命令行:

ffmpeg -f v4l2 -r 25 -s 640x480 -i /dev/video0 -f flv {your_rtmp_address}

  参考链接:https://trac.ffmpeg.org/wiki/Capture/Webcam#Linux

  您也可以在程序中调用ffmpeg的API来进行RTMP推流。

* 播放视频文件

  通过读取某个视频文件作为视频源来向LSS的RTMP推流地址进行视频发布。使用ffmpeg命令来实现(Windows/Linux/Mac均适用),比如通过如下命令行:

ffmpeg -re -i {your_video_file} -r 25 -s 640x480 -f flv {your_rtmp_address}
  1. RTMP/HTTP/RTSP拉流:

  使用RTMP/HTTP/RTSP拉流,用户只需填写已有直播源的拉流地址(公网可访问),开启拉流操作后,系统会从该地址自行拉取音视频流。

* RTMP既可以推流又可以用来直播拉流,一般传输的是FLV,F4V格式流。
* HTTP将所有的数据作为文件做处理,没有特定的传输流。
* RTSP主要用来控制具有实时特性的数据发送协议,一般传输TS,MP4格式的流。

如何保护直播版权,同时防止非授权用户访问?

LSS支持推流认证、播放认证、内容加密和防盗链等多种安全策略,保护您的直播版权不受侵犯。

  • 推流认证

  为确保推流频道不被非法的占用,防止非法推流,音视频直播LSS支持采用token认证方式与有效期限制结合的推流地址。

  • 播放认证

  为了避免播放地址长期暴露带来风险,LSS支持播放地址加密策略。开启播放认证后,用户可设置播放地址的有效期,并且需要加入播放token才可以进行播放。

  • 内容加密

  针对HLS直播视频流LSS提供基于AES128加密视频流和密钥访问控制的DRM方案;RTMP直播视频流暂不支持DRM方案。

  • 防盗链

  支持用户在LSS控制台设置防盗链Referer/IP黑白名单功能。

我应该设置多大的推流码率?

根据实践经验列举了分辨率与推荐上传码率的对应关系,供参考:

分辨率 推荐视频码率(kbps) 推荐音频码率(kbps)
240p(426X240) 240 40
360p(640X360) 440 80
480p(852X480) 800 80
720p(1280X720) 1200 128
1080p(1920X1080) 2000 128

说明:

视频内容中不同运动强度的直播需要的码率有所差别,对低运动(low motion)的直播内容(比如固定摄像机的讲座内容)等可以适当减小码率,针对高运动(high motion)的直播内容(比如足球比赛或者娱乐活动等)可以适当增大码率。

如何设定不同清晰度的直播?

在模板中hls/adaptive字段设置为true,并设置最高清晰度的分辨率与码率,系统将自动为您生成高、中、低清晰度的直播码流。系统内置了多个支持多清晰度自适应码率的转码模板,您可以按需选用。

rtmp输出模式中的多清晰度支持即将开放,敬请期待。

如何录制直播视频?

LSS支持将直播过程中的视频流录制存储到音视频点播VOD或BOS,在新建直播流时,可选择同步录制功能。如果您的视频将用于点播回放推荐存储到VOD,如果仅用于备份存储亦可选择存储到BOS。

个别用户视频直播有时会有卡顿?

影响直播卡顿的因素包括,直播源处理能力、上传网络稳定性、播放端所在设备处理能力、播放端所在网络稳定性等。

您可以通过以下方式解决直播卡顿现象:

  • 改变直播源编码参数
  • 减少上传码率
  • 改变上传网络环境
  • 改变播放端设备配置
  • 改变播放端网络环境等

如果问题依然存在,请提工单,我们会尽快处理。

如何完成LSS推流域名和播放域名的CName设置?

请您参考配置CNAME

LSS可以使用未备案的域名吗?

不能。请您先参考备案指南完成备案。

使用LSS如何新建一个直播流?

在您的域名下按需定义推流路径即可,无需显式新建一个直播流。

查询实时Stream统计数据时,报Exception是为什么?

查询指定domain、app下所有stream的实时统计数据时,仅对streamingStatus=STREAMING的stream有效,否则会报Exception。