NetInt 硬件编码实战转码压测

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD

如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。

😊 座右铭:不想当开发的测试,不是一个好测试✌️。

如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

最近在转码压测,研发要求NetInt 硬件编码,这啥呀???经调研研究得知,原来NetInt 硬件编码是指由 NETINT Technologies 公司开发的基于专用集成电路 (ASIC) 的视频编码技术,通过其 Codensity 系列芯片为服务器提供专业级视频转码能力。这些解决方案以超高密度、低延迟和低功耗特性,专为现代视频流媒体、广播和云服务设计。

这是专为视频处理任务定制的硬件单元。

检查机器是否支持NetInt 硬件编码

使用命令:lspci | grep -i netint

bash 复制代码
root@vdn:~# lspci | grep -i netint
41:00.0 Non-Volatile memory controller: NETINT Technologies Inc. Codensity T408 Video Encoding-Decoding Accelerator
81:00.0 Non-Volatile memory controller: NETINT Technologies Inc. Codensity T408 Video Encoding-Decoding Accelerator

lspci输出可知:

  • 系统已识别 2 块 NetInt Codensity T408 VPU (设备 ID 对应15d9:0408,属于第一代 Codensity G4 芯片)
  • 设备类别显示为Non-Volatile memory controller是正常现象(T408 采用 U.2 接口,兼容 NVMe 插槽,系统识别为该类别不影响功能)
  • 支持 H.264/HEVC 编码(最高 4K@10-bit HDR)、实时转码、多码率输出等核心功能

由上述可知,我们的机器是支持**NetInt 硬件编码的,**接下来,我们开始转码压测,

bash 复制代码
#!/bin/bash
NUM_STREAMS=18  # 测试18路并发
RTMP_URL="rtmp://liteava.qcloud.com/live/litmoplayerstreamid"
OUTPUT_PREFIX="rtmp_netint_output"
 
for ((i=1; i<=$NUM_STREAMS; i++))
do
    /root/ffmpeg \
        -i "$RTMP_URL" -acodec copy -vcodec h264_ni_logan_enc -b:v 2M -r 30 -g 60 -s 1920x1080 -f null - > "${OUTPUT_PREFIX}_${i}.log" 2>&1 &  done
 
wait
echo "10路RTMP流 NetInt编码测试完成"

使用 netint 编码时指定 codec 为 h264_ni_logan_enc,cpu 编码指定codec 为 libx264

查看转码结果的话,可以通过日志查看 speed, tail -f *output*.log | grep "speed=" ,如果是小于1,则说明会有卡顿,通过调整并发路数来确定稳定值。

其实通过 netint 编码 ,只需要在转码中加入参数即可,已经知道如何使用啦,赶快实战下吧。

梦想无论怎样模糊,总潜伏在我们心底,使我们的心境永远得不到宁静, 直到这些梦想成为现实。 -----林语堂

相关推荐
扶尔魔ocy3 小时前
【QT window】ffmpeg实现录音功能之AAC格式--mp4
qt·ffmpeg·视频处理
小曾同学.com3 小时前
HLS协议中m3u8列表及ts文件的由来
ffmpeg·hls·ts文件·m3u8列表
skyjilygao18 小时前
n8n整合ffmpeg
ffmpeg·视频编辑·n8n
别动哪条鱼1 天前
SDL 函数对各对象缓冲区的影响
网络·数据结构·ffmpeg
daidaidaiyu2 天前
FFmpeg 关键的结构体
c++·ffmpeg
扶尔魔ocy2 天前
【QT window】ffmpeg实现录音功能之无损格式--PCM
ffmpeg·pcm
止礼2 天前
FFmpeg8.0.1 源代码的深入分析
ffmpeg
小曾同学.com2 天前
音视频中的“透传”与“DTS音频”
ffmpeg·音视频·透传·dts