适用于 Python GPU 加速视频处理的 PyNvVideoCodec 2.0 新增功能

部署运行你感兴趣的模型镜像

项目地址:
github地址:https://github.com/hwua-hi168/quantanexus
gitee地址:https://gitee.com/hwua_1/quantanexus-docs
公有云版地址: https://www.hi168.com

Python 中的硬件加速视频处理变得更加便捷。 PyNvVideoCodec 是一个基于 NVIDIA Python 的库,专为 GPU 加速的视频编码、解码和转码而设计。该库直接构建于低层级的 NVIDIA 视频编解码器 SDK 之上,轻量高效,采用麻省理工学院开源许可,可通过 pip 轻松安装。其性能接近原生 SDK,使用简洁高效。

PyNvVideoCodec 2.0 是一项重要升级,使开发者、研究人员和工程师能够使用熟悉且灵活的 Python 语言构建高性能的视频处理工作流。

无论您是在进行视频分析、AI 预处理、媒体转码还是实时流媒体传输,PyNvVideoCodec 2.0 都能兼顾 C++ 的运行速度与 Python 的使用便捷性,同时带来更丰富的功能、更出色的性能以及更广泛的编解码器支持。继续阅读以了解详细信息。

小伙伴们  可 以 注 & 册 https://www.hi168.com 白 & 飘  算 & 力哦。

Diagram showing a video processing pipeline. The flow begins with video input, passed to the PyNvVideoCodec Decode API. The decoded frames go through a processing block that handles pre-processing, training, inferencing, and post-processing. The results are passed to the PyNvVideoCodec Encode API, and finally output as video.

图 1。PyNvVideoCodec 视频处理管线可围绕 AI 或信号处理阶段实现 GPU 加速的解码和编码操作

Layered diagram showing the software stack for GPU-accelerated video processing using PyNvVideoCodec. The top layer includes user-level Python applications, which interact with PyNvVideoCodec APIs. These APIs interface with the NVIDIA Video Codec SDK. At the base of the stack is the NVIDIA GPU, which performs the actual hardware-accelerated video processing.

图 2。使用 PyNvVideoCodec 进行 GPU 加速视频处理的软件堆栈

PyNvVideoCodec 2.0 有哪些新功能?

PyNvVideoCodec 2.0 版本带来了多项强大功能,致力于优化 AI、广播、多媒体及流媒体应用中的视频工作流程,显著提升了在解码、编码和转码方面的性能与功能。

解码增强功能

PyNvVideoCodec 2.0 新增的解码增强功能包含以下内容:

  • 帧采样和查找:灵活的帧检索 – 顺序、随机、定期、批量、切片,甚至是目标帧速率。
  • 解码器缓存:非常适合短片段,无需完全重新初始化即可重复使用解码器。
  • 线程解码器:通过在后台线程中解码实现零延迟。
  • 基于缓冲区的解码:直接从内存缓冲区处理视频,这对于流式传输用例至关重要
  • 低延迟解码:支持无 B 帧序列的零延迟解码。
  • SEI 提取:提取 SEI 消息,允许访问 HDR 元数据、时间码和自定义用户数据。
  • 流式元数据:轻松检索关键帧索引、分辨率、位深度等。
  • 优化 GIL 处理:通过更好地处理 C++ 层中的全局解释器锁定 (GIL) ,提高多线程性能。
  • 多 GPU 解码:跨 GPU 扩展工作负载。
  • 扩展编解码器支持:H.264、HEVC、AV1、VP8、VP9、VC1、MPEG4/ 2/ 1。
  • 4:2:2 解码:解码 NV16、P210 和 P216 格式的高保真 4:2:2 H264 和 HEVC 内容。请注意,NVIDIA Blackwell 架构及之后均支持此功能。
  • 灵活的输出格式:解码为各种输出格式,包括 NV12、YUV420、YUV444、NV16、P010、P016 和 RGB24 (交错和平面) 。

编码增强功能

PyNvVideoCodec 2.0 新增的编码增强功能包含以下内容:

  • 实时编码器重新配置:即时更新编码设置,无需更改。
  • SEI 插入:插入 SEI 消息。
  • 多 GPU 编码:跨多个 GPU 分发编码。
  • 4:2:2 编码:在 H.264/ HEVC 中创建具有广播级质量的 4:2:2 流。请注意,NVIDIA Blackwell 架构及之后均支持此功能。
  • 支持扩展输入格式:NV12、YV12、IYUV、YUV444、YUV420_10BIT、YUV444_10BIT、NV16、P210、ARGB、ABGR、ARGB10 和 ABGR10。

转码增强功能

PyNvVideoCodec 2.0 新增了多项转码增强功能,具体包括以下内容:

  • 基于片段的转码:使用时间范围对视频片段进行转码,并针对基于深度学习的视频训练工作流程进行优化。

易于安装和定制

使用以下代码安装 PyNvVideoCodec,安装步骤与之前版本保持一致。

pip install PyNvVideoCodec

如需获取完整的源代码并进行自定义(例如启用 NVTX 分析),请从 NVIDIA NGC 下载并安装。

pip install PyNvVideoCodec.zip

如需调整内部结构或从源代码构建,请使用以下代码:

unzip PyNvVideoCodec.zip

cd PyNvVideoCodec

pip install .

开始使用 PyNvVideoCodec 2.0

PyNvVideoCodec 2.0 为 Python 开发者提供了简便、灵活且功能强大的 NVIDIA Video Codec SDK 性能支持。

为帮助您快速上手,示例 Python 应用程序和完整的 PyNvVideoCodec 文档均附带在 PyPI 和 NGC 包中。从简单的解码与重新编码脚本,到基于分段的转码流程,这些示例旨在无缝集成到您的实际工作流中

若要以极快速度启动新一代视频应用的开发,请访问 PyPI 或 NVIDIA NGC

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值