ChinaYY7 / GPU_VIDEO

多路视频源硬解码、编码框架
10 stars 3 forks source link

多视频源硬解码、编码框架

项目简介

基于FFmpeg和CUVID库构建一套多视频源硬解码、硬编码框架,完成对多路视频文件或视频流的硬解码并硬编码成jpg图像用于人脸检测识别等场景。

进度

  1. 已完成一个三级流水线形式的视频解码框架,使用trylock形式避免各级阻塞,同时提供一个双队列来匹配各级之间的速度,避免在实时视频流时因阻塞导致丢包等问题;
  2. 针对H264格式抽掉一定的B帧后再进行硬解码,以减少每路视频的解码压力;
  3. 使整个框架支持横向、多GPU扩展,进一步提高解码的路数。

    需完善点

  4. 改变trylock队列的单例模式,应用至解码完成后到进行jpg编码中间的队列;
  5. 为jpg编码器构建一个管理器类,用于横向扩展,提高多路视频的jpeg编码的能力
  6. 为多路视频的横向扩展提供上层封装,并提供响应的负载均衡的算法;
  7. 为各级流水线间做速度控制,避免长时间的生产者快于消费者,撑爆队列;
  8. GPU解码器初始化时间较慢,先对GPU解码器进行预热后再正式开始解码过程。