zoukankan      html  css  js  c++  java
  • 在线课堂/在线医疗直播点播平台EasyDSS如何将音频和视频数据分离?

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

    比如在我们本文分享的案例中,客户推流直播数据中生成的ts文件是有视频流和音频流的,但是实际上推流端只推送音频流数据,应客户的需求,直播数据只要生成音频流数据,这样用手机播放数据的时候在锁屏的状态下也能听到声音,但是就目前如果音视频两种流都有的话,手机锁屏会导致音频和视频流的同步中止播放。

    此处我们需要在获取数据之前将视频流和音频流都分离即可。在下载指定时间段录像的接口中,将ts文件转成了MP4文件,然后再将MP4文件中的视频分离出来,只剩下音频数据输出成MP4文件。

    再次查看直播数据的输出,只有音频流进行输出了。

     参考代码如下:

    if ty == "0" {
       var params1 []string
       params1 = append(params1, "-i", mp4PathTmpAudio)
       params1 = append(params1, "-acodec", "copy", "-vn", mp4Path)
       //params = append(params, mp4Path)
       cmd := exec.Command(EasyTrans(), params1...)
       cmd.Start()
       cmd.Wait()
       fmt.Println(cmd.Args)
       efile.RemoveFile(mp4PathTmpAudio)
    }
    

      

    当然在进行音频编码的时候,要确保音频编码的规范,否则也会出现无法播放或者音频识别失败的问题。当然EasyDSS也是支持用户实际下载部署测试的,欢迎了解。

  • 相关阅读:
    js检验文件格式
    java判空工具类
    $(document).ready() 是个什么函数?为什么要用它?
    Maven 手动添加jar
    java深克隆
    cors跨域详解
    常见异常类总结
    Spring事务回滚机制
    Java获取13位毫秒级时间戳
    JSON 字符串转换为 Map
  • 原文地址:https://www.cnblogs.com/easydss/p/14714530.html
Copyright © 2011-2022 走看看