zoukankan      html  css  js  c++  java
  • RTMP协议Web直播点播服务平台EasyDSS增加获取录像指定时间的m3u8播放地址

    EasyDSS是TSINGSEE青犀视频云边端架构中支持RTMP协议前端设备的视频直播点播平台,除了网页直播和点播外,也支持视频录像,录像一般根据录像计划设定即可。

    在近期开发中,我们增加了EasyDSS获取录像指定时间的m3u8播放地址功能。一开始这个功能返回的是录像指定时间内的mp4文件,但是考虑到ts转码到mp4需要的时间略长,因此用户使用时需要很长时间等待。所以经过讨论后,我们开发了新的接口,原接口也会保留。

    新接口是直接获取播放地址,也就是相当于对ts文件不做处理,大大节约了处理时间。

    if !strings.HasSuffix(dirPath, "/") && !strings.HasSuffix(dirPath, "\") {
       dirPath = dirPath + string(os.PathSeparator)
    }
     
    // 创建 video.m3u8 文件
    mfile, err := os.Create(dirPath + m3u8Name)
    if err != nil {
       return err
    }
    defer mfile.Close()
     
    w := bufio.NewWriter(mfile)
    fmt.Fprintln(w, "#EXTM3U")
    fmt.Fprintln(w, "#EXT-X-VERSION:3")
    fmt.Fprintln(w, "#EXT-X-MEDIA-SEQUENCE:0")
    timeStr := ""
     
    for _, tsname := range *strs {
       realTsPaths := strings.Split(tsname, sDay+"/")
       tsId := strings.Split(realTsPaths[1], "/")
       periodPath := filepath.Join(realTsPaths[0], sDay, tsId[0], fmt.Sprintf(`%s_record.m3u8`, id))
       timeStr = getTsTime(periodPath, tsId[1])
       fmt.Fprintln(w, timeStr)
       fmt.Fprintln(w, realTsPaths[1])
    }
     
    fmt.Fprintln(w, "#EXT-X-ENDLIST")
    w.Flush()
    

      

    EasyDSS视频直播/点播服务平台至诞生至今,我们做了不少版本的功能更新和升级,除EasyDSS外,TSINGSEE青犀视频全线产品均有演示平台供参考,用户可以进入演示平台阅览界面,也有测试版本供大家下载测试,若大家有兴趣可以联系我们进行测试。

     
  • 相关阅读:
    UVALive 7509 Dome and Steles
    HDU 5884 Sort
    Gym 101194H Great Cells
    HDU 5451 Best Solver
    HDU 5883 The Best Path
    HDU 5875 Function
    卡特兰数
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    Spark Scala Flink版本对应关系
  • 原文地址:https://www.cnblogs.com/easydss/p/14377754.html
Copyright © 2011-2022 走看看