mirror of
https://github.com/immich-app/immich.git
synced 2025-12-02 10:29:59 +09: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:
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
|
||||
Reference in New Issue
Block a user