From e4306a3c05719acd7defabaa0a97852980bb5ccf Mon Sep 17 00:00:00 2001 From: Andrew Reiter Date: Tue, 2 May 2023 14:05:16 -0400 Subject: [PATCH] Add frigate-jetson image with hwaccel ffmpeg codecs --- .github/workflows/ci.yml | 10 ++++++++++ Dockerfile | 5 +++++ docker/install_jetson_ffmpeg.sh | 13 +++++++++++++ 3 files changed, 28 insertions(+) create mode 100755 docker/install_jetson_ffmpeg.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b7705dcf6..79e282ed7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,3 +65,13 @@ jobs: tags: | ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-tensorrt cache-from: type=gha + - name: Build and push Jetson build + uses: docker/build-push-action@v4 + with: + context: . + push: true + platforms: linux/arm64 + target: frigate-jetson + tags: | + ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ github.ref_name }}-${{ env.SHORT_SHA }}-tensorrt + cache-from: type=gha diff --git a/Dockerfile b/Dockerfile index 4059a8059..e0d0684d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -260,6 +260,11 @@ RUN --mount=type=bind,from=trt-wheels,source=/trt-wheels,target=/deps/trt-wheels ln -s libnvrtc.so.11.2 /usr/local/lib/python3.9/dist-packages/nvidia/cuda_nvrtc/lib/libnvrtc.so && \ ldconfig +# NVIDIA Jetson platforms have their own codecs too +FROM frigate-tensorrt AS frigate-jetson +RUN --mount=type=bind,source=docker/install_jetson_ffmpeg.sh,target=/deps/install_jetson_ffmpeg.sh \ + /deps/install_jetson_ffmpeg.sh + # Dev Container w/ TRT FROM devcontainer AS devcontainer-trt diff --git a/docker/install_jetson_ffmpeg.sh b/docker/install_jetson_ffmpeg.sh new file mode 100755 index 000000000..c97ebc789 --- /dev/null +++ b/docker/install_jetson_ffmpeg.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -euxo pipefail + +if [[ "${TARGETARCH}" == "arm64" ]]; then + echo "deb https://repo.download.nvidia.com/jetson/ffmpeg main main" | tee /etc/apt/sources.list.d/jetson_ffmpeg.list + echo "deb-src https://repo.download.nvidia.com/jetson/ffmpeg main main" | tee /etc/apt/sources.list/jetson_ffmpeg.list + apt-get -qq update + apt-get -qq install --no-install-recommends --no-install-suggests -y ffmpeg +fi + +rm -rf /var/lib/apt/lists/* +