From 732f2c9249a90d4218e79cbe55cde5510062f16b Mon Sep 17 00:00:00 2001 From: Blake Blackshear Date: Sun, 24 Apr 2022 07:33:30 -0500 Subject: [PATCH] use jellyfin-ffmpeg for all arch --- Makefile | 14 +++++++++++++- docker/Dockerfile | 27 +++++++++++---------------- docs/docs/contributing.md | 6 ++++++ 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index c1658a5ea..a3e1bfe85 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,19 @@ nginx_frigate: frigate: version DOCKER_BUILDKIT=1 docker build -t frigate -f docker/Dockerfile . -frigate_push: version +frigate_amd64: version + docker buildx build --platform linux/amd64 --tag blakeblackshear/frigate:$(VERSION)-$(COMMIT_HASH) --file docker/Dockerfile . + +frigate_arm64: version + docker buildx build --platform linux/arm64 --tag blakeblackshear/frigate:$(VERSION)-$(COMMIT_HASH) --file docker/Dockerfile . + +frigate_armv7: version + docker buildx build --platform linux/arm/v7 --tag blakeblackshear/frigate:$(VERSION)-$(COMMIT_HASH) --file docker/Dockerfile . + +frigate_build: frigate_amd64 frigate_arm64 frigate_armv7 + docker buildx build --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag blakeblackshear/frigate:$(VERSION)-$(COMMIT_HASH) --file docker/Dockerfile . + +frigate_push: frigate_build docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag blakeblackshear/frigate:$(VERSION)-$(COMMIT_HASH) --file docker/Dockerfile . run_tests: frigate diff --git a/docker/Dockerfile b/docker/Dockerfile index d5986d98a..bbe38da8c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -77,30 +77,25 @@ RUN apt-get -qq update \ && wget -O - http://archive.raspberrypi.org/debian/raspberrypi.gpg.key | apt-key add - \ && echo "deb http://archive.raspberrypi.org/debian/ bullseye main" | tee /etc/apt/sources.list.d/raspi.list \ # add coral repo - && APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn apt-key adv --fetch-keys https://packages.cloud.google.com/apt/doc/apt-key.gpg \ + && apt-key adv --fetch-keys https://packages.cloud.google.com/apt/doc/apt-key.gpg \ && echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" > /etc/apt/sources.list.d/coral-edgetpu.list \ && echo "libedgetpu1-max libedgetpu/accepted-eula select true" | debconf-set-selections \ + # jellyfin-ffmpeg + && wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | apt-key add - \ + && echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | tee /etc/apt/sources.list.d/jellyfin.list \ && apt-get -qq update \ - && apt-get -qq install --no-install-recommends -y \ + && apt-get -qq install --no-install-recommends --no-install-suggests -y \ # coral drivers libedgetpu1-max python3-tflite-runtime python3-pycoral \ - && pip3 install -U /wheels/*.whl \ - && rm -rf /wheels \ - # ffmpeg - && if [ "${TARGETARCH}" = "amd64" ]; then \ - wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | apt-key add - \ - && echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | tee /etc/apt/sources.list.d/jellyfin.list \ - && apt-get update \ - && apt-get install --no-install-recommends --no-install-suggests -y \ - mesa-va-drivers \ jellyfin-ffmpeg \ - openssl \ - locales \ - && ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg; \ - else \ + && pip3 install -U /wheels/*.whl \ + && ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg \ + # amd64 specific packages + && if [ "${TARGETARCH}" = "amd64" ]; then \ apt-get -qq install --no-install-recommends -y \ - ffmpeg; \ + mesa-va-drivers; \ fi \ + && rm -rf /wheels \ && apt-get remove gnupg apt-transport-https -y \ && apt-get clean autoclean -y \ && apt-get autoremove -y \ diff --git a/docs/docs/contributing.md b/docs/docs/contributing.md index a5786a3b2..59c1423f2 100644 --- a/docs/docs/contributing.md +++ b/docs/docs/contributing.md @@ -102,6 +102,12 @@ This should show <50% CPU in top, and ~80% CPU without `-c:v h264_v4l2m2m`. ffmpeg -c:v h264_v4l2m2m -re -stream_loop -1 -i https://streams.videolan.org/ffmpeg/incoming/720p60.mp4 -f rawvideo -pix_fmt yuv420p pipe: > /dev/null ``` +**NVIDIA** + +```shell +ffmpeg -c:v h264_cuvid -re -stream_loop -1 -i https://streams.videolan.org/ffmpeg/incoming/720p60.mp4 -f rawvideo -pix_fmt yuv420p pipe: > /dev/null +``` + ## Web Interface ### Prerequisites