Mert
92412ca2f7
fix(server): person thumbnail generation always being queued ( #15734 )
...
* fix person thumbnail generation always being queued
* fix thumbhash comparison
* fix mock
2025-01-27 16:20:18 -06:00
Jason Rasmussen
66849d0d45
refactor: migrate media repository ( #15536 )
2025-01-22 22:11:07 +00:00
Daniel Dietzler
332a865ce6
refactor: migrate person repository to kysely ( #15242 )
...
* refactor: migrate person repository to kysely
* `asVector` begone
* linting
* fix metadata faces
* update test
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2025-01-21 13:12:28 -05:00
Mert
60c783bbe9
fix(server): partial fallback for hardware transcoding ( #14611 )
2024-12-10 12:11:19 -05:00
San
1c82804f63
fix(server): use hw decoding for rkmpp w/o OpenCL if possible ( #13848 )
...
* Set hardware decoding options for rkmpp when hardware decoding is enabled with no OpenCL on non-HDR file
* Use hw decoding, sw tone-mapping on HDR files using RKMPP w/o OpenCL
* fallback to software decoding if is hdr video
* if hw decoding failed with hw dec config enabled, try sw dec+hw enc first, then full sw dec+enc
* fix unit test
* fix format, adjust log message
* formatting
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
2024-11-22 08:08:49 +00:00
Lukas
b6937c5e03
fix(server): Remove log that accidently was commited in #14134 ( #14261 )
...
Remove log that accidently was commited
2024-11-20 17:20:54 +00:00
Lukas
9203a61709
fix(server): Some MTS videos fail to generate thumbnail ( #14134 )
...
* Stop skipping of all frames in MTS video
* Only skip flag for mts videos
* Fix lint checks
* Adds test
* Add comment for why flag is removed
2024-11-14 07:07:04 +00:00
Alex
2f9019c0e1
fix(server): correct rotation for common files ( #14092 )
...
* fix(server): correct rotation for common files
* fix: test:
* pr feedback
2024-11-12 15:07:56 +00:00
Terry Zhao
c8b46802d6
fix(server): thumbnail rotation when using embedded previews ( #13948 )
2024-11-08 06:30:59 +00:00
Mert
b9096f3e99
feat(server): use tonemapx for software tone-mapping ( #13785 )
2024-10-31 20:48:23 -04:00
Jason Rasmussen
5b2cd704d3
refactor(server): job discovery ( #13838 )
...
refactor(server): job discorvery
2024-10-31 13:42:58 -04:00
Pranay Pandey
d40cbe4c5f
feat: Use video thumbnail for GIF types ( #13677 )
2024-10-22 13:04:44 -04:00
Alex
39b571a95c
fix(server): encodes iPhone 16 Pro video with unknown audio codec ( #13593 )
...
* fix(server): encodes iPhone 16 Pro video with unknown audio codec
* remove white space
* pr feedback + unit test
* remove public method keyword
* test the service
* correcting unit test
2024-10-19 00:50:08 -05:00
Daniel Dietzler
20b4d281bb
chore: media service unit tests ( #13382 )
2024-10-11 21:33:10 -04:00
Jason Rasmussen
4ea281f854
refactor: service dependencies ( #13108 )
...
refactor(server): simplify service dependency management
2024-10-02 10:54:35 -04:00
Jason Rasmussen
63437529e1
refactor(server): config file env ( #13100 )
2024-10-01 16:03:55 -04:00
Jason Rasmussen
a019fb670e
refactor(server): config service ( #13066 )
...
* refactor(server): config service
* fix: function renaming
---------
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-09-30 17:31:21 -04:00
Mert
2bcd27e166
feat(server): generate all thumbnails for an asset in one job ( #13012 )
...
* wip
cleanup
add success logs, rename method
do thumbhash too
fixes
fix tests
handle `notify`
wip refactor
refactor
* update tests
* update sql
* pr feedback
* remove unused code
* formatting
2024-09-28 17:47:24 +00:00
Mert
995f0fda47
feat(server): separate quality for thumbnail and preview images ( #13006 )
...
* allow different thumbnail and preview quality, better config structure
* update web and api
* wording
* remove empty line?
2024-09-28 06:01:04 +00:00
Mert
4248594ac5
feat(server): better transcoding logs ( #13000 )
...
* better transcoding logs
* pr feedback
2024-09-27 18:10:39 -04:00
Jason Rasmussen
12da250028
refactor: enums ( #12988 )
2024-09-27 10:28:42 -04:00
Jason Rasmussen
d634ef2d2b
fix(server): person repo methods ( #12524 )
2024-09-10 08:48:29 -05:00
BugFest
77e6a6d78b
feat(server): Import face regions from metadata ( #6455 )
...
* feat: faces-from-metadata - Import face regions from metadata
Implements immich-app#1692.
- OpenAPI spec changes to accomodate metadata face import configs. New settings to enable the feature.
- Updates admin UI compoments
- ML faces detection/recognition & Exif/Metadata faces compatibility
Signed-off-by: BugFest <bugfest.dev@pm.me>
* chore(web): remove unused file confirm-enable-import-faces
* chore(web): format metadata-settings
* fix(server): faces-from-metadata tests and format
* fix(server): code refinements, nullable face asset sourceType
* fix(server): Add RegionInfo to ImmichTags interface
* fix(server): deleteAllFaces sourceType param can be undefined
* fix(server): exiftool-vendored 27.0.0 moves readArgs into ExifToolOptions
* fix(server): rename isImportFacesFromMetadataEnabled to isFaceImportEnabled
* fix(server): simplify sourceType conditional
* fix(server): small fixes
* fix(server): handling sourceType
* fix(server): sourceType enum
* fix(server): refactor metadata applyTaggedFaces
* fix(server): create/update signature changes
* fix(server): reduce computational cost of Person.getManyByName
* fix(server): use faceList instead of faceSet
* fix(server): Skip regions without Name defined
* fix(mobile): Update open-api (face assets feature changes)
* fix(server): Face-Person reconciliation with map/index
* fix(server): tags.RegionInfo.AppliedToDimensions must be defined to process face-region
* fix(server): fix shared-link.service.ts format
* fix(mobile): Update open-api after branch update
* simplify
* fix(server): minor fixes
* fix(server): person create/update methods type enforcement
* fix(server): style fixes
* fix(server): remove unused metadata code
* fix(server): metadata faces unit tests
* fix(server): top level config metadata category
* fix(server): rename upsertFaces to replaceFaces
* fix(server): remove sourceType when unnecessary
* fix(server): sourceType as ENUM
* fix(server): format fixes
* fix(server): fix tests after sourceType ENUM change
* fix(server): remove unnecessary JobItem cast
* fix(server): fix asset enum imports
* fix(open-api): add metadata config
* fix(mobile): update open-api after metadata open-api spec changes
* fix(web): update web/api metadata config
* fix(server): remove duplicated sourceType def
* fix(server): update generated sql queries
* fix(e2e): tests for metadata face import feature
* fix(web): Fix check:typescript
* fix(e2e): update subproject ref
* fix(server): revert format changes to pass format checks after ci
* fix(mobile): update open-api
* fix(server,movile,open-api,mobile): sourceType as DB data type
* fix(e2e): upload face asset after enabling metadata face import
* fix(web): simplify metadata admin settings and i18n keys
* Update person.repository.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* fix(server): asset_faces.sourceType column not nullable
* fix(server): simplified syntax
* fix(e2e): use SDK for everything except the endpoint being tested
* fix(e2e): fix test format
* chore: clean up
* chore: clean up
* chore: update e2e/test-assets
---------
Signed-off-by: BugFest <bugfest.dev@pm.me>
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-09-04 18:23:58 -04:00
Jason Rasmussen
c3a8ddaaf2
fix(server): missing asset files relation ( #12295 )
2024-09-03 21:23:34 -04:00
Jonathan Jogenfors
eb4a291c81
chore(server): log path when generating external thumbnail ( #12107 )
...
* feat: log path when generating external thumbnail
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2024-08-29 22:16:12 +00:00
Jason Rasmussen
7af6733665
refactor(server): move files to separate table ( #11861 )
2024-08-19 20:03:33 -04:00
Jason Rasmussen
d9698884bd
refactor(server): track thumbnail jobs in job status table ( #11908 )
...
refactor: track thumbnail jobs in job status table
2024-08-19 13:50:00 -04:00
Jason Rasmussen
b288241a5c
refactor(server): enums ( #11809 )
2024-08-15 06:57:01 -04:00
Mert
9d2d556200
feat(server): accepted video containers ( #11274 )
...
* add accepted container config
* update api
* mp4 option makes no sense
* add to transcoding settings
* wording
* updated spec config
* formatting
2024-07-21 21:14:23 +00:00
Saschl
d37e8ede3b
feat: optionally generate thumbnails for invalid images ( #11126 )
2024-07-18 12:07:22 -04:00
Michel Heusschen
8e373cee8d
fix(server): include archived assets in forced thumbnail generation ( #10409 )
2024-06-16 16:16:02 -04:00
Michel Heusschen
010eb1e0d6
fix(server): include trashed assets in forced thumbnail generation ( #10389 )
...
* fix(server): include trashed assets in forced thumbnail generation
* deleted -> trashed
2024-06-16 08:37:51 -07:00
Jason Rasmussen
e84657192c
refactor: config caching ( #10168 )
2024-06-12 11:07:35 +00:00
Mert
dca420ef70
chore: refactor transcode config routing ( #9800 )
...
* chore: refactor transcode config
* rename parameter
* handle no /dev/dri
* prefer undefined
2024-05-27 15:20:07 -04:00
Mert
a5e8b451b2
feat(server): qsv hardware decoding and tone-mapping ( #9689 )
...
* qsv hw decoding and tone-mapping
* fix vaapi
* add tests
* formatting
* handle device name without path
2024-05-23 03:58:29 +00:00
Mert
d8eca168ca
feat(server): fully accelerated nvenc ( #9452 )
...
* use arrayContaining
* libplacebo for nvenc
update dockerfile
* tweaks
* update nvenc options
* tweak settings
* refactor
* toggle for hardware decoding, software / hardware decoding for nvenc and rkmpp
* fix software tone-mapping not being applied
* separate configs for hw/sw
* update api
* add hw decode toggle
* fix mutating config
* remove `version` flag
* fix config type
* remove submodule
* handle temporal AQ
* remove duplicate tests
* use `tonemap_opencl`
* wording
* update docs
2024-05-16 13:30:26 -04:00
Jason Rasmussen
984aa8fb41
refactor(server): system config ( #9517 )
2024-05-15 18:58:23 -04:00
Jason Rasmussen
7b1112f3e3
refactor(server): system config ( #9484 )
2024-05-14 14:43:49 -04:00
Mert
bb4843747b
perf: cache transcoding devices ( #9381 )
...
cache transcoding devices
2024-05-10 15:03:47 -04:00
Mert
1167f0f2b7
feat(server): optimize person thumbnail generation ( #7513 )
...
* do crop and resize together
* redundant `pipelineColorspace` call
* formatting
* fix rebase
* handle orientation
* remove unused import
* formatting
* use oriented dimensions for half size calculation
* default case for orientation
* simplify orientation code
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-05-08 08:09:34 -05:00
Mert
a0c43a2b5a
fix(server): person thumbnails not being queued during thumbnail generation ( #9195 )
...
use face id instead of asset id
2024-05-02 01:33:17 +01:00
Mert
2648032163
fix(server): untracked thumbnail and preview images ( #9126 )
...
* delete old thumbnails
* add tests
* revert invisible asset handling
2024-04-27 18:43:05 -04:00
Mert
431ffebddd
feat(server): use embedded preview from raw images ( #8773 )
...
* extract embedded
* update api
* add tests
* move temp file logic outside of media repo
* formatting
* revert `toSorted`
* disable by default
* clarify setting description
* wording
* wording
* update docs
* check extracted image dimensions
* test that it unlinks
* formatting
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-19 10:50:13 -05:00
Mert
596c35dc00
fix(server): skip invisible assets for thumbnail generation and ml ( #8891 )
...
* skip invisible assets for thumbnail generation and ml
* no need to update job status
* fix thumbhash check order
* linting
2024-04-19 01:37:55 +00:00
AmAn Sharma
6e6deec40c
feat: use ILoggerRepository ( #8855 )
...
* Migrate ImmichLogger over to injected ILoggerRepository
* chore: cleanup and tests
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-16 17:30:31 -04:00
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
Mert
105a74caca
feat(server,web): configure image format ( #8581 )
2024-04-07 12:44:34 -04:00
Mert
8edc2fb46f
refactor(server): decouple generated images from image formats ( #8246 )
...
* rename
thumbnail config
update target paths, fix tests
rename to image settings
replace legacy enum
better typing
update sql
update api
remove config option
fix
* update docs
* update other thumbnail configs in migration
* keep legacy enum for now
* fix jumbled job names
* fix jumbled job names in tests
* rename thumbhash job
* rename dto
* fix tests
* preserve order
* remove unused import
* keep old fields in dto, marked deprecated
* update sql
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-04-02 04:56:56 +00:00
Jason Rasmussen
b6e4be72f0
chore(server): consolidate dto files ( #8201 )
...
chore: conoslidate dto files
2024-03-22 16:36:20 -04:00
Daniel Dietzler
b588a87d4a
chore(server): rename domain repositories
-> interfaces
( #8147 )
...
rename domain repositories
2024-03-21 06:59:49 -05:00