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

  • 相关阅读:
    手机端@media screen布局自适应
    JavaScript-判断语句(if...else)
    JavaScript-什么是变量
    网页上缺少标识符、字符串或数字怎么解决?
    jquery.qrcode.min.js生成二维码 通过前端实现二维码生成
    一步一回头撞在了南墙上
    C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
    C#判断操作系统是32位还是64位(转)
    实现HTML调用打开本地软件文件
    记某图片下载器破解笔记之增加试用次数
  • 原文地址:https://www.cnblogs.com/easydss/p/14377599.html
Copyright © 2011-2022 走看看