Commit graph

54 commits

Author SHA1 Message Date
Michael Mayer
ef6e3d3f9d Metadata: Ensure the altitude is not out of range and fix logs #3182
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 11:51:26 +01:00
Michael Mayer
3553f84872 Metadata: Ensure GPS lat/lng are within a valid range #2109
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-28 20:14:35 +01:00
Michael Mayer
75f288d465 Metadata: Add JSON tests for iPhone 6s and 14 Pro #2876
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-15 17:11:32 +01:00
Michael Mayer
b708b963c2 Migrate: Default to UTC when reading time from XMP #636
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-31 16:46:20 +01:00
Michael Mayer
a149711073 Metadata: Add test files aurora.jpg and aurora.jpg.json #2640
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-24 21:16:16 +02:00
Michael Mayer
3403c50c48 Videos: Extract local time from DateTimeOriginal if possible #2640
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-24 17:50:22 +02:00
Michael Mayer
c7ad17b60c Metadata: Ignore unknown values when parsing timestamps #2510
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-22 12:38:25 +02:00
Michael Mayer
519f0c49c9 Videos: Stream OGV, VP8, VP9, AV1, WebM, and HEVC if supported #2461 2022-06-24 06:59:22 +02:00
theresa
dc2a261884 Tests: Add unit tests for new exiftool tags 2022-05-25 17:26:26 +02:00
Michael Mayer
e4999db92e Metadata: Add IPTC 2021.1 JSON/YAML Schemas incl. test files #1143 #2252 2022-04-14 12:18:05 +02:00
Michael Mayer
82d61d1f93 File Types: Add experimental support for animated GIFs #590 #2207
Animated GIFs are transcoded to AVC because it is much smaller and
thus also suitable for long/large animations. In addition, this commit
adds support for more metadata fields such as frame rate, number of
frames, file capture timestamp (unix milliseconds), media type,
and software version. Support for SVG files can later be implemented in
a similar way.
2022-04-13 22:17:59 +02:00
Michael Mayer
893810f82f Metadata: Read Zulu formatted timestamps from Exiftool JSON #2082 2022-02-28 19:12:54 +01:00
Michael Mayer
35ac1e730c Docs: Update URL 2021-12-12 20:48:05 +01:00
Michael Mayer
5be456a09f JPEG: Convert Apple "Display P3" colors to standard sRGB #1474
Other color profiles and file formats are not supported yet. Should
be easy to add though. Main difficulty will be profile name comparison:
For example "Adobe RGB (1998)" vs just "Adobe RGB".
2021-12-09 07:00:39 +01:00
Michael Mayer
c819e9159c Metadata: Fix time zone for MP4 videos #1388
As it turned out, the exiftool -api QuickTimeUTC parameter converts
CreateDate to local time using the server's time zone. This doesn't
help as it's technically still a local time and not UTC. Had to
implement this manually in our Exiftool JSON parser for MP4 videos only.
2021-07-13 17:56:26 +02:00
Michael Mayer
513a7e9257 Exiftool: Fix CLI parameters and add tests #1388 #1401 2021-07-12 21:41:44 +02:00
Michael Mayer
2d7becdbbc Metadata: Add keywords tests #1153 2021-05-01 10:52:28 +02:00
Theresa Gresch
da6e948f31
Metadata: Add support for XMP sidecar CreateDate and Keywords (#1161)
* Metadata: Read title, description, date and keywords from apple xmp

* Metadata: Add testfiles and tests

* Metadata: Add support for XMP sidecar CreateDate and Keywords #1151

Co-authored-by: Michael Mayer <michael@lastzero.net>
2021-04-26 13:54:14 +02:00
Michael Mayer
27c106863d Metadata: Merge existing keywords #1153 2021-04-25 14:17:34 +02:00
theresa
1532e6b748 Tests: Add test and testfiles for bug #1153 2021-03-25 11:45:32 +01:00
Michael Mayer
a78a5f6f48 Metadata: Add workaround for exif strings containing \n or \r
See: https://github.com/dsoprea/go-exif/issues/55
2021-02-13 18:11:44 +01:00
Michael Mayer
8e22fbf8f6 Metadata: Store and compare data source for details #755 2020-12-31 13:51:31 +01:00
Michael Mayer
837fc495f9 Metadata: Ignore invalid Exif GPS coordinates #736
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-23 18:43:52 +01:00
Michael Mayer
8859a23fd8 Metadata: Add iPhone X mov example JSON file #727
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-22 09:28:52 +01:00
Michael Mayer
2ed6880270 Metadata: Add support for CreationDate in ExifTool JSON files #727 2020-12-22 07:47:16 +01:00
Michael Mayer
bc535b6248 Metadata: Support time zones in ExifTool JSON files #727 2020-12-22 01:52:36 +01:00
Michael Mayer
604f110277 Metadata: Add test case for bad Exif rotation #637 2020-12-05 00:46:54 +01:00
Theresa Gresch
67287a2d57 Backend: Add testdata 2020-10-27 09:30:20 +01:00
Michael Mayer
5bafb17c4b Metadata: Sanitize keywords, subject & artist #490
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-19 11:50:54 +02:00
Theresa Gresch
c5b657ba05
Merge pull request #503 from nvllsvm/optimize
Optimize images
2020-09-30 10:48:40 +02:00
Theresa Gresch
f8e2b5800f Backend: Add testdata for json files belonging to videos with information about camera 2020-09-23 16:36:55 +02:00
Andrew Rabert
443789a7e0 Optimize images
Used:
- `oxipng --zopfli --opt max`
- `jpegoptim --all-progressive`
2020-09-21 17:40:58 -04:00
Michael Mayer
5839bc9c79 Metadata: Add test jpeg with "slice bounds out of range" error
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 13:53:08 +02:00
Michael Mayer
138dabd0c8 Metadata: Use mime type to determine file format and exif parser #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 16:39:43 +02:00
Michael Mayer
0e5fe5eb43 Index image projection and add panorama filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 13:02:48 +02:00
Michael Mayer
8989c987a2 Unstack all types, except primary and sidecar files #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 11:00:49 +02:00
Michael Mayer
99eaae0816 Backend: Import JSON metadata from Google Photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 16:46:29 +02:00
Michael Mayer
0032951b36 Update links to docs.photoprism.org
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 13:14:20 +02:00
Michael Mayer
ca8a8466d4 Indexing bug fixes and UX improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 14:56:27 +02:00
Michael Mayer
f510ac994c XMP: Group files based on DocumentID and Instance ID #335
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 13:40:21 +02:00
Michael Mayer
9937304d0c Metadata: Improve date and error handling; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 15:29:56 +02:00
Michael Mayer
fbc2cfaf22 Backend: Add test for (resized) JPEG with GPS issues #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 12:45:42 +02:00
Michael Mayer
a16f00f359 Backend: Add support for DateTime in Exif metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 11:15:15 +02:00
Michael Mayer
71fb67adb2 Videos: Support H.264/AVC .mov files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 09:39:32 +02:00
Michael Mayer
5a3014c3d9 Backend: Swap width and height to fix rotation when reading from JSON
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 14:28:23 +02:00
Michael Mayer
2045e3d770 Index and show video metadata #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 11:57:26 +02:00
Michael Mayer
5f408f4f76 Backend: Read from JSON sidecar files (created by exiftool) #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:53:15 +02:00
Michael Mayer
6c6ea0ac3d Support GPSVersionID 2.0.0.0 #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 08:03:57 +02:00
Michael Mayer
4deca6b1ed Metadata: Exclude null bytes from Exif #252
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-21 02:15:07 +01:00
Michael Mayer
c13e39e6d1 Backend: Add fields to Meta.Data struct #243
Added: Subject, Keywords, Comment, CameraOwner and CameraSerial

Todo: Read values from Exif.Image.XPTitle, XPSubject, XPKeywords,...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-07 14:40:06 +01:00