mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
feat(server): transcoding hardware acceleration (#3171)
* added transcode configs for nvenc,qsv and vaapi * updated dev docker compose * added software fallback * working vaapi * minor fixes and added tests * updated api * compile libvips * move hwaccel settings to `hwaccel.yml` * changed default dockerfile, moved `readdir` call * removed unused import * minor cleanup * fix for arm build * added documentation, minor fixes * added intel driver * updated docs styling * uppercase codec and api names * formatting * added tests * updated docs * removed semicolons * added link to `hwaccel.yml` * added newlines * added `hwaccel` section to docker-compose.prod.yml * ensure mesa drivers are installed * switch to mimalloc for sharp * moved build version and sha256 to json * let libmfx set the render device * possible fix for vp9 on qsv * updated tests * formatting * review suggestions * semicolon * moved `LD_PRELOAD` to start script * switched to jellyfin's ffmpeg package * fixed dockerfile * use cqp instead of icq for qsv vp9 * updated dockerfile * added sha256sum for other platforms * fixtures
This commit is contained in:
parent
b9cda59172
commit
ee49f470b7
44 changed files with 1308 additions and 68 deletions
22
server/bin/build-libvips.sh
Executable file
22
server/bin/build-libvips.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
LOCK=$(jq -c '.packages[] | select(.name == "libvips")' build-lock.json)
|
||||
LIBVIPS_VERSION=${LIBVIPS_VERSION:=$(echo $LOCK | jq -r '.version')}
|
||||
LIBVIPS_SHA256=${LIBVIPS_SHA256:=$(echo $LOCK | jq -r '.sha256')}
|
||||
|
||||
echo "$LIBVIPS_SHA256 vips-$LIBVIPS_VERSION.tar.xz" > libvips.sha256
|
||||
mkdir -p libvips
|
||||
wget -nv https://github.com/libvips/libvips/releases/download/v${LIBVIPS_VERSION}/vips-${LIBVIPS_VERSION}.tar.xz
|
||||
sha256sum -c libvips.sha256
|
||||
tar -xvf vips-${LIBVIPS_VERSION}.tar.xz -C libvips --strip-components=1
|
||||
rm vips-${LIBVIPS_VERSION}.tar.xz
|
||||
rm libvips.sha256
|
||||
cd libvips
|
||||
meson setup build --buildtype=release --libdir=lib -Dintrospection=false
|
||||
cd build
|
||||
# ninja test # tests set concurrency too high for arm/v7
|
||||
ninja install
|
||||
cd .. && rm -rf libvips
|
||||
ldconfig /usr/local/lib
|
||||
Loading…
Add table
Add a link
Reference in a new issue