视频是 NVIDIA Jetson 应用的核心数据通路,覆盖机器人、智能视频分析、工业自动化、医疗、媒体处理和远程操控等场景。一套系统可能同时接入多路摄像头、解码网络流、运行 AI 推理或传统视觉处理、叠加结果,并将视频编码后存储或分发。

各项调用本身并不复杂,工程难点在于针对具体 Jetson 设备选择合适的接口、编解码器、像素格式、内存路径、码率控制和缓冲策略,并验证完整链路能否满足延迟、吞吐量和画质目标。

NVIDIA JetPack 7.1 已在 Jetson Thor 上引入 NVIDIA Video Codec SDK 支持,为 C 和 C++ 开发者提供对 NVIDIA 视频编码器(NVENC)和 NVIDIA 视频解码器(NVDEC)的直接、细粒度访问能力。

JetPack 7.2.1 首次在 Jetson 上新增对 PyNvVideoCodec 2.2 的支持——这是 NVIDIA 面向 GPU 硬件加速视频编解码的 Python 库。PyNvVideoCodec 以 GPU 常驻设备内存的形式生产和消费视频帧,通过 DLPack 协议和 CUDA 设备缓冲区对外暴露,并提供多种 AI 流水线友好特性,包括多模式帧采样、在后台线程中预解码帧的 ThreadedDecoder(可将解码延迟与推理延迟解耦,提升流水线效率)。

JetPack 7.2.1 还在上述 SDK 之上构建了基础性智能体视频技能。SDK 提供可编程的视频原语,技能层则将开发者意图与设备发现、支持的配置、可用方案、执行、度量和可复现证据连接起来。两者协同,加速了 Jetson 上开源模型与智能体的开发,让每位开发者都能随时随地获得前沿级 AI 性能。

诸如"这块 Jetson 在低延迟场景下能跑多少路 H.264 1080p30 流?"这类问题,仅靠代码生成或数据手册上的参数无法回答,还需要结合已安装的软件、目标设备的实际编解码能力、内存路径,以及一次受控运行来验证延迟和吞吐量。

Jetson 视频技能将这一意图转化为可重复的编解码工作流:检查目标设备、选择受支持的 Video Codec SDK 或 PyNvVideoCodec 路径、生成经过测试的配置、执行并返回带有警告和证据的实测结果。

Jetson 视频技能在 Video Codec SDK 和 PyNvVideoCodec 之上提供智能体工作流层,后两者使用 NVENC 和 NVDEC 硬件引擎。

JetPack 7.2.1 通过统一的 jetson-videosdk 技能引入了基础视频工作流。开发者可单独调用每个工作流,也可将其组合,在更大的流水线中配置和验证编解码阶段。后续版本将在此基础上扩展更多覆盖 Jetson 开发者工作流的技能。

发现、配置并报告能力:识别 Jetson 平台和已安装软件,引导完成受支持的配置,并在实时目标上查询编解码器、格式、内存路径和会话能力。

生成编码器方案:将低延迟、恒定质量、受限码率、分辨率、帧率和编解码器选择等目标转化为明确的参数设置,以及可运行的 Video Codec SDK 或 PyNvVideoCodec 路径。

性能与质量基准测试:对吞吐量、延迟、利用率、码率和输出质量进行可重复的测量。

验证编解码工作流:串联配置、方案选择、编解码、度量和产物交接,返回可复现结果所需的配置、结果、警告和证据。

SDK 提供加速视频原语,技能层则增加了设备感知的配置与验证能力,能够区分宣传的能力与目标设备上实际可成功执行的操作,并保存方案、输入、输出和测量结果以供复现。

以"解码这段视频,应用我的 AI 或计算机视觉处理,并验证编解码阶段是否满足性能目标"为例,编码助手使用 Jetson 视频技能配置和验证 PyNvVideoCodec,而 PyNvVideoCodec 随附的示例应用则提供参考应用脚手架。

第一步:检查与配置。编码助手调用技能,验证 Jetson 平台、软件和编解码能力,然后选择解码器、输出格式、内存路径和缓冲策略。

第二步:解码为框架数据。PyNvVideoCodec 示例可在后台线程中准备帧,并将每帧传递给框架张量,无需编写特定于应用的编解码缓冲代码。

第三步:完成应用流程。编解码阶段配置完成后,编码助手可在示例应用基础上扩展所需阶段,例如预处理、检测或分类、隐私过滤(如模糊处理)、可视化和输出处理。具体的 AI 或计算机视觉模型及应用逻辑由开发者自行决定。

第四步:度量与验证。技能记录编解码配置,并验证运行状态、吞吐量、延迟、利用率、警告和证据。

范围说明:JetPack 7.2.1 的视频技能覆盖 Video Codec SDK 和 PyNvVideoCodec,本版本不新增 GStreamer、V4L2、AI 模型或应用级流水线构建技能,仅在编解码阶段对编码助手形成补充。后续版本中新增的 Jetson 技能可与之组合,支持更广泛的端到端应用。

Jetson 通过互补的软件层暴露视频能力:GStreamer 提供高层流水线编排,V4L2 提供 Linux 视频设备和缓冲控制,Video Codec SDK 提供对 NVENC 和 NVDEC 的底层 C/C++ 访问,PyNvVideoCodec 则在核心 Video Codec SDK API 之上提供更简洁的 Python 接口。当工作流跨越采集、编解码、AI 和分发阶段时,这些层可以组合使用。

综合来看,JetPack 7.2.1 为开发者提供了从意图到证据的更清晰路径:选择合适的 Linux、C/C++ 或 Python 接口,让加速数据尽量靠近 GPU,并使用基础视频技能配置和验证 Video Codec SDK 或 PyNvVideoCodec 阶段。这一基础今天已能与编码助手协同工作,未来还可与更多 Jetson 技能组合,支持更广泛的端到端应用。

Jetson T3000 在紧凑、高能效的平台上提供 865 FP4 TFLOPS 算力,专为人形机器人和机器人工作负载设计。在多模态 AI 推理性能上与 T5000 相当,同时降低了体积、功耗和成本。借助 JetPack 7.2.1,开发者现在可以通过 Jetson Thor AGX 开发套件上的 Jetson T5000 模块仿真最新发布的 T3000 性能,快速启动开发工作。详细的仿真实现说明请参阅 Jetson Linux 开发者指南。

Q&A

Q1:PyNvVideoCodec 2.2 是什么?它在 Jetson 上有什么作用?

A:PyNvVideoCodec 2.2 是 NVIDIA 面向 GPU 硬件加速视频编解码的 Python 库,JetPack 7.2.1 首次在 Jetson 上提供支持。它以 GPU 常驻设备内存的形式处理视频帧,通过 DLPack 协议和 CUDA 设备缓冲区对外暴露,支持多模式帧采样和后台线程预解码,能将解码延迟与推理延迟解耦,适合构建 AI 视频处理流水线。

Q2:JetPack 7.2.1 的 Jetson 视频技能具体能做哪些事?

A:Jetson 视频技能提供四类核心工作流:一是发现并报告设备编解码能力;二是根据低延迟、恒定质量等目标自动生成编码器配置方案;三是对吞吐量、延迟、码率等指标进行可重复的基准测试;四是串联完整编解码工作流并返回可复现的配置与验证结果。开发者可单独使用每个工作流,也可组合使用。

Q3:Jetson T3000 仿真功能是怎么回事?有什么用?

A:JetPack 7.2.1 支持在 Jetson Thor AGX 开发套件的 T5000 模块上仿真 T3000 的性能表现。T3000 提供 865 FP4 TFLOPS 算力,专为人形机器人和机器人工作负载设计,功耗和体积更低。通过仿真功能,开发者无需等待实体 T3000 硬件到货,即可提前基于 T5000 开发套件验证和开发针对 T3000 的应用。

NVIDIA