SON DAKİKA

Nvdia

PyNvVideoCodec 2.0 ile Python’da GPU Destekli Video İşleme: Yeni Özellikler ve Yenilikler

Güçlü bir donanım hızlandırmalı video işleme artık Python ile daha da kolay hale geldi. PyNvVideoCodec, NVIDIA tarafından geliştirilmiş bir Python tabanlı kütüphane olup, GPU destekli video kodlama, dekodlama ve dönüştürme işlemleri için kullanılır. NVIDIA Video Codec SDK‘nin düşük seviyeli üzerine inşa edilen PyNvVideoCodec, hafif yapısı, MIT lisansı ve pip ile kolay kurulum imkanı sunar. Performansı, yerel SDK ile karşılaştırılabilir düzeydedir.

PyNvVideoCodec 2.0, geliştiriciler, araştırmacılar ve mühendisler için yüksek performanslı video akışlarını Python‘un tanıdık ve esnek dilinde inşa etmenin tamamen yeni bir yolunu sunan önemli bir güncellemeyi temsil ediyor.

Video analitiği, AI ön işleme, medya dönüştürme veya gerçek zamanlı akış uygulamaları üzerinde çalışıyor olun, PyNvVideoCodec 2.0 hem C++ hızını hem de Python‘un kolaylığını sunuyor. Artık çok daha fazla özellik, daha iyi performans ve genişletilmiş codec desteği ile.

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.
Şekil 1. PyNvVideoCodec video işleme hattı, bir AI veya sinyal işleme aşaması etrafında GPU destekli dekodlama ve kodlama işlemlerini mümkün kılar.
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.
Şekil 2. PyNvVideoCodec ile GPU destekli video işleme yazılım katmanı.

PyNvVideoCodec 2.0’de Neler Yenilik Var?

PyNvVideoCodec 2.0 sürümü, AI, yayın, multimedia ve akış uygulamaları için video iş akışlarını optimize etmek üzere tasarlanmış bir dizi güçlü özellik sunuyor. Bu yenilikler, dekodlama, kodlama ve dönüştürme alanlarındaki geliştirmeleri içeriyor.

Dekodlama Geliştirmeleri

PyNvVideoCodec 2.0 ile gelen dekodlama geliştirmeleri şunlardır:

  • Çerçeve örnekleme ve arama: Esnek çerçeve alma; ardışık, rastgele, periyodik, yığın, dilimlenmiş veya hedef çerçeve hızı.
  • Decoder önbelleğe alma: Kısa klipler için mükemmel; decoder’ları tam yeniden başlatma olmadan yeniden kullanın.
  • Araçlandırılmış dekoder: Arka planda dekode ederek sıfır gecikme elde edin.
  • Önbellek tabanlı dekodlama: Video akışını doğrudan bellek tamponlarından işleyin; akış kullanımları için kritik.
  • Düşük gecikme dekodlama: B-çerçeveler olmadan sıfır gecikme dekodlama desteği.
  • SEI çıkarımı: HDR meta verileri, zaman kodları ve özel kullanıcı verilerine erişim sağlama.
  • Akış meta verisi: Anahtar çerçeve indeksleri, çözünürlük, bit derinliği ve daha fazlasını kolayca alabilirsiniz.
  • GIL yönetiminde optimizasyon: C++ katmanında Global Interpreter Lock (GIL) ile daha iyi çok iş parçacıklı performans.
  • Çoklu GPU dekodlama: Yüklerinizi GPU’lar arasında ölçeklendirin.
  • Genişletilmiş codec desteği: H.264, HEVC, AV1, VP8, VP9, VC1, MPEG4/2/1.
  • 4:2:2 dekodlama: Yüksek kaliteli 4:2:2 H.264 ve HEVC içeriklerini NV16, P210 ve P216 formatlarında dekode edin. Bu özelliğin NVIDIA Blackwell mimarisi ve sonrası için geçerli olduğunu unutmayın.
  • Esnek çıkış formatları: NV12, YUV420, YUV444, NV16, P010, P016 ve RGB24 (interleaved ve planar) gibi çeşitli çıkış formatlarına dekode edebilirsiniz.

Kodlama Geliştirmeleri

PyNvVideoCodec 2.0 ile gelen kodlama geliştirmeleri şunlardır:

  • Canlı kodlayıcı yeniden yapılandırması: Kodlama ayarlarını canlı olarak güncelleyin – yeniden oluşturmaya gerek olmadan.
  • SEI ekleme: SEI mesajlarını ekleyin.
  • Çoklu GPU kodlama: Kodlamayı birden fazla GPU’ya dağıtın.
  • 4:2:2 kodlama: H.264/HEVC’de yayına uygun 4:2:2 akışlar oluşturun. Bu özelliğin NVIDIA Blackwell mimarisi ve sonrasında desteklendiğini unutmayın.
  • Genişletilmiş giriş formatı desteği: NV12, YV12, IYUV, YUV444, YUV420_10BIT, YUV444_10BIT, NV16, P210, ARGB, ABGR, ARGB10 ve ABGR10 gibi formatlar.

Dönüştürme Geliştirmeleri

PyNvVideoCodec 2.0 ile gelen dönüştürme geliştirmeleri şunlardır:

  • Segment bazlı dönüştürme: Zaman damgası aralıkları kullanarak video segmentlerini dönüştürün – derin öğrenme tabanlı video eğitim iş akışları için optimize edilmiştir.

Kolay Kurulum ve Özelleştirme

PyNvVideoCodec’i aşağıdaki kod ile kurabilirsiniz. Bu süreç, önceki sürümlerden farklılık göstermez.

pip install PyNvVideoCodec

Tam kaynak kod erişimi ve özelleştirme (örneğin, NVTX profilleme etkinleştirme) için NVIDIA NGC‘den indirin ve kurun:

pip install PyNvVideoCodec.zip

İçeriklerini ayarlamak veya kaynaktan oluşturmak istiyorsanız şu kodu kullanın:

unzip PyNvVideoCodec.zip
cd PyNvVideoCodec
pip install .

PyNvVideoCodec 2.0 ile Başlayın

PyNvVideoCodec 2.0, NVIDIA Video Codec SDK‘nın performansını Python geliştiricilerine sunarak, basitlik, esneklik ve raw güç sağlıyor.

Sizi hızlı bir şekilde başlatmak için örnek Python uygulamaları ve kapsamlı PyNvVideoCodec belgeleri, PyPI ve NGC paketlerinde bir araya getirilmiştir. Basit dekodlama ve yeniden kodlama betiklerinden segment bazlı dönüştürmelere kadar, bu örnekler iş akışlarınıza kolayca entegre edilmeye hazırdır.

Geleceğin video uygulamalarını daha hızlı bir şekilde geliştirmeye başlamak için PyPI veya NVIDIA NGC‘yi ziyaret edin.

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri