searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

GPU转码能力初探

2023-09-20 01:44:19
63
0

作为音视频领域具有决定话语权的FFmpeg,是国内各大厂商音视频处理的首选解决方案。本位以FFmpeg-3.4.2版本为例,介绍如何通过使用FFmpeg来进行基于GPU的转码, 进而对GPU硬件转码能力进行一个摸底,初步了解GPU并发转码的能力。

 

本文使用的GPU型号:NVIDIA GeForce RTX 3060  12G显存

测试视频:h264_aac_1080x1920_3000k_30fps_4gop_300s.flv 

测试视频属性:h264-1080P-30fps

测试内容:测试RTX3060 在转码成H265/H264码流过程中的最大并发能力。

 

测试项1:转码产出H265, 1080P、30fps的目标视频

测试命令(硬解硬编):

ffmpeg  -y -hide_banner -hwaccel cuvid -vcodec h264_cuvid   -i "/home/Videos/h264_aac_1080x1920_3000k_30fps_4gop_300s.flv" -c:v $codec_name -preset medium -rc cbr -b:v 3000000  -ar 44100 -b:a 128K -c:a libfdk_aac  -f flv "output_${codec_name}_$i.flv"  2>&1 &

 

并发1路转码时,GPU使用率:1%,平均转码158fps 如下图所示:

并发5路时,GPU使用率:2%, 平均转码31fps 如下图所示:

 

测试项2:转码产出H264, 1080P、30fps的目标视频

测试命令(硬编硬解):

ffmpeg  -y -hide_banner -hwaccel cuvid -vcodec h264_cuvid   -i "/home/Videos/h264_aac_1080x1920_3000k_30fps_4gop_300s.flv" -c:v h264_nvenc  -preset medium -rc cbr -b:v 3000000  -ar 44100 -b:a 128K -c:a libfdk_aac  -f flv "output_${codec_name}_$i.flv"  2>&1 &

 

并发1路转码时,GPU使用率:4%,平均转码465fps。

并发5路转码时,GPU使用率:7%,平均转码94fps。

2.3 并发10路转码时,GPU使用率:7%,平均转码46fps。

2.4 并发15路转码时,GPU使用率:7%,平均转码31fps。

 

结论:

RTX-3060显卡在转码能力方面, 差异较大;对于转出H265码流时,按照30fps的帧率,最大并发5路, 对于转出H264码流,按照30fps的帧率,最大可并发15路,具体如下:

  1. 针对H265转码(转出:H265 1080P、30fps), RTX3060 单卡拥有 158fps的并发转码能力,  支持 158 / 30 ≈ 5 路并发。
  2. 针对H264转码  (转出:H264 1080P、30fps), RTX3060单卡拥有 465fps的并发转码能力, 支持 465/30 ≈ 15路并发。
  3. 转码时,RTX3060卡是共享并发能力的,按照 158fps来说, 它可以支持多于5路的转码,但是帧率fps会相应的降低。比如:如果并发到10路的话, 158 / 10 ≈ 16 fps,最高能支持16fps; 
 
0条评论
作者已关闭评论
g****n
4文章数
0粉丝数
g****n
4 文章 | 0 粉丝
原创

GPU转码能力初探

2023-09-20 01:44:19
63
0

作为音视频领域具有决定话语权的FFmpeg,是国内各大厂商音视频处理的首选解决方案。本位以FFmpeg-3.4.2版本为例,介绍如何通过使用FFmpeg来进行基于GPU的转码, 进而对GPU硬件转码能力进行一个摸底,初步了解GPU并发转码的能力。

 

本文使用的GPU型号:NVIDIA GeForce RTX 3060  12G显存

测试视频:h264_aac_1080x1920_3000k_30fps_4gop_300s.flv 

测试视频属性:h264-1080P-30fps

测试内容:测试RTX3060 在转码成H265/H264码流过程中的最大并发能力。

 

测试项1:转码产出H265, 1080P、30fps的目标视频

测试命令(硬解硬编):

ffmpeg  -y -hide_banner -hwaccel cuvid -vcodec h264_cuvid   -i "/home/Videos/h264_aac_1080x1920_3000k_30fps_4gop_300s.flv" -c:v $codec_name -preset medium -rc cbr -b:v 3000000  -ar 44100 -b:a 128K -c:a libfdk_aac  -f flv "output_${codec_name}_$i.flv"  2>&1 &

 

并发1路转码时,GPU使用率:1%,平均转码158fps 如下图所示:

并发5路时,GPU使用率:2%, 平均转码31fps 如下图所示:

 

测试项2:转码产出H264, 1080P、30fps的目标视频

测试命令(硬编硬解):

ffmpeg  -y -hide_banner -hwaccel cuvid -vcodec h264_cuvid   -i "/home/Videos/h264_aac_1080x1920_3000k_30fps_4gop_300s.flv" -c:v h264_nvenc  -preset medium -rc cbr -b:v 3000000  -ar 44100 -b:a 128K -c:a libfdk_aac  -f flv "output_${codec_name}_$i.flv"  2>&1 &

 

并发1路转码时,GPU使用率:4%,平均转码465fps。

并发5路转码时,GPU使用率:7%,平均转码94fps。

2.3 并发10路转码时,GPU使用率:7%,平均转码46fps。

2.4 并发15路转码时,GPU使用率:7%,平均转码31fps。

 

结论:

RTX-3060显卡在转码能力方面, 差异较大;对于转出H265码流时,按照30fps的帧率,最大并发5路, 对于转出H264码流,按照30fps的帧率,最大可并发15路,具体如下:

  1. 针对H265转码(转出:H265 1080P、30fps), RTX3060 单卡拥有 158fps的并发转码能力,  支持 158 / 30 ≈ 5 路并发。
  2. 针对H264转码  (转出:H264 1080P、30fps), RTX3060单卡拥有 465fps的并发转码能力, 支持 465/30 ≈ 15路并发。
  3. 转码时,RTX3060卡是共享并发能力的,按照 158fps来说, 它可以支持多于5路的转码,但是帧率fps会相应的降低。比如:如果并发到10路的话, 158 / 10 ≈ 16 fps,最高能支持16fps; 
 
文章来自个人专栏
音视频技术
4 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0