pulsejet / memories

Fast, modern and advanced photo management suite. Runs as a Nextcloud app.
https://memories.gallery
GNU Affero General Public License v3.0
2.96k stars 77 forks source link

Transcode only medias that can't be played by client #784

Open ThowZzy opened 10 months ago

ThowZzy commented 10 months ago

Is your feature request related to a problem? Please describe. Memories usually transcode videos that could be directly played by the client (wasted server performance).

Describe the solution you'd like I would like to know if we could add an option for transcoding only videos with a codec that is not supported by the client. This way we could only transcode videos that cannot be played by the client.

Describe alternatives you've considered Maybe it could automatically detect if the codec of the video is supported by the client requesting a media (best). But if not possible, maybe we could add in the config the codecs that needs to be transcoded (only HEVC for example)

I don't know if it is possible, but it would be nice in my use case if only HEVC videos could be transcoded because even old 720p .mp4 videos are being transcoded and asking a lot to my raspberry pi.

pulsejet commented 6 months ago

With the newer versions, just setting the quality to Direct is supposed to have this effect, i.e. try playing the original video but fall back to transcoded if that fails. As pointed out by @major-mayer in https://github.com/pulsejet/memories/issues/967#issuecomment-1863040446, there's an API to detect codec support which might make this explicit / without delay (and also allow graying out the "Direct" option when the media isn't supported).