专栏首页TSINGSEE青犀视频EasyDSS视频平台下载录像由于ts文件原因导致MP4文件缺秒问题优化
原创

EasyDSS视频平台下载录像由于ts文件原因导致MP4文件缺秒问题优化

EasyDSS视频平台支持录像下载,下载下来的录像文件会留存一份ts文件,同时会以mp4的格式保存在录像文件夹当中。某些定制项目下,EasyDSS的录像下载后发现MP4文件缺秒。虽然我们之前处理过类似的问题,但是造成本次问题的原因有所不同。

该问题实际上和录像文件的ts文件有关,当系统下载mp4文件时,后端先去查询对应的ts文件,而由于EasyDSS的查询并不完整,才导致用户下载MP4文件时不完整。

为了解决这样的问题,我们将系统的逻辑改成根据下载的参数合成m3u8文件,再用该m3u8文件转mp4文件,参考代码如下:

    //生成m3u8
    //m3u8TS, err := r.getRecordM3U8File(id, start, end, videoID, true)
    _,fileRealPath_m3u8, err:=service.GeneterateRecordM3u8(id,starttime, endtime,true)
    if err != nil {
        AbortWithString(c, http.StatusBadRequest, "生成M3U8出错")
        return
    }
    //m3u8转MP4
    //mp4_name := id+"_"+starttime+"_"+starttime+".mp4"
    filePath_mp4 := trans.M3U8ToMP4_TimeName(fileRealPath_m3u8,mp4Path)
    if filePath_mp4 == "" {
        AbortWithString(c, http.StatusBadRequest, "M3U8转MP4失败")
        return
    }
    r.operFile(c, operate, filePath_mp4, videoID)
        efile.RemoveFile(fileRealPath_m3u8)

最后会删除合成的m3u8文件,mp4文件定时清理,释放不必要的磁盘空间代码如下:

解决后可成功下载完整mp4文件:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • TSINGSEE青犀视频播放视频流的编码格式和封装格式有什么关系?

    TSINGSEE青犀视频经过在视频平台项目开发过程中的多年积累和沉淀,已经有了EasyNVR、EasyGBS、EasyDSS、EasyCVR等优秀的视频流媒体软...

    TSINGSEE青犀视频
  • EasyDSS多路视频合成一个视频流时如何解决卡顿、内容丢失等问题?

    在我们进行EasyDSS某个项目的定制版本开发时,项目要求能够在EasyDSS内生成一个完整的多路合成视频文件和复合的播放地址。起初的执行逻辑是根据需求直接将符...

    TSINGSEE青犀视频
  • 如何尽量避免网页直播点播视频平台EasyDSS下载录像转码出现cpu过高的问题?

    经过一段时间的攻克,目前TSINGSEE青犀视频研发团队已经将市面上可靠稳定的视频网页直播点播平台EasyDSS的录像下载功能研发完毕,实现方式可以参考:Eas...

    TSINGSEE青犀视频
  • EasyDSS录像调用接口下载文件过大合成报网页超时的错误优化方案

    一般来说,TSINGSEE青犀视频平台的录像文件都能够以TS切片的形式存储到服务器上,同时也可以合成MP4文件。但是在直播录像调用接口下载时,如果视频太大,则f...

    TSINGSEE青犀视频
  • EasyDSS多路录像文件合成视频流无法生成视频文件的处理方式

    之前在对EasyDSS做部分项目现场的定制开发时,我们提到了将现场多路视频合成m3u8播放地址的过程,在这个过程中可能出现一些不适配的问题,需要逐步去做调整。

    TSINGSEE青犀视频
  • 在线课堂/在线医疗直播点播平台EasyDSS如何将音频和视频数据分离?

    跟所有TSINGSEE青犀视频云边端架构产品一样,EasyDSS视频直播点播平台可以将音视频数据同步传输和录制,但是在部分现场中,项目需要将直播的视频和音频流进...

    TSINGSEE青犀视频
  • 如何获取RTMP协议Web直播点播服务EasyDSS视频录像指定时间的m3u8播放地址?

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

    TSINGSEE青犀视频
  • RTSP协议视频智能分析平台EasyNVR播放界面为什么无法查看HLS视频流?

    自2021年开年来,各大浏览器就已经禁止了RTMP协议视频流的网页播放,flash插件已经成为历史,但是其他协议视频流的队伍仍在不断壮大,拿EasyNVR平台来...

    EasyNVR
  • EasyDSS获取指定时间录像m3u8播放地址兼容iOS平台吗?

    M3U8文件是一个记录索引的纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。TSINGSEE青犀视频Eas...

    TSINGSEE青犀视频
  • EasyDSS开启虚拟直播无法显示视频流跟TS文件有什么关系?

    EasyDSS视频平台观看视频推流直播不需要安装插件,网页直接即可播放,通过浏览器进入平台即可进行配置,对用户来说,便捷可控,无需另行搭建服务器,具有很大的优势...

    TSINGSEE青犀视频
  • 开源的MPEG-DASH是天赋异禀还是难成大器?你有何看法?

    COVID-19疫情对全球的影响,加速了视频通信应用的发展。不管是在Netflix还是YouTube上浏览内容,MPEG-DASH协议都可能发挥了作用。那么什么...

    TSINGSEE青犀视频
  • MP4大文件虚拟HLS分片技术,避免服务器大量文件碎片

    对于大家经常见到和使用到的普通MP4来说,作为电影、电视文件的存储容器,是很好的,不过对于流媒体点播来说,最大的缺点就是它的媒体信息和关键帧索引都集中存放在mo...

    hbstream
  • 如何使用FFmpeg将互联网直播点播平台内直播视频流转化为HLS流?

    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。在音视频开发过程中,经常需要使用 FFmpeg 将原先的一个单视频文件转换...

    EasyNVR
  • 在线课堂/在线医疗视频直播点播平台EasyDSS录像分割间隔如何通过ffmpeg切片ts流?

    EasyDSS系统平台在在线教育、在线医疗等项目中都能够提供很好的教学方式,根据不同的项目需求,EasyDSS可以实现特殊的功能定制和开发。在我们遇到的部分Ea...

    TSINGSEE青犀视频
  • 腾讯课堂点播上云客户端实践总结

    点播业务目前用的是 HLS 协议。HLS协议全称是 HTTP Live Streaming,它是一个由苹果提出的基于HTTP的流媒体网络传输协议。HLS协议规定...

    腾小云
  • 音视频初探

    码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,通俗一点的理解就是取样率,是视频编码中画面质量控制中最重要的部分,一般我们用...

    甜哈哈
  • RTSP 媒体协议流的录制方案及其覆盖策略详解(上)

    【自我介绍】大家好,我是 Data-Mining,别名 liuzhen007,中国邦德,一个敲代码的邦德,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音...

    liuzhen007
  • Web无插件点播平台EasyDSS在上传部分点播文件出现无法观看问题如何修复?

    RTMP协议的视频平台EasyDSS除了直播外,还支持点播,转码、上传一体化设计,使音视频资源转码后可立即面向互联网进行发布,在线上教育领域已经能够成熟落地。

    TSINGSEE青犀视频
  • Nginx零成本、易操作实现网站视频加速

    最近有朋友做了个网站,网站上面放了几个视频,觉得视频播放慢、卡顿,想让我帮忙优化下,今天就介绍个零成本,操作又简单的方法优化网站上视频播放速度

    李俊鹏

扫码关注云+社区

领取腾讯云代金券