Python에서 강력한 하드웨어 가속 비디오 처리가 더욱 간단해졌습니다. PyNvVideoCodec은 GPU 기반 비디오 인코딩, 디코딩, 트랜스코딩을 지원하는 NVIDIA의 Python 라이브러리입니다. 저수준의 NVIDIA Video Codec SDK 위에 직접 구축된 이 라이브러리는 가볍고, MIT 라이선스로 제공되며, 간단한 설치만으로 바로 사용할 수 있습니다. 성능 역시 네이티브 SDK와 동일한 수준을 제공합니다.
PyNvVideoCodec 2.0은 Python의 친숙함과 유연함을 기반으로, 고성능 비디오 파이프라인을 더욱 손쉽고 강력하게 구축할 수 있도록 한 주요 업그레이드입니다.
비디오 분석, AI 전처리, 미디어 트랜스코딩, 실시간 스트리밍 등 어떤 워크플로우에도 PyNvVideoCodec 2.0은 C++에 버금가는 속도와 Python의 간편함을 동시에 제공합니다. 새롭게 확장된 기능, 향상된 성능, 더 넓어진 코덱 지원을 지금 확인해 보세요.


PyNvVideoCodec 2.0의 새로운 기능은?
PyNvVideoCodec 2.0 릴리스에는 AI, 방송, 멀티미디어, 스트리밍 애플리케이션을 위한 비디오 워크플로우를 최적화하는 강력한 기능들이 새롭게 추가되었습니다. 디코딩, 인코딩, 트랜스코딩 전반에서 다양한 향상이 포함되어 있습니다.
디코드(Decode) 기능 향상
PyNvVideoCodec 2.0에서 새롭게 추가된 디코드 기능 향상 사항은 다음과 같습니다:
- 프레임 샘플링 및 탐색: 순차, 랜덤, 주기적, 배치, 슬라이스, 타깃 프레임 레이트 등 유연한 프레임 추출
- 디코더 캐싱: 짧은 클립에 최적화, 전체 초기화 없이 디코더 재사용
- 스레드 기반 디코더: 백그라운드 스레드에서 디코딩해 지연 시간 제로 구현
- 버퍼 기반 디코드: 메모리 버퍼에서 직접 비디오 처리 — 스트리밍에 필수적
- 저지연 디코드: B-프레임 없는 시퀀스의 제로 지연 디코딩 지원
- SEI 추출: HDR 메타데이터, 타임코드, 사용자 정의 데이터 접근을 위한 SEI 메시지 추출
- 스트림 메타데이터: 키프레임 인덱스, 해상도, 비트 심도 등 메타데이터 손쉽게 조회
- 최적화된 GIL 처리: C++ 레이어에서 GIL(Global Interpreter Lock) 처리를 개선해 멀티스레드 성능 향상
- 멀티 GPU 디코드: 여러 GPU로 워크로드 확장
- 확장된 코덱 지원: H.264, HEVC, AV1, VP8, VP9, VC1, MPEG4/2/1
- 4:2:2 디코딩: 고품질 4:2:2 H.264 및 HEVC 콘텐츠를 NV16, P210, P216 포맷으로 디코딩 (NVIDIA Blackwell 아키텍처 이상 지원)
- 유연한 출력 포맷: NV12, YUV420, YUV444, NV16, P010, P016, RGB24(인터리브 및 플래너) 등 다양한 출력 포맷 지원
인코드(Encode) 기능 향상
PyNvVideoCodec 2.0에서 새롭게 추가된 인코드 기능 향상 사항은 다음과 같습니다:
- 실시간 인코더 재구성: 인코딩 설정을 재생성 없이 즉시 업데이트
- SEI 삽입: SEI 메시지 삽입 지원
- 멀티 GPU 인코딩: 인코딩을 여러 GPU에 분산 처리
- 4:2:2 인코딩: 방송 품질의 4:2:2 스트림을 H.264/HEVC로 생성 (NVIDIA Blackwell 아키텍처 이상 지원)
- 확장된 입력 포맷 지원: NV12, YV12, IYUV, YUV444, YUV420_10BIT, YUV444_10BIT, NV16, P210, ARGB, ABGR, ARGB10, ABGR10
트랜스코드(Transcode) 기능 향상
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은 NVIDIA Video Codec SDK의 성능을 Python 개발자에게 그대로 제공하면서도 단순함, 유연성, 강력함을 갖추고 있습니다.
빠르게 시작할 수 있도록, 샘플 Python 애플리케이션과 PyNvVideoCodec에 대한 종합 문서가 PyPI 및 NGC 패키지에 함께 제공됩니다. 단순한 디코드 및 리인코드 스크립트부터 세그먼트 기반 트랜스코딩까지, 다양한 예제들이 여러분의 워크플로우에 바로 적용될 수 있도록 설계되어 있습니다.
차세대 비디오 애플리케이션을 그 어느 때보다 빠르게 구축하고 싶다면 PyPI 혹는 NVIDIA NGC를 방문하세요.