视频直播点播平台EasyDSS内已经集成了H265编码播放器,能够播放H265编码视频,且支持上传H265编码的点播文件。

我们测试的时候发现在上传H265编码的点播文件时候,其中如果设置了硬解码或者是软解码,会将上传的H265文件转码成H264编码的文件,但是列表展示的文件信息,其中视频的编码格式没有转换过来,还是264编码的信息。

33.png

经过分析ffmpeg转码机制后,我们发现导致该问题的原因是ffmpeg在转码的时候虽然已将编码格式转换成了H264格式,但是没有记录到数据库中,导致前台的列表显示还是H265的编码。

在通过ffmpeg转换编码格式的时候,将点播文件的编码格式进行修改存入数据库。

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"
   default:
      vcodec = videoTranWay
   }
}

34.png

posted on 2020-10-09 17:43  EasyDSS  阅读(244)  评论(0编辑  收藏  举报