cryptomator / android

Cryptomator for Android
https://cryptomator.org
GNU General Public License v3.0
689 stars 113 forks source link

Streaming audio/video #62

Open tobihagemann opened 7 years ago

tobihagemann commented 7 years ago

Audio/video files could be streamed instead of completely downloaded first. I don't know if it's even possible but it could be worth a look in the future. I suppose, one requirement is that we have an in-app previewing activity that is capable of streaming content. We probably also have to check each cloud storage service if it has suitable APIs for streaming.

starn commented 6 years ago

Hi, I'm the creator of "encdroid multi cloud" app, and i built a streaming feature on this app. Now i'm supporting cryptomator because of encfs lack of security and lack of maintenance, I would be happy to add this functionnality if you share me the source code of cryptomator-android. regard Stephane

edit: i juste noticed that the android app does not use the open source engine of cryptomator ( org.cryptomator.cryptofs ) but it s own closed source implementation. i cannot participate on this kind of security software.

sorryusernameisalreadytaken commented 3 years ago

+1 and +to open the android sourcecode... 👎

name01019 commented 3 years ago

Would love to see this implemented. The Android source code is now released.

starn commented 3 years ago

@name01019 great i'm gonna check the code asap, it should be easy to add the streaming feature then.

BRKsays commented 1 month ago

@tobihagemann I'm no programmer so excuse me trying to be Mr Smarty Pants, but in my little research I found that Mega is able to stream encrypted videos by using client-side decryption and partial data retrieval, allowing real-time decryption of video segments as they are streamed. Could Cryptomator perhaps implement a similar system where video files are fetched in segments or chunks, decrypted on-the-fly, and streamed without downloading the entire file? This would involve mechanisms for partial file fetching, real-time decryption, and integration with media players for seamless playback. Just trying to throw something that will perhaps stick.

tobihagemann commented 1 month ago

I never doubted the technical feasibility. Cryptomator's encryption scheme allows random access for streaming, because the file encryption is done in fixed-length chunks. And then we have to check for each cloud storage service if they support range requests when accessing a file. This feature request is currently not on our roadmap, but maybe @starn is still interested in helping out?

starn commented 1 month ago

Hi @tobihagemann You re right, cryptomator use a fixed sized block encryption, so there is no technical limit to stream a content. However, by analysing the source code, I saw 2 implementations:

Solution : I have created a kind of proxy that you can run on a server (raspberry or anything else). It shares your volt as a webdav share and can be used by a lot of file managers on ios/Android. I can share the source and binary if you wish (though the code is not pretty I didn t expect to share it :)

It might be possible to create an Android app for remote access on some clouds (not for local files ) but I dont have enough time right now