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

有用户在上传多声道的视频至EasyDSS平台内,通过EasyDSS转码成ts文件,随后使用播放器播放ts文件时出现无法播放的问题。

通过将有问题的ts文件和正常的ts文件进行对比,初步的分析是因为视频文件多声道的问题,导致播放器无法解析多声道,所以播放不出来。
此处我们需要通过命令的方式在转码的时候,将原视频文件中的多声道默认的转成双声道,这样播放器就能够解析出来。

参考代码如下:
//-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青犀视频官方网站。

EasyDSS是一个支持直播、点播、转码和上传的视频平台,广泛应用于线上教育。用户在遇到多声道视频转码为ts文件后无法播放的问题,经分析可能因播放器不支持多声道。解决方案是在转码时通过命令行指定将多声道转换为双声道,确保播放器可以正常解析。提供了一段示例代码用于实现这一功能。
403

被折叠的 条评论
为什么被折叠?



