zoukankan      html  css  js  c++  java
  • 在线课堂web无插件直播点播平台EasyDSS播放指定时间段的录像报404是什么原因?

    EasyDSS作为TSINGSEE青犀视频开发的RTMP协议视频直播点播平台,在这两年的居家办公及在线课堂方面都体现了其远程交互的价值。EasyDSS集转码、上传于一体化的设计,使音视频资源转码后可立即面向互联网进行发布,分享更便捷,使用更合理。

     

    在播放EasyDSS的录像时,如果录像id中含有“-”字符,此时如果想要播放指定时间段的录像,第一次请求会出现404,找不到对应的录像,第二次请求的时候就会出现正在合成中,客户无法看到对应时间段的视频。

    因为我们知道录像ID的格式与其他格式不同,所以就从这个“-”字符开始研究,“-”字符在代码中,本来代表的数据是时间,但是由于该字符存在于ID中,因此截取的字符串不是时间,这样在解析时间的时候就会出现错误,导致找不到视频出现404。

    而我们请求两次都失败,则是第一次请求了,系统默认去合成视频,因为一直无法合成成功,所以第二次请求的时候出现正在合成中。

    因此我们从代码中做修改,在截取字符串的时候有选择性的获取对应时间的字符串。

    参考代码如下:

    for i := 0; i < len(tsNames); i++ {
       str := strings.Split(tsNames[i], "-")
       c := etime.StrYYYYMMDDHHmmssToTime(str[len(str)-2])
       if i+1 < len(tsNames) {
          str1 := strings.Split(tsNames[i+1], "-")
          _c := etime.StrYYYYMMDDHHmmssToTime(str1[len(str1)-2])
          if start.After(c) && start.Before(_c) {
             m3u8 = append(m3u8, prePath+tsNames[i])
          }
       } else {
          if start.After(c) {
             m3u8 = append(m3u8, prePath+tsNames[i])
          }
       }
       if !c.Before(start) && !c.After(end) {
          m3u8 = append(m3u8, prePath+tsNames[i])
       }
    }
    

      

    在EasyDSS内,平台返回404错误有很多种原因,之前我们就为大家讲过调用上传点播文件接口返回404,大家如果碰到类似问题也可以参考下。

    EasyDSS平台已经支持H265编码视频的播放,并且凭借其支持直播点播的特性,在校园教育直播、网络推流直播等项目场景中都已经落地,如果大家想实际部署测试的话,可以联系我们获取测试账号,欢迎大家的了解。

  • 相关阅读:
    apple Safari input text 的兼容问题
    移动开发不能不知道的事-关于点击元素时出现的阴影
    移动开发不能不知道的事- css3复选框样式自定义
    移动开发不能不知道的事-中西文字体
    移动开发不能不知道的事-dp
    猴子吃桃
    3个数排序
    求10!
    一个简单的求和程序
    输出一个三角形
  • 原文地址:https://www.cnblogs.com/easydss/p/14377599.html
Copyright © 2011-2022 走看看