# What is it? In this repository collected different pipelines with workarounds for zero latency streaming. Main idea for now is using of docker container with running Ubuntu 22.04 distro inside, mostly for testing purposes. We must passthrough in this case GPU and Decklink devices for this purpose it is necessary to have similar driver versions on host and container system, otherwise it just will not work. Component diagram showing what we want to achieve ## How to run It is suggested to use `nohup` for background execution. ```sh # create venv $ python3 -m venv ./.Python $ . .Python/bin/activate $ pip install -r gstAutotest/requirements.txt $ nohup python3 ./gstAutotest/gstreamerAutotest.py -c="./gstAutotest/autotest-conf.yaml" & ``` Output will be saved in **results** folder. ## UML diagram with latency element explanation ```plantuml ``@startuml node "Host" { package "Docker" { interface "UDP socket" as USock package "Container" { USock - [Gst Pipeline] } } USock ..> NetworkBridge [Kernel] -left- GPU DeckLink -up- [Kernel] NetworkBridge - [Docker] NetworkAdapter -left- [Kernel] [Gst Pipeline] ..> GPU [Gst Pipeline] ..> DeckLink NetworkBridge ..> NetworkAdapter } node "Router" { port PhysicalPort1 port PhysicalPort2 NetworkAdapter --> PhysicalPort2 } node "Oculus" { interface WiFi component MedicineApp MedicineApp <-- WiFi WiFi --> PhysicalPort1 } @enduml ```sh sudo docker run --runtime=nvidia --gpus all -v ~/git/gstreamer-pipelines/:/app deepstream-gst:12.6 ```