Przejdź do głównej zawartości

NVIDIA DeepStream

Teksty pochodzą z oficjalnej strony internetowej.

NVIDIA DeepStream to kompleksowy zestaw narzędzi do przetwarzania strumieniowego, oparty na GStreamer, przeznaczony do przetwarzania wideo, dźwięku i obrazów z wykorzystaniem sztucznej inteligencji.

Dzięki niemu możesz tworzyć zaawansowane potoki przetwarzania strumieniowego, które integrują sieci neuronowe oraz inne złożone zadania, takie jak śledzenie obiektów, kodowanie/dekodowanie wideo oraz renderowanie wideo. Te potoki umożliwiają analizę danych z wideo i obrazów w czasie rzeczywistym.

Utwórz aplikację DeepStream w CGC SDK

Na początek, utwórz aplikację DeepStream w CGC SDK, korzystając z poniższego polecenia:

cgc compute create -n <name> -c <cpu_cores> -m <RAM GiB> -g <gpu_count> -gt <gpu_type> deepstream --repository-secret <secret_name>
  • -n, --name - nazwa zasobu obliczeniowego
  • -g, --gpu - ilość podłączonych GPU, maksymalnie 8 na notebook
  • -gt, --gpu-type - typ podłączonego GPU (A100 | V100 | A5000) domyślnie = A5000
  • -c, --cpu - liczba rdzeni CPU
  • -m, --memory - ilość pamięci RAM w GiB
Warning

Aplikacja DeepStream działa w kontenerze i nie zawiera bibliotek niezbędnych do wykonywania niektórych operacji multimedialnych, takich jak parsowanie danych audio, dekodowanie CPU i kodowanie CPU. Ta zmiana może wpłynąć na przetwarzanie niektórych strumieni wideo/plików, takich jak mp4, które zawierają ścieżkę audio. Uruchom poniższy skrypt wewnątrz utworzonej aplikacji, aby zainstalować dodatkowe pakiety (np. gstreamer1.0-libav, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly, w zależności od potrzeb), które mogą być wymagane do pełnego korzystania z funkcji DeepStreamSDK: /opt/nvidia/deepstream/deepstream-6.4/user_additional_install.sh

cd /opt/nvidia/deepstream/deepstream-6.4
./user_additional_install.sh

Czasami przy strumieniach RTSP aplikacja zatrzymuje się po osiągnięciu EOS (End of Stream). Jest to spowodowane problemem z komponentem rtpjitterbuffer. Aby rozwiązać ten problem, dostarczono skrypt update_rtpmanager.sh w katalogu /opt/nvidia/deepstream/deepstream-6.4, zawierający niezbędne informacje do zaktualizowania biblioteki gstrtpmanager.

cd /opt/nvidia/deepstream/deepstream-6.4
./update_rtpmanager.sh

Utwórz własną aplikację z DeepStream i CGC SDK

Aby rozpocząć tworzenie swojej pierwszej aplikacji z DeepStream i CGC, należy utworzyć wolumen zamontowany do już utworzonego zasobu obliczeniowego (aplikacji DeepStream) oraz filebrowsera w celu zabezpieczenia postępów pracy, niezależnie od okoliczności.

Warning

Wolumen zostanie utworzony pod ścieżką /workspace. Aby móc uruchomić swój kod wewnątrz kontenera DeepStream, trzeba utworzyć dowiązanie symboliczne do swojego wolumenu, aby był on dostępny z poziomu /opt/nvidia/deepstream/deepstream-6.4.

ln -s /workspace/{name-of-your-volume} /opt/nvidia/deepstream/deepstream-6.4/{name-of-your-volume}
cd /opt/nvidia/deepstream/deepstream-6.4/{name-of-your-volume}

Teraz jesteś gotowy do tworzenia swojej pierwszej aplikacji z DeepStream i CGC SDK.

Przykładowe aplikacje

Python bindings and sample applications

DeepStream Python boilerplate