在同样的图像质量下,h265相比于h264,视频大小减少了大约50%。由于浏览器对h265编解码的支持度不好,需要编码成h264,但是对h265进行编解码耗费CPU算力。因此项目上需要综合考虑是使用h265 编码,然后转码到h264,节省硬盘划算,还是继续使用h264编码解码节省算力成本划算。
如何获取GPU的资源占用情况
#监控GPU资源使用情况
nvidia-smi dmon
# 每隔1s显示GPU的内存、编码、解码资源占用
nvidia-smi -lms 1000
### 显示编码解码占用
nvidia-smi -q -d UTILIZATION
cpu和gpu进行转码的资源比较
使用纯cpu转码的资源占用
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 143918 root 20 0 802636 31288 5000 S 9.3 0.1 0:36.29 ffmpeg
一路h265转h264的flv资源占用情况
使用英伟达(nvidia)的telsa t4 支持30路从h265视频解码然后编码成h264,京东上查找GPU价格12000rmb,支持1000路需要,需要33张,价格380000rmb 一路转码资源占用情况 cpu内存1.3 3%的cpu占用,GPU占用 2%-3% encoder占用,GPU内存占用144M 纯cpu转码,h265编码转为h264 需要10% cpu 0.1 内存占用, 支持1000路需要4台服务器 按照32核的cpu的服务器价格16000计算 价格64000 rmb
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25328 root 20 0 5507704 170288 150192 S 12.0 0.5 0:03.24 ffmpeg
Sat Jan 22 18:57:31 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.39.01 Driver Version: 510.39.01 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla T4 Off | 00000000:86:00.0 Off | 0 |
| N/A 57C P0 29W / 70W | 147MiB / 15360MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 12389 C ffmpeg 144MiB |
+-----------------------------------------------------------------------------+
Timestamp : Sat Jan 22 21:18:30 2022
Driver Version : 510.39.01
CUDA Version : 11.6
Attached GPUs : 1
GPU 00000000:86:00.0
Utilization
Gpu : 1 %
Memory : 0 %
Encoder : 2 %
Decoder : 0 %
GPU Utilization Samples
Duration : 19.88 sec
Number of Samples : 99
Max : 0 %
Min : 0 %
Avg : 0 %
Memory Utilization Samples
Duration : 19.88 sec
Number of Samples : 99
Max : 0 %
Min : 0 %
Avg : 0 %
ENC Utilization Samples
Duration : 19.88 sec
Number of Samples : 99
Max : 4 %
Min : 2 %
Avg : 2 %
DEC Utilization Samples
Duration : 19.88 sec
Number of Samples : 99
Max : 0 %
Min : 0 %
Avg : 0 %
# gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 30 59 - 1 0 2 0 5000 585
0 30 59 - 1 0 2 0 5000 585
0 30 59 - 1 0 2 0 5000 585
0 30 59 - 1 0 2 0 5000 585