1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-06 03:46:47 +01:00
immich/server/src/utils
N00MKRAD f1ca1794a1
Add AV1 transcoding support (#8491)
* Add AV1 transcoding support

- AV1 encoding on CPU via SVT-AV1 (libsvtav1 in ffmpeg)
- Supports CRF and optionally capped CRF (max bitrate)
- Tested playback successfully in Chrome Win+Android, Firefox Win+Linux, Android app

* AV1: Add support for encoding threads option

* Revert previous commit; specifying params multiple times is bad

We need to specify all svtav1-params at once, so putting the thread option into getThreadOptions is not possible.

* AV1: Override VAAPI getSupportedCodecs as it does not yet support AV1 unlike nvenc, qsv, amf

* Change BaseHWConfig supported codecs to only H264/HEVC

Configs that support VP9 and/or AV1 need to override getSupportedCodecs()

* Set SVT-AV1 threads with svtav1-params, remove duplicate block in NVENCConfig

* AV1Config: Fix empty svtav1-params array being added to options

* add tests

* update api

* allow crf-based two-pass mode

* formatting

* suggest 35

---------

Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-04-11 05:26:27 +00:00
..
.media.ts.kate-swp Add AV1 transcoding support (#8491) 2024-04-11 05:26:27 +00:00
asset.util.ts refactor(server): extract add/remove assets logic to utility function (#8329) 2024-03-29 07:56:16 -04:00
bytes.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
database.ts refactor(server): decouple generated images from image formats (#8246) 2024-04-02 04:56:56 +00:00
file.ts refactor: asset v1, app.utils (#8152) 2024-03-21 09:07:47 -04:00
instrumentation.ts feat(server): job metrics (#8255) 2024-03-24 23:02:04 -04:00
logger.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
media.ts Add AV1 transcoding support (#8491) 2024-04-11 05:26:27 +00:00
mime-types.spec.ts feat(server): extensions for MPEG and 3GP (#8400) 2024-03-30 21:48:01 -05:00
mime-types.ts feat(server): extensions for MPEG and 3GP (#8400) 2024-03-30 21:48:01 -05:00
misc.ts refactor: asset v1, app.utils (#8152) 2024-03-21 09:07:47 -04:00
pagination.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
set.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
sql.ts fix: sql generation issues (#8361) 2024-03-30 00:16:06 -04:00
version.spec.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00
version.ts refactor: infra folder (#8138) 2024-03-20 23:15:09 -04:00