欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

互联网直播/点播平台/RTMP推流服务器EasyDSS点播模块,265转码成264之后前端列表展示还是265编码bug

程序员文章站 2022-07-06 22:53:53
...

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

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

互联网直播/点播平台/RTMP推流服务器EasyDSS点播模块,265转码成264之后前端列表展示还是265编码bug

经过分析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
   }
}

互联网直播/点播平台/RTMP推流服务器EasyDSS点播模块,265转码成264之后前端列表展示还是265编码bug