关于java开发阿里云视频直播的使用及掉坑、爬坑,欢迎入坑交流

话不多说,先上阿里云视频直播官方网站 https://help.aliyun.com/product/29949.html

一、先查看“产品简介”和“快速入门”,了解产品大概和限制。

二、以下是总结的一些开通服务及进行第三方视频直播的注意事项:

  0.先注册一个阿里云账号~
  1.先开通live服务,然后推流和拉流各自需要一个工信部备案的域名,可以在阿里云控制台申请添加域名,然后解析CNAME;【因为不是设备直接推流到阿里云,所以可以只添加一个播流域名】
  2.拉流播放域名还需要关联推流域名,否则推拉流不成功(如果只需要一个播流域名进行第三方拉流直播,则不需要关联);
  3.关联成功之后,一定不要忘了再次配置播流域名,对该域名进行跨域配置,如果不进行跨域配置,你的直播地址就无法在其他网站或者客户端上面播放,配置参数是access-control-allow-origin,取值是*,意为所有来源;
  4.可以直接在控制台中点击地址生成器,来生成推拉流地址(java代码中可以调用接口自动动态生成,查看“添加直播拉流信息”,回源地址填写完整的第三方源拉流地址);
  5.可以选择是否开启鉴权,如果开启,推拉流地址中也有鉴权验证(最初测试连通可以先不用鉴权,但正式开发时需要有鉴权,更安全。查看“推流地址与播流地址”及java代码示例https://help.aliyun.com/knowledge_detail/162752.html)

三、开始罗列一些阿里云的坑及解决方法或者解决不了~

   因为我自己的项目不使用阿里云进行推流,只是将第三方直播流地址拉取到阿里直播中心进行CDN内容分发,所以就只用了个播流域名,具体参考官网“拉流直播”部分。

  1.最大的坑就是“API参考”提供的接口参数,不仅头字母大写而且返回结果的结构都可能是错的,具体调用接口,一定要看相关的“Java SDK”,这里的例子才是正确的;
  2.添加“拉流配置”中,开始时间和结束时间是UTC格式的,比当前时间少了8小时,变换时间格式时容易弄错;且直播时间间隔最大为7天,超过需要联系阿里云技术人员;
  3.另一个比较无奈的是阿里云对第三方直播流地址进行拉取时,默认采用的是“主动拉流”,只要添加了拉流配置,时间到了就会主动根据地址拉流,但是超时时间很短,只有6s,网络不好就很容易断开;而且断开之后会有十几秒的等待,再次请求拉流;如果一直连接不上,会在拉流配置有效时间内,一直重复请求;【虽然咨询阿里云技术人员,可以修改拉取方式为“触发拉流”,即有人使用阿里云视频地址进行播放时,才会对第三方直播流地址进行拉取,关闭播放则断开;但这个方式不能在控制台修改,只能联系阿里云人员,而且需要告知第三方直播地址即回源地址域名,且是写死的,不能动态修改】
  4.地址鉴权很有必要,控制台打开鉴权URL设置,一般设置个主KEY就可以,这里的坑就是“有效时长”,其实鉴权地址真正的过期时间是“拉流配置”中的 结束时间-开始时间+有效时间;(不过一般对程序没多大影响,除非对地址时效性特别敏感的)
  5.特别无奈的一个问题就是无法统计查询实时在线人数,就是当前有多少人在使用阿里云视频地址播放。虽然有相应的所谓实时查询接口,但都有延迟,比如旧版本的DescribeLiveDomainOnlineUserNum(sdk的aliyun-java-sdk-live低版本3.7.5中有),虽然阿里云说被废弃了,但截至到目前还能用,实测有4分钟左右的延迟,也就是说查询的是4分钟前的在线人数;而新版本的DescribeLiveDomainOnlineUserNum(sdk的aliyun-java-sdk-live最新版本3.9.4中才有),实测有6分钟左右的延迟,比旧版本效率要差一点,具体原因可能是因为阿里云是间隔性用日志来统计的,新版本统计的因素多,所以慢一点,因此如果需要,还是推荐使用旧版本的实时在线人数查询。【注意:请求参数可以只用域名就行】

四、这些就是最近使用阿里云遇到的问题及解决方案,也入坑的朋友们欢迎“沟流交通”~~

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值