Web直播点播平台EasyDSS点播上传纯MPEG4文件硬件转码无法播放如何解决?

2021-03-29 14:32:49 浏览数 (1)

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
   }
}

播放成功:

0 人点赞