Video transcoding: getting "External storage not supported" on internal (encrypted) storage
Uning on the official docker image with ffmpeg installed, with server-side encryption enabled
Using Memories 7.0.2
I'm trying to play videos in the browser (Firefox) and I get the following error when the browser requests : https://xxxx/apps/memories/api/video/transcode/xx/xx/max-000000.ts
External storage not supported, despite the file not being on external storage. If I comment out the check in VideoController.php then I get a files in temp directory not supported, and then if I comment that one out, it works.
What is going on?
Encrypted storage "behaves" like external storage. Basically transcoding is disabled for external storage since the entire file needs to be downloaded to the temp directory, and this is horribly slow (since it happens on demand, when the user requests the file). Encrypted storage is similar; it decrypts the entire file to the temp directory.
Thank you for the reply. So on demand video transcoding is not available for encrypted storage? If so can I suggest to make it more explicit on the project description, configuration page, and error message?
For me that was the whole point vs the photo app, which only plays videos that are compatible with the browser, so it would have saved me some time…
On Sat, 23 Mar 2024 at 18:02, Varun Patil @.***> wrote:
Encrypted storage "behaves" like external storage. Basically transcoding is disabled for external storage since the entire file needs to be downloaded to the temp directory, and this is horribly slow (since it happens on demand, when the user requests the file). Encrypted storage is similar; it decrypts the entire file to the temp directory.
— Reply to this email directly, view it on GitHub https://github.com/pulsejet/memories/issues/1089#issuecomment-2016547846, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUDDTFQIODN525WCLJ5TWTYZWYQVAVCNFSM6AAAAABFEWCM2WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWGU2DOOBUGY . You are receiving this because you authored the thread.Message ID: @.***>
This is the first time this has come up, but yes, it should be more explicit. Transcoding encrypted files is a no-go because afaik the encryption doesn't support random access at all.
Of course, you can sidestep the limitation by commenting out the checks; this will have some impact on performance for large files but should generally work as long as you use the internal transcoder.
Encrypted storage "behaves" like external storage. Basically transcoding is disabled for external storage since the entire file needs to be downloaded to the temp directory, and this is horribly slow (since it happens on demand, when the user requests the file). Encrypted storage is similar; it decrypts the entire file to the temp directory.
Could you still allow transcoding from external storage as an option? (disabled by default possibly) How slow that is may depend on the specifics... (how fast the external storage is in a given setup, how big the videos are, etc.)