lbryio / lbry-desktop

A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.
https://lbry.tech
MIT License
3.56k stars 413 forks source link

Once a video has completed downloading 100%, start playing that video from the locally saved copy #5345

Closed sturdevant closed 3 years ago

sturdevant commented 3 years ago

Is your feature request related to a problem? Please describe.

When watching videos on the LBRY desktop app, occasionally, the video will still have buffering issues even after the video has been 100% downloaded. Further, if you disconnect from the Internet completely while using the LBRY desktop app, you can't even play locally saved videos at all! This doesn't make sense since if the video has finished downloading completely, then there should be a local copy that it should be able to play from, why is an Internet connection even needed at all to play something that's saved locally?

Describe the solution you'd like

When a video finishes downloading 100%, then the LBRY desktop app should be able to detect that a local copy exists, and switch to playing from that local copy instead of continuing to fetch the video from the Internet. This would be a huge improvement for people with either a bad or non-existent Internet connection.

Describe alternatives you've considered

At the very least, if the LBRY desktop app doesn't automatically detect that the video playing has a local copy available, it should at least offer an "offline mode" where users can play already downloaded videos without needing to open up an entirely different video player such as VLC.

Additional context

I don't use the mobile versions or Windows/Mac versions, so it might be a problem for those versions as well, all I know is that for sure it's a problem for the Linux desktop app.

tzarebczan commented 3 years ago

Thanks for filing. This should work if you have hosted data enabled in advanced settings. It may not work if the network is disconnected as the app does not work in this state - but you should be able to open the files externally.

The streaming from the files themselves has to be supported in the SDK: https://github.com/lbryio/lbry-sdk/issues/3159

sturdevant commented 3 years ago

The streaming from the files themselves has to be supported in the SDK: lbryio/lbry-sdk#3159

Thanks! That should be a huge improvement for people with spotty Internet connections :)

It may not work if the network is disconnected as the app does not work in this state - but you should be able to open the files externally.

I have been able to play them with other video players (e.g., VLC), but I still think it would be nice if the LBRY desktop app itself could be made to work without an Internet connection at all, and in that case, just function as a normal offline video player (as in, just be limited to being able to play videos that have already been downloaded, similar to what something like VLC does). That way, if someone's Internet connection goes out while they have the LBRY app open, they won't have to open up some other video player to watch locally saved videos. Should I open up a new issue specific to just requesting an "offline mode" or is that something that would likely be implemented anyway once lbryio/lbry-sdk#3159 is taken care of?