Skip to main content

PyNvVideoCodec is NVIDIA's Python based video codec library for hardware accelerated video encode and decode on NVIDIA GPUs.

Project description

PyNvVideoCodec

PyNvVideoCodec is NVIDIA's Python-based library that provides simple yet powerful Python APIs for hardware-accelerated video encoding and decoding on NVIDIA GPUs.

PyNvVideoCodec is built on top of the Video Codec SDK and offers encode, decode, and transcode performance on par with it.

The library is distributed under MIT license and is officially supported by NVIDIA.

This release introduces several new features and enhancements designed to optimize video processing workflows in AI and multimedia applications.

Features

Current PyNvVideoCodec version supports following features:

Decode Features

  • Seek and frame sampling: Provides efficient and flexible methods for fetching video frames in various modes, including sequential, random, periodic, indexed, batched, and sliced, as well as at a specified target frame rate.
  • Decoder caching: Optimizes decoding of short video clips through decoder caching and reconfiguration.
  • Threaded decoder: Supports decoding on separate threads, delivering pre-decoded frames with near-zero latency, enabling high-performance video processing pipelines.
  • Video processing from buffer: Supports video processing from memory buffers, reducing I/O overhead, enabling streaming applications.
  • Low latency decode: Offers zero-latency decoding for video sequences that do not contain B-frames.
  • SEI extraction: Supports the extraction of Supplemental Enhancement Information (SEI) messages, allowing access to additional information such as HDR information, timecodes, and custom user data.
  • Stream metadata access: Enables access to stream metadata, including frame width, height, bit depth, and keyframe indices, to enhance content management.
  • GIL handling: Improved multithreaded performance through better handling of Global Interpreter Lock (GIL) in C++ layer.
  • Multi-GPU decode: Enables multi-GPU decoding to efficiently handle larger workloads.
  • Extended codec support: Supports codecs H.264, HEVC, AV1, VP8, VP9, VC1, MPEG4, MPEG2, and MPEG1
  • 4:2:2 decode: Supports 4:2:2 decoding for both H.264 and HEVC formats on Blackwell GPUs (NV16, P210 and P216 surface formats).
  • Extended output formats : Decode to various output formats including NV12, YUV420, YUV444, NV16, P010, P016 and RGB24(interleaved and planar)

Encode Features

  • Encoder reconfiguration: Supports encoder reconfiguration, enabling dynamic updating of encoding parameters without recreating encoder instances.
  • SEI insertion: Allows insertion of SEI messages during encoding.
  • GIL handling: Improved multithreaded performance through better handling of Global Interpreter Lock (GIL) in C++ layer.
  • Multi-GPU encode: Enables multi-GPU encoding to efficiently handle larger workloads.
  • Codec support: Support encoding to codec H.264, HEVC, and AV1.
  • 4:2:2 encode: Supports 4:2:2 encoding for both H.264 and HEVC formats on Blackwell GPUs (NV16 and P210 surface formats).
  • Extended input formats: Encode from various input formats including NV12, YV12, IYUV, YUV444, YUV420_10BIT, YUV444_10BIT, NV16, P210, ARGB, ABGR, ARGB10, and ABGR10.

Transcode Features

  • Segment-based transcode: Enables transcoding of video segments based on timestamp ranges, ideal for content editing and partial processing.

Distribution

PyNvVideoCodec library is distributed in two formats: binary distribution via PyPI and source code distribution via NVIDIA NGC. In both cases, the library and its dependencies can be installed using a single pip install command.

This package on PyPI contains Python WHLs of the PyNvVideoCodec library and sample applications that demonstrate the use of the PyNvVideoCodec API. To install these please open the shell prompt, and run the following command.

$ pip install PyNvVideoCodec

Sample Applications and Documents

  • A package containing PyNvVideoCodec source code, Python sample applications and documentation can be downloaded from NVIDIA NGC.
  • For your convenience, the documents are also accessible online at PyNvVideoCodec Online Documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

PyNvVideoCodec-2.0.1-cp313-cp313-win_amd64.whl (34.0 MB view details)

Uploaded CPython 3.13Windows x86-64

PyNvVideoCodec-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl (32.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

PyNvVideoCodec-2.0.1-cp312-cp312-win_amd64.whl (34.0 MB view details)

Uploaded CPython 3.12Windows x86-64

PyNvVideoCodec-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl (32.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

PyNvVideoCodec-2.0.1-cp311-cp311-win_amd64.whl (34.0 MB view details)

Uploaded CPython 3.11Windows x86-64

PyNvVideoCodec-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl (32.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

PyNvVideoCodec-2.0.1-cp310-cp310-win_amd64.whl (34.0 MB view details)

Uploaded CPython 3.10Windows x86-64

PyNvVideoCodec-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl (32.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

PyNvVideoCodec-2.0.1-cp38-cp38-manylinux_2_28_x86_64.whl (32.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file PyNvVideoCodec-2.0.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d053998eeb0812c0bf33fdbb1d03c1adaf1609cc6932412dd0da27e3030c1c6f
MD5 3acd3722cdd3949d924bee54f8d47fc5
BLAKE2b-256 29fb04857c4bb41597e25c3279d7d1d4c273b9096115c3dd060d3c0759b255d4

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2894601220fd97a616b4cd1b87f3e7f209f015e4a6ae0d5df904e732ee9f951d
MD5 06d6e17543f877a00f660470dd8f310f
BLAKE2b-256 fe0b9b384a1abe3df0ae4904fdde5dcc5302e2a5155b2daf700af54255d59dd9

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b5cfb980207944988c40ff3f266de65f08b63b2d4b55a6b04b89b44f68256edd
MD5 d93010453d76e2ff98bf4b120d076f3d
BLAKE2b-256 354393128d45538f39f715073ad96623610bfe6f8b7057b52174bb8a2b5ed754

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e227a2c9db0ac732dd1e0b2b69a52d48df8be546b90dd14cd70d5519f2527f85
MD5 15af90849043f030275fbec9e424c26f
BLAKE2b-256 88fa5065361a3b51313885da51ae4deefd52ed8d9b3540354396fecbd32d51b5

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ae5ae72ac7a244dbffcaa3813e97aadf089faed8a99c77db31c8edf6c2403a4
MD5 9994c208d4bfde30035cd6a32a9d4229
BLAKE2b-256 ab4677287894c6c449ba1afec43a68704c33ffaec5e9ddaa7626388e5fc3e020

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a22b528da018c03a7dd3aa76fb07a4850aa39b64f1d7eeaec6c243986ba81c6
MD5 297ade3824dc3947e802bf4efa5b1795
BLAKE2b-256 ec0bd634207bee33fd82c03dd520f44cb74349b6f0fbcf5ff9e9636cfb1c72a2

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b7dc5d23048fff890e473c5d95c877b5ffe7fbe2fdfdd7a1d1369497d575428d
MD5 3a3f42ef6f0ca10a893cc3f337f84392
BLAKE2b-256 067eab788c20948aa47715175d8b11d83c49a28b22e4148f54f2acc2d56e7ceb

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab82752724e28e8a61b6d24aa5713c1f5077a8ad362dc6d58eb0146017567aca
MD5 c31578310754de9560a7addc77c18a41
BLAKE2b-256 9d8b23310b1661411c4dba33ed7aebd1162ed86cb460ef5ea1502b7102f19249

See more details on using hashes here.

File details

Details for the file PyNvVideoCodec-2.0.1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for PyNvVideoCodec-2.0.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17f743d2484152630b6dc456b4eba79909b47acca68a63a5652205279b291465
MD5 97b2e84b55c1b2d906521c869ab6350e
BLAKE2b-256 29b235e78df55c280ff8666bd5b2c31a69be980131c1d9b173353f2a8ea60801

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page