zoukankan      html  css  js  c++  java
  • web无插件直播点播平台EasyDSS点播功能下只有原画分辨率才有声音的问题是什么原因造成的?

    EasyDSS视频平台同时支持视频直播和点播,在网校课堂方面,EasyDSS能很好的模拟课堂场景,并且不受时间、空间的限制,因此EasyDSS在很多课堂直播的项目应用中已经落地。

    EasyDSS中的点播支持不同清晰度的切换,在基础配置中设置即可,但是近期我们发现如果设置了多清晰度转码,原始分辨率设置的是原画,那么在播放点播视频的时候,切换到除了原画以外的其他分辨率播放视频,都是无法听到声音的。

    通过对代码的分析,我们得知是除了H264编码的视频,其他格式基本上都会出现这种情况。

    于是我们几乎可以确定问题出现的原因是在代码编写中,只针对了H264格式实现了清晰度的转码播放功能,其他编码格式并没有进行转码,所以导致听不到声音。

    因此在处理该问题的时候,我们在代码中添加判断:如果不是H264编码格式的视频,那么在清晰度转码的时候,同样需要进行与格式对应的转码操作。

    判断条件的参考代码如下:

    if aspect != "" {
       if sizes := strings.SplitN(aspect, "x", 2); len(sizes) == 2 {
          w, _ := strconv.ParseFloat(sizes[0], 64)
          h, _ := strconv.ParseFloat(sizes[1], 64)
          switch defType {
          case consts.DefinitionSD: //640x360
             nh := math.Ceil(640 / w * h)
             if int(nh)%2 != 0 {
                nh++
             }
             args = append(args, "-acodec", acodec, "-vcodec", vcodec, "-s", fmt.Sprintf("640x%v", nh), "-b", "300k")
          case consts.DefinitionHD: //1280x720
             nh := math.Ceil(1280 / w * h)
             if int(nh)%2 != 0 {
                nh++
             }
             args = append(args, "-acodec", acodec, "-vcodec", vcodec, "-s", fmt.Sprintf("1280x%v", nh), "-b", "500k")
          case consts.DefinitionFHD: //1920x1080
             nh := math.Ceil(1920 / w * h)
             if int(nh)%2 != 0 {
                nh++
             }
             args = append(args, "-acodec", acodec, "-vcodec", vcodec, "-s", fmt.Sprintf("1920x%v", nh), "-b", "1000k")
          }
       }
    }
    
    

    除线上教育外,EasyDSS也已经支持集成VR视频播放,具体可了解:视频智能分析/人脸识别平台EasyDSS实现景区智慧旅游体系,VR+大数据打造风景区实时视频。如果还想了解更多视频相关解决方案,欢迎联系我们。

  • 相关阅读:
    Spring IOC容器的初始化-(二)BeanDefinition的载入和解析
    Spring IOC容器的初始化—(一)Resource定位
    SpringMVC的启动过程
    Spring IOC容器在Web容器中是怎样启动的
    Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 问题分析
    网络丢包分析
    yum安装jdk如何配置JAVA_HOME
    Linux网卡绑定
    Linux Buffer/Cache 的区别
    理解load averages
  • 原文地址:https://www.cnblogs.com/easydss/p/14437208.html
Copyright © 2011-2022 走看看