Skip to content

Expose parameters to the end user as env vars / makefile entries (~API) #166

@lyuzinmaxim

Description

@lyuzinmaxim

Currently, in our python pipelines we have the constants defined on the top of the file, e.g. as here:

RTSP_PORT = os.environ.get("RTSP_PORT", "8554")
RTSP_URL = f"rtsp://127.0.0.1:{RTSP_PORT}/test"

CONFIG_FILE: str = "/workspace/configs/resnet18.txt"
MSGCONV_CONFIG: str = "/workspace/configs/nvmsgbroker_msgconv_config.txt"
MQTT_CONN_STR = "172.17.0.1;1883;agstream-client"
MQTT_TOPIC = "deepstream/predictions"

In this ticket we want to expose those "constants" into the Makefile only for final e2e pipelines (CPU only, CPU+GPU, GPU-only).

Also, we need to add the makefile commands which are required to run the demonstation (start the container, start consumer, start RTSP stream, run pipeline etc). For example, we create a Makefile which would look like:

RTSP_INPUT_PORT ?= 8554
RTSP_URL = "rtsp://127.0.0.1:${RTSP_PORT}/test"
CONFIG_FILE = /workspace/configs/resnet18.txt
MSGCONV_CONFIG = /workspace/configs/nvmsgbroker_msgconv_config.txt
...

# Make commands on the host system
dev-env:
   bash scripts/run_dev_jetson.sh

...

# Make commands inside the container

run_pipeline:
   python3 src/deepstream/pipelines/gpu_pipeline.py # <- replace by the real path

...

linting:
   <put here the linting command>

DoD:

  • Makefile commands and defaults added, python scripts are adjusted to use them
  • All for demo needed commands are tested
  • Makefile commands are added to the main README.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions