2022-11-22 02:31:39 +01:00
#!/bin/bash
set -euxo pipefail
apt-get -qq update
apt-get -qq install --no-install-recommends -y \
apt-transport-https \
gnupg \
wget \
2022-11-29 02:24:20 +01:00
procps vainfo \
2022-11-22 02:31:39 +01:00
unzip locales tzdata libxml2 xz-utils \
2023-01-19 00:23:40 +01:00
python3-pip \
curl \
jq
2022-11-22 02:31:39 +01:00
2022-12-09 13:39:02 +01:00
mkdir -p -m 600 /root/.gnupg
2022-11-22 02:31:39 +01:00
# add coral repo
2022-12-09 13:39:02 +01:00
wget --quiet -O /usr/share/keyrings/google-edgetpu.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/google-edgetpu.gpg] https://packages.cloud.google.com/apt coral-edgetpu-stable main" | tee /etc/apt/sources.list.d/coral-edgetpu.list
2022-11-22 02:31:39 +01:00
echo "libedgetpu1-max libedgetpu/accepted-eula select true" | debconf-set-selections
# enable non-free repo
sed -i -e's/ main/ main contrib non-free/g' /etc/apt/sources.list
# coral drivers
apt-get -qq update
apt-get -qq install --no-install-recommends --no-install-suggests -y \
libedgetpu1-max python3-tflite-runtime python3-pycoral
2023-01-08 14:04:58 +01:00
# btbn-ffmpeg -> amd64
if [ [ " ${ TARGETARCH } " = = "amd64" ] ] ; then
2022-11-22 02:31:39 +01:00
mkdir -p /usr/lib/btbn-ffmpeg
2023-01-08 16:23:58 +01:00
wget -qO btbn-ffmpeg.tar.xz "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2022-07-31-12-37/ffmpeg-n5.1-2-g915ef932a3-linux64-gpl-5.1.tar.xz"
2022-11-22 02:31:39 +01:00
tar -xf btbn-ffmpeg.tar.xz -C /usr/lib/btbn-ffmpeg --strip-components 1
rm -rf btbn-ffmpeg.tar.xz /usr/lib/btbn-ffmpeg/doc /usr/lib/btbn-ffmpeg/bin/ffplay
fi
# ffmpeg -> arm32
if [ [ " ${ TARGETARCH } " = = "arm" ] ] ; then
2023-01-08 14:04:58 +01:00
# add raspberry pi repo
gpg --no-default-keyring --keyring /usr/share/keyrings/raspbian.gpg --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E
echo "deb [signed-by=/usr/share/keyrings/raspbian.gpg] http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi" | tee /etc/apt/sources.list.d/raspi.list
2023-01-08 21:39:39 +01:00
apt-get -qq update
2023-01-08 14:04:58 +01:00
apt-get -qq install --no-install-recommends --no-install-suggests -y ffmpeg
fi
# ffmpeg -> arm64
if [ [ " ${ TARGETARCH } " = = "arm64" ] ] ; then
# add raspberry pi repo
gpg --no-default-keyring --keyring /usr/share/keyrings/raspbian.gpg --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E
echo "deb [signed-by=/usr/share/keyrings/raspbian.gpg] https://archive.raspberrypi.org/debian/ bullseye main" | tee /etc/apt/sources.list.d/raspi.list
2023-01-08 21:39:39 +01:00
apt-get -qq update
2022-11-22 02:31:39 +01:00
apt-get -qq install --no-install-recommends --no-install-suggests -y ffmpeg
fi
# arch specific packages
if [ [ " ${ TARGETARCH } " = = "amd64" ] ] ; then
# Use debian testing repo only for hwaccel packages
echo 'deb http://deb.debian.org/debian testing main non-free' >/etc/apt/sources.list.d/debian-testing.list
apt-get -qq update
2022-12-03 17:19:34 +01:00
# intel-opencl-icd specifically for GPU support in OpenVino
2022-11-22 02:31:39 +01:00
apt-get -qq install --no-install-recommends --no-install-suggests -y \
2022-12-03 17:19:34 +01:00
intel-opencl-icd \
2022-11-29 02:24:20 +01:00
mesa-va-drivers libva-drm2 intel-media-va-driver-non-free i965-va-driver libmfx1 radeontop intel-gpu-tools
2022-11-22 02:31:39 +01:00
rm -f /etc/apt/sources.list.d/debian-testing.list
fi
if [ [ " ${ TARGETARCH } " = = "arm64" ] ] ; then
apt-get -qq install --no-install-recommends --no-install-suggests -y \
libva-drm2 mesa-va-drivers
fi
# not sure why 32bit arm requires all these
if [ [ " ${ TARGETARCH } " = = "arm" ] ] ; then
apt-get -qq install --no-install-recommends --no-install-suggests -y \
libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
2022-11-24 03:00:45 +01:00
gfortran openexr libatlas-base-dev libtbb-dev libdc1394-22-dev libopenexr-dev \
2022-11-22 02:31:39 +01:00
libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
fi
2022-12-03 17:23:19 +01:00
apt-get purge gnupg apt-transport-https wget xz-utils -y
2022-11-22 02:31:39 +01:00
apt-get clean autoclean -y
apt-get autoremove --purge -y
rm -rf /var/lib/apt/lists/*