1
0
mirror of https://github.com/immich-app/immich.git synced 2024-11-28 09:33:27 +02:00
immich/web
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: web shutdown signal (#7114) 2024-02-14 08:57:02 -06:00
src Add AV1 transcoding support (#8491) 2024-04-11 05:26:27 +00:00
static chore(web): favicon without white bg (#8251) 2024-03-24 16:44:59 -05:00
.dockerignore feat(web)!: SPA (#5069) 2023-11-17 22:13:36 -06:00
.eslintignore chore(deps): update web (#8066) 2024-03-20 14:08:01 -05:00
.eslintrc.cjs chore(deps): update dependency eslint-plugin-unicorn to v52 (#8629) 2024-04-08 12:45:46 -04:00
.gitignore Add ablum feature to web (#352) 2022-07-15 23:18:17 -05:00
.npmrc Add web interface with admin functionality (#167) 2022-05-21 02:23:55 -05:00
.prettierignore refactor: open api (#6334) 2024-01-12 07:36:27 -05:00
.prettierrc chore(web): auto sort imports (#7118) 2024-02-14 10:54:32 -05:00
Dockerfile chore(deps): update node.js to 3fb85a6 (#8643) 2024-04-08 22:33:50 -04: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
postcss.config.cjs chore(web): prettier (#2821) 2023-06-30 23:50:47 -05:00
README.md docs: add some details for getting started as a developer (#8468) 2024-04-02 11:56:33 -05:00
svelte.config.js perf: precompress and cache assets (#7757) 2024-03-08 21:15:38 -05:00
tailwind.config.cjs fix(web): asset-grid padding/margin left fix (#8125) 2024-03-21 00:18:38 -05:00
tsconfig.json fix(web): validation when editing asset date & time (#7160) 2024-02-17 09:28:34 -05:00
vite.config.js perf(web): optimize images and modules (#7088) 2024-02-18 13:18:40 -06:00

Immich web project

This project uses the SvelteKit web framework. Please refer to the SvelteKit docs for information on getting started as a contributor to this project. In particular, it will help you navigate the project's code if you understand the basics of SvelteKit routing.

When developing locally, you will run a SvelteKit Node.js server. When this project is deployed to production, it is built as a SPA and deployed as part of [../server](the server project).