1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2024-12-29 15:11:58 +00:00
immich/server
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
..
bin chore(server): remove pre-installed cli (#8224) 2024-03-23 16:07:39 -04:00
e2e chore(server): rename domain repositories -> interfaces (#8147) 2024-03-21 06:59:49 -05:00
resources feat: postgres reverse geocoding (#5301) 2023-11-25 18:53:30 +00:00
src Add AV1 transcoding support (#8491) 2024-04-11 05:26:27 +00:00
test fix(server): hevc tag being set when copying a non-hevc stream (#8582) 2024-04-07 12:44:09 -04:00
.eslintrc.js chore(deps): update dependency eslint-plugin-unicorn to v52 (#8629) 2024-04-08 12:45:46 -04:00
.gitignore feat(web): re-add open graph tags for public share links (#5635) 2023-12-11 13:37:47 -06:00
.prettierignore refactor: open api (#6334) 2024-01-12 07:36:27 -05:00
.prettierrc fix(server): lint import order (#3974) 2023-09-04 21:45:59 +02:00
Dockerfile chore(deps): update node.js to 3fb85a6 (#8643) 2024-04-08 22:33:50 -04:00
nest-cli.json refactor(server)*: tsconfigs (#2689) 2023-06-08 10:01:07 -05:00
package-lock.json fix(deps): update typescript-projects (#8651) 2024-04-09 21:08:37 +02:00
package.json fix(deps): update typescript-projects (#8651) 2024-04-09 21:08:37 +02:00
README.md docs: add some details for getting started as a developer (#8468) 2024-04-02 11:56:33 -05:00
start-microservices.sh fix: shell scripts (#7189) 2024-02-18 20:57:24 -06:00
start-server.sh fix: shell scripts (#7189) 2024-02-18 20:57:24 -06:00
start.sh fix(server): re-add mimalloc (#7511) 2024-02-28 18:23:48 -05:00
tsconfig.build.json fix: exclude e2e format (#3250) 2023-07-13 21:41:16 -05:00
tsconfig.json chore(server): use absolute import paths (#8080) 2024-03-20 14:32:04 -04:00

Immich server project

This project uses the NestJS web framework. Please refer to the NestJS docs for information on getting started as a contributor to this project.