Commit Graph

63 Commits

Author SHA1 Message Date
Michael Mayer
501ef56c97 Videos: Support for detection and streaming of additional formats #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-06 14:27:47 +01:00
Michael Mayer
b2cef94f07 Videos: Assume 10-bit codec variants in content type for HDR #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 12:39:46 +01:00
Michael Mayer
b4f57dc992 API: Fix glitch in video.Compatible() and add tests for it #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 04:17:03 +01:00
Michael Mayer
ef66ddbb8c API: Compare video formats by content type for better matching #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 03:42:40 +01:00
Michael Mayer
d5ef7bf1bc Media: Refactor video content type constants #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 01:23:22 +01:00
Michael Mayer
6a89519e63 Videos: Refactor codec, content and file type specifications #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 00:30:45 +01:00
Michael Mayer
1f4f65e988 Server: Add "force" and "mode" flags for sockets #4673 #4767 #4765 #4467
These changes allow you to force the re-creation of existing Unix domain
sockets and set the permissions of sockets after they have been created.

The flag or variable value for this must be formatted as follows:
--http-host="unix:/var/run/photoprism.sock?force=true&mode=660"

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-04 12:03:00 +01:00
Michael Mayer
06e59d9993 API: Improve content type string generation #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 21:35:07 +01:00
Michael Mayer
933cc5031f API: Fix content type header for transcoded videos #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 20:16:27 +01:00
Michael Mayer
790de0b146 Videos: Improve MP4 AVC browser playback compatibility #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 14:17:52 +01:00
Michael Mayer
6b3cb0eca8 UX: Refactor video formats and codecs in front and backend #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-28 23:26:52 +01:00
Michael Mayer
420fa9946c Viewer: Set native video stream src based on mimetype #1307 #3168 #4698
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-27 13:21:05 +01:00
graciousgrey
671deebe18 Tests: Update swagger annotations #2132 2024-08-20 11:37:25 +02:00
graciousgrey
26e2b3f3d0 API: Update swagger annotations #2132 2024-07-29 15:47:04 +02:00
Michael Mayer
7d10a488d9 API: Add and update Swagger annotations #2132
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-16 12:35:27 +02:00
Michael Mayer
8b8a1fd7c4 Backend: Move video package to /pkg/media/video
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-03 09:16:27 +02:00
Michael Mayer
e5bbff4020 Backend: Move get package to /internal/photoprism/get
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-02 08:03:30 +02:00
Michael Mayer
7f60af3e3f Backend: Move customize, pwa, ttl, query, classify and nsfw packages
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-02 07:36:52 +02:00
Michael Mayer
86dc89c4b9 Config: Show error if originals and storage path seem identical #1642
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-21 14:22:16 +01:00
Michael Mayer
271e7243db Logs: Shorten the names of error log helper functions
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-18 11:23:59 +01:00
Michael Mayer
0e4d81853c API: Add .well-known/oauth-authorization-server route handler #808 #3943
This commit also adds an /api/v1/oauth/logout endpoint that allows
clients to delete their sessions (access tokens) as needed.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 14:53:39 +01:00
Michael Mayer
f8e0615cc8 Auth: Ensure backwards compatibility for existing API clients #808 #3943
These changes ensure that the new (SHA256) session ID is returned in the
"session_id" field, so that developers have time to update their client
implementations to use the new "access_token" field.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-07 12:25:56 +01:00
Michael Mayer
26ca084699 Videos: Cache embedded media to allow streaming and transcoding #3764
This is a follow-up improvement for the following feature requests that
have already shipped with our stable release:

- Live Photos: Add support for Samsung Motion Photos #439
- Live Photos: Add support for Google Camera Motion Photos #1739

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 17:13:06 +02:00
Michael Mayer
2339197311 Live Photos: Add support for playing videos embedded in HEIC images #439
Related Issues:
- Samsung: Initial support for Motion Photos (#439)
- Google: Initial support for Motion Photos (#1739)
- Metadata: Flag Samsung/Google Motion Photos as Live Photos (#2788)

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 11:27:20 +02:00
Michael Mayer
529103462c Index: Add native support for MP4 and Samsung/Google Motion Photos #439
Related Issues:
- Samsung: Initial support for Motion Photos (#439)
- Google: Initial support for Motion Photos (#1739)
- Metadata: Flag Samsung/Google Motion Photos as Live Photos (#2788)

Related Pull Requests:
- Live Photos: Add Support for Samsung Motion Photos (#3588)
- Samsung: Improved support for Motion Photos (#3660)
- Google: Initial support for Motion Photos (#3709)
- Google: Add support for Motion Photos (#3722)

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-22 23:59:56 +02:00
Michael Mayer
a287830d1f Videos: Allow setting a lower TTL for caching video content #3631
Adds the new "--http-video-maxage SECONDS" config option.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 11:06:43 +02:00
Michael Mayer
cc5ff21b4a Video: Add transcoding libs and improve error handling #3466
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-15 15:17:41 +02:00
Michael Mayer
ffd307e11d Videos: Add immutable cache header to API response #2875
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-04-14 14:46:56 +02:00
Michael Mayer
e1b955a35d WebP: Improve video API logging #3197 #668
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 21:38:25 +01:00
Michael Mayer
eaff0abb6d Videos: Index and display durations of less than one second #3224
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 16:33:33 +01:00
Michael Mayer
527fc0319e Index: Add experimental support for JPEG XL and APNG files #668 #3197
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 14:43:49 +01:00
Michael Mayer
e3bb8b19dd Routing: Prefix frontend UI routes with /library #840 #2466
Also improves migrations and updates the db schema docs.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-15 21:54:11 +02:00
Michael Mayer
b072a18a17 Backend: Run "make fmt" with Go v1.19
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-10 16:09:21 +02:00
Michael Mayer
b09112058e Videos: Transcode supported formats if bitrate exceeds limit #2461
Implements Option (1) as described in the issue comments.
2022-06-26 19:47:12 +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
Andre Carrera
95c03afe28 Videos: Skip transcoding of HEVC / HVC1 if supported by the browser #440 #513 (#2379) 2022-06-24 01:30:48 +02:00
Michael Mayer
92e6c4fe1e Download: Add Disabled, Originals, MediaRaw & MediaSidecar Flags #2234
Extends DownloadSettings with 4 additional options:
- Name: File name pattern for downloaded files (existed)
- Disabled: Disables downloads
- Originals: Only download files stored in "originals" folder
- MediaRaw: Include RAW image files
- MediaSidecar: Include metadata sidecar files (JSON, XMP, YAML)
2022-04-15 09:42:07 +02:00
Michael Mayer
68ba289d6c CLI: Add "photoprism show config/formats" subcommands
Replaces "photoprism config", which could only display
current configuration values. Codecs and file formats
have been refactored along the way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-12 13:28:28 +02:00
Michael Mayer
9134c79f4c Config: Add option to skip all RAW images when indexing #2227 2022-04-06 17:46:41 +02:00
Michael Mayer
c256664a1b WebDAV: Fix upload of complete albums #1376 2022-02-27 17:32:54 +01:00
Michael Mayer
9c0a47b8bc Videos: Stream directly without CDN and fix content header #1648 #1937 2022-01-18 12:28:27 +01:00
Michael Mayer
0f0c0aaa0b API: Improve path and filename parameter sanitation #1814 2021-12-14 20:01:39 +01:00
Michael Mayer
4e94919030 API: Improve request parameter sanitation #1814 2021-12-14 18:34:52 +01:00
Michael Mayer
9a8144c046 Log4j: Sanitize user input in logs like filenames and album titles #1814 2021-12-14 17:07:38 +01:00
Michael Mayer
4939e36ac6 Video: Update docker-compose.yml ARM64 example #703
Renamed PHOTOPRISM_FFMPEG_CODEC to PHOTOPRISM_FFMPEG_ENCODER as well.
Log level for errors has been increased to warn.
2021-02-16 11:40:40 +01:00
Michael Mayer
5c3ca4ea5d Video: Implement fallback to default software codec #703 2021-02-15 20:52:14 +01:00
Michael Mayer
341270c779 Video: Remove debug log #703 2021-02-15 20:26:32 +01:00
Michael Mayer
2671edf982 Videos: Add bitrate and pixel format to ffmpeg transcoding params #703 2021-02-14 19:14:12 +01:00
Michael Mayer
993e7466fa Download all related files using their existing name by default #449
Related issues:
- Configure download name for files and albums #848
- When downloading live photos, zip all the associated files #437
2021-01-27 21:30:10 +01:00
Michael Mayer
92df3aa724 API: Refactor response headers #822 #846 2021-01-08 09:02:30 +01:00