Open soredake opened 2 years ago
It would be nice if this can have youtube (and other sites) support with the help of yt-dlp like mpv on desktop.
Amazing idea! I have the same thought!
Also, will be great to have that feature with ability to use custom utilities like aria2c and other utilities which are needed to add subtitles, add thumbnails and etc. That means you have to have to set custom command line arguments for yt-dlp, and also you will be able to run yt-dlp with agrument that will allow you to update yt-dlp as yt-dlp by itself supports self updating. Also will be funny if you will be able to play also youtube chat which can be saved in JSON file
But anyway it's up to you.
Perks of writing Syncplay PC in Python made it possible to make use utilities and scripts like yt-dl to scrape and fetch YouTube videos. However, given the fact that Python is not directly supported in the Android ecosystem, I will have to resort to creating my own script to fetch YouTube videos. Google doesn't want anyone to watch their videos without Ads which is why they're restricting the way their video streams are exposed. There are some workarounds which I might implement to make this a possibility, probably even make it possible to import YouTube playlists as shared playlists.
As for subtitles, that is definitely possible. Many subtitle providers (like opensub) provide API endpoints to grab subtitles. I am considering that as well.
https://github.com/JunkFood02/Seal is an example of android app that uses yt-dlp without any problem.
@soredake Seal and similar libraries wrap JPython, FFmpeg, aria2c and yt-dlp at the cost of performance overhead and huge APK size. The APK is already large imo, rewriting the python libraries would be more utile, but should that turn out to be a valid workaround for now effort-wise and time-consumption-wise, I will go with it.
Seal weight only 70mb (app) + 67mb (data), not so much.
I will have to resort to creating my own script to fetch YouTube videos.
Youtube is constantly making changes that break yt-dlp and multiple devs fix it without end, doing this alone will require many time and constant app updates to catch up with youtube changes.
Seal weight only 70mb (app) + 67mb (data), not so much.
I will have to resort to creating my own script to fetch YouTube videos.
Youtube is constantly making changes that break yt-dlp and multiple devs fix it without end, doing this alone will require many time and constant app updates to catch up with youtube changes.
Thats why I've said that yt-dlp can be self updated. That utility itself have ability to download it's own new version
@soredake Seal and similar libraries wrap JPython, FFmpeg, aria2c and yt-dlp at the cost of performance overhead and huge APK size. The APK is already large imo, rewriting the python libraries would be more utile, but should that turn out to be a valid workaround for now effort-wise and time-consumption-wise, I will go with it.
It doesn't matter whether you will make it or not. Just saying: Nice to have you! Have a great development!
Possibly useful https://github.com/mpv-android/mpv-android/pull/58
You could just download them using: https://github.com/deniscerri/ytdlnis No real need to implement in the app.
Edit: I tried the app out, and now I understand why you guys would want this.
Possibly useful mpv-android/mpv-android#58
I just tried it out. It takes a while to start playing but it works fine. Could syncplay-mobile support this mpv+ytdl player?
The mpv+ytdl apk seems to be around 20MB larger than the regular mpv apk. After downloading latest yt-dlp in the mpv settings, the app data (ie user data) increases to 19MB. If the app size is a concern perhaps there could be separate builds with yt-dlp support. The additional app data used would only be used if the user needs yt-dlp
It would be nice if this can have youtube (and other sites) support with the help of yt-dlp like mpv on desktop.