RTMP协议的视频平台EasyDSS除了直播外,还支持点播,转码、上传一体化设计,使音视频资源转码后可立即面向互联网进行发布,在线上教育领域已经能够成熟落地。
有用户在上传多声道的视频至EasyDSS平台内,通过EasyDSS转码成ts文件,随后使用播放器播放ts文件时出现无法播放的问题。
通过将有问题的ts文件和正常的ts文件进行对比,初步的分析是因为视频文件多声道的问题,导致播放器无法解析多声道,所以播放不出来。
此处我们需要通过命令的方式在转码的时候,将原视频文件中的多声道默认的转成双声道,这样播放器就能够解析出来。
参考代码如下:
代码语言:javascript复制//-ac 2 设置双声道的
args := []string{"-fflags", " genpts", "-hide_banner", "-i", vod.RealPath, "-vcodec", vcodec, "-acodec", acodec, "-ac", "2"}
if vod.Aspect != "" {
if sizes := strings.SplitN(vod.Aspect, "x", 2); len(sizes) == 2 {
h, _ := strconv.Atoi(sizes[1])
if h%2 != 0 {
args = append(args, "-vf", "scale=iw:trunc(ow/a/2)*2")
}
}
}
当然了,EasyDSS内还运用了很多其他层面的开发技巧,大家可以关注我们,我们将在博客内不定期更新。如果还想了解EasyDSS更多相关内容,欢迎联系我们或者直接访问TSINGSEE青犀视频官方网站。