EasyDSS视频直播点播平台支持视频的上传,上传的点播文件也支持不同方式的视频转码:软件转码和硬件转码。之前的博文中为大家介绍过两种解码方式的区别:EasyDSS点播配置中视频转码方式中软件转码和硬件转码的差别,大家可以了解一下。
我们偶尔会碰到EasyDSS平台内上传点播文件,上传纯MPEG4视频文件时试用硬件转码无法播放的情况。
配置如下:
播放失败:
首先出现这个问题的前提是需要将点播的配置设置成硬件转码,然后上传纯MPEG4文件格式的视频。上传一直到转码成功的步骤都是正常的,但是却是无法播放。经过排查,发现原因是MPEG4文件不支持硬件转码,因此在此处我们需要舍弃硬件转码的方式,采用软件转码。
获取上传文件的原始格式,如果是MPEG4格式的视频,则不进行硬件转码,通过软件转码。
代码语言:javascript复制if vod.Rotate == 0 {
switch vod.VideoCodec {
case "H.264":
vcodec = "copy"
case "VP9":
// vp9 编码,仅能够转换成 h265 编码, nvenc 代表设置编码
vcodec = "hevc_nvenc"
case "HEVC":
// hevc 编码为 h265 编码,转换成 h264,有两种 h264_nvenc、libx264、copy
// libx264 会导致 cpu 使用率 为 100%
vcodec = h265VideoTranWay
vod.VideoCodec = "H.264"
case "MPEG4":
//MPEG4无法使用硬件转码
default:
vcodec = videoTranWay
}
}
播放成功: