junkfood02 / seal Goto Github PK
View Code? Open in Web Editor NEW🦭 Video/Audio Downloader for Android, based on yt-dlp, designed with Material You
License: GNU General Public License v3.0
🦭 Video/Audio Downloader for Android, based on yt-dlp, designed with Material You
License: GNU General Public License v3.0
Hello,
Can you add download video lists like in (Snaptube) to pause / resume / cancel a download from the list. Thanks
Downloading in background is slower than downloading in foreground.
For Reference|
● foreground & background: https://drive.google.com/drive/folders/1rdypbBXqnkPmO-D2Q3KX6ijlV80ouhKl
I think that we could add support for Spotify to the app. Like spotdl phyton library does. It think that it gets the song name, searches it in YouTube and then it downloads the song from YouTube
I've seen OSS projects use these sites for translation purpose
I think Weblate is better as it's opensource.
Features: https://weblate.org/en/features/
https://weblate.org/en/hosting/
So I'm getting the following error message:
Usage: __main__.py [OPTIONS] URL [URL...]
__main__.py: error: --parse-metadata '%(album|Album - Operation: Doomsday (Complete))s:%(meta_album)s' is invalid; incomplete format key
I wanted to download this Album
I tried downloading some other albums and it worked but this one didn't
It says it has finished downloading, but there is still the throbber animation and no notification that the download is complete.
ㅤㅤ
I tried using --remux "wav>opus/mp3"
on a soundcloud playlist that contains few .wav files using custom command. It gives me this error
ERROR: Postprocessing: Stream #0:0 -> #0:0
Link : https://m.soundcloud.com/anthonyrusso/sets/covers
I used to configure dvd to seperate downloads to their own playlist name when downloading songs using -o %(playlist_title)
. It would be great if that or maybe the feature to add custom output when #34 is done to get custom directories without the default video/audio option greyed out. Thanks for the great app 👍
And option to select audio quality
Example: 320kbps | 256 kbps
There are many cases where the link to a video stream is difficult to get during casual mobile browsing. It would be cool if Seal could grab video URLs itself just from a link to the website you can watch the video on. LM videodownloader already does this, but it's abandoned, unfortunately. I don't believe why Seal wouldn't be able to do it, what do you think?
2 suggestions to do that:
Thanks for creating Seal, it's already the best GUI of yt-dlp and I'm sure that when it goes to stable releases, it's going to be amazing!
Hello,
I discovered Seal and I would like to use it to download audio from YouTube. The auto tagging feature is really fantastic, however album art cover are not cropped right and have large stripes on the right and left, such as :
(which was downloaded from https://www.youtube.com/watch?v=ddYW119vHP4)
I don’t know if yt-dlp is providing the right album cover, or if it should be cropped manually by Seal, but that feature would be really appreciated to have a squared album cover !
Thank you very much for the app,
cyxae
(First github post, sorry if it's formatted weird or something)
So, it seems like no matter what I tell Seal to download, it downloads mp4 files and translates them once they're downloaded. I've got two experiences.
Last night, I told it to download an in-progress youtube stream as audio, specified as m4a. The final file is 153 MB. But when downloading, it was downloading an mp4 file. I don't know what resolution because I didn't get an option, but the mp4 ended up being about 4.1 GB . Once the stream ended, I tried playing the mp4, and it worked. When I left the player and went back to the file manager, the mp4 was inexplicably cloned, one of them was cut to m4a, and the other was deleted. But what I was expecting to take up 150 MB took up, at one point, 8 GB .
Right now, I'm downloading another in-progress youtube stream, this time specified as 480p webm. But it's still downloading an mp4. Once it's done, I'll go watch the file manager and see if it clones the file again before spitting out a webm file.
(UPDATE: I watched it for 15 minutes after the stream ended, and it never said it was done downloading, cloned the mp4, or converted it to webm. I'll check in the morning if it's said it's done downloading or if it's converted to webm. The file is 1.37 GB and the stream was about 3 hours long, so I'm guessing it is 480p since the last 3 hour stream was 4.1 GB)
Idk if this is a bug or if this is just how it's supposed to work? This isn't how youtube-dl works on my pc, and if this is intended behavior, maybe it should be in the app description on F-Droid?
Oh, and in case it's relevant. I'm running version 1.0.0 , and am on an Andorid version 12 phone.
(Bug report's over, but I just wanted to say that this is a very nice app. It's more polished than I expected, and really easy to use. Thanks for all your work!)
I've thought about UI/UX design, and made this.
It'll be better if app will have a little bigger and more rounded interface.
I've separated thumbnail and title sections to make separated floating cards, and also moved buttons to the center, also as card.
And one small improvement I see - make progress bar floating, like on picture.
Hope that helps.
Forever your's
vicsave XOXO :)
Make it possible to change the storage path.
Please add a button to cancel the download.
I really like this app, thanks for your work.
Originally posted by JunkFood02 August 3, 2022
As I mentioned in the release announcement for v1.0.0 (#77), Seal is not even intended to be a video downloader at first. But now, we got a large variety of users and contributors. Thank you!
A month earlier, I received an issue (#27) requesting to downgrade the minSdkVersion to 23. At first, I was a bit surprised because both devices I'm currently using are running the latest version of Android. And I can fully use the dynamic color theme of Material You without any extra codes, a new system feature introduced in API 31.
After some investigation and Ctrl+C/V, dark mode and custom color themes work on devices running even Android 6. Hope you like it! (credits to the compatibility of Android and Jetpack Libraries)
Later, I received another issue regarding "device rotation" (#43). But sooner I found out that the real problem is the size or the DPI of the screen.
In short, we can't assume that all users use regular-sized screens, latest systems, and widely spoken languages. Here are some screenshots showing several corner cases we handle.
User guide in German is not showing the don't show up again option, if the user want it to appear he must open the sittings and change to another language and then back to German.
The Bug: https://drive.google.com/file/d/1y2aJguYCFwuLtktijVU2xD7HFRB8Gk6T/view?usp=drivesdk
Would you consider publishing this app on F-Droid please?
I used seal to download album/playlist from soundcloud it seperates each tracks to their own albums. I would like that fixed or maybe add the option to override fields. I used --parse-metadata
in dvd before, but its for giving tracks their own track number (seal doesnt number the tracks with the native downloader). I think that command can be used in this case too. Either way this is a great feature to have.
Really cool app, but leaks of one small issue: Keyboard doesn't hide after pressing on download button when parameters menu is rising, which is not so bad, but really annoying.
Cheers,
vicsafe XOXO
Hi,
I would Request Lowering App's Minimum Sdk Requirement to 23. It would be useful to many users like me who are stuck on Android 6 & can't upgrade due to various reasons and use this app.
Thank You & Cheers for this Wonderful Open Source Project.
Add Planned and Rejected stuff to README so that people don't duplicate the same issues and suggestions
and maybe a Discord server so that users can share there Custom Commands and help with the project.
When i share a video file from to seal using seal instead of opening the app.. it would be great if we can have an option similar to how powertube does it... A simple overlay card to Change any download option..
When downloading in background and not opening the app during the download, the thumbnail preview doesn't get downloaded and it remains empty in the downloads list.
The app crashed after hitting download. The log file is given below.
java.lang.IllegalArgumentException: Service not registered: com.junkfood.seal.MainActivity$a@46d0c31
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1759)
at android.app.ContextImpl.unbindService(ContextImpl.java:1786)
at android.content.ContextWrapper.unbindService(ContextWrapper.java:751)
at com.junkfood.seal.MainActivity$b.a(SourceFile:2)
at com.junkfood.seal.ui.page.download.DownloadViewModel$d.j(SourceFile:2)
at s8.a.B(Unknown Source:8)
at h9.k0.run(Unknown Source:86)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Suppressed: h9.i0: [w1{Cancelling}@eaea756, Dispatchers.Main.immediate]
Hello @JunkFood02 !
First of all thank you for your time in this project!
Beautiful, clean, user-friendly
and more importantly it is suggestable to others!
(Dark mode, custom colors, download personalisation ...
)
One suggestion to be more noob friendly, think about renaming:
Extract audio to save as audio.
Would it be possible to save audios in separate folder (I don't want to mix it with video files for podcast reasons)
In the downloaded playlist.
When I select to remove a file, add an option to always remember to delete files.
Thank you again!
Please add support for downloading to SD cards like DVD.
I am using the same custom commands from previous versions but now they are broken, showing error ERROR: Fixed output name but more than one file to download: -o
but fixed it by removing -
from o
option and it didn't show any error also removed "
at the start and end of field o %(extractor)s/%(uploader)s/%(title)s(%(id)s).%(ext)s
also didn't give error. Even when removing the o
but they are not working it instead using the default template not my template even though my template is clearly selected.
Every download goes to the Seal folder, not the one specified by the commands.
RedGIFs User
Hi! I wanted to contribute to the project but i don't know how to build the source in Android Studio because i need the keystore.properties file. I don't know if you have something to build without it.
Hello,
Can you add threaded downloads like in (ADM & 1DM) to enhance the download speeds. Thanks
A set simple GUI enhancements
Hello 👋
Since you have added a bug report template, what about adding a feature that let's users copy a few information of their device by long pressing on version in about page ?
This would make a bug report much easier.
Maybe something like this:
Seal Version: 1.0.4
Device: Samsung Galaxy S21
Architecture: aarch64
OS Version: REL 12 (31)
Hello, i just installed your app and im wondering is it possible to add function to just extract url of video or audio stream and display it so that then this direct url can be used in something else
Hi
Are you thinking about placing download task in a foreground service so that it is more unlikely to be killed by android OS? If you like the idea and you are not already working on it, I can work to do it. I am thinking about placing the download task in a foreground service, so that, if the app is killed, the downloads continues. If the app is manually restarted after being killed while the service is still alive, the app connects to the service and shows the download progress.
What do you think?
For some reason, Seal's download size on F-droid seems to be around 120 MB, when the actual APK size on GitHub is no more than 30 MB.
This makes it a little too expensive to download/update it from F-droid.
I think that will be a pretty good idea if we have an option to split a video/music according to his chapters.
There are a repo that already do this for yt-dl (yt-splitter). The code is simple so it can be translated and implemented in the app.
I can try to do this but I'm not very good in Kotlin
Tried clearing data and do a clean install, but it says yt-dlp 2022.08.08 is the latest version
1.0.4
Is your feature request related to a problem? Please describe.
I'm using this app on my android Tablet & most of the times I use landscape mode by default for all apps.
Steps to reproduce the behavior:
Describe the solution you'd like
App should support device "Auto-rotation" feature.
Describe alternatives you've considered
There are other apps which can force any app to device rotation for ex: Tap 'n' Turn.
But in my opinion it would be nice if the app itself support device rotation than being forced by another app.
Is it possible to have the specify playlist and custom commands work together?
Is it possible to add the following;
I know that it's possible with a custom command but it would be great if these futures appear at the (configure before downloading) menu
I can contribute on this project by providing some of my knowledge about Filipino (Tagalog) Language.
Regards!
I was actually pretty amazed opening the app, but one big feature that I really need that isn't there is the file size of the file you are trying to download. For instance, sometimes there is a file size upload limit where I would like to upload the video, so before uploading I want to see what resolution to download the video at to be below that limit. So for instance:
"Original (100MB)
1080p (100MB)
720p (50MB)
480p (12MB)"
Maybe it's even possible to add an option to choose a maximum file size, instead of just video format and video resolution.
Make it possible for a user to paste a link of a website with many videos, let seal detect all videos on the website and show them (thumnnail, name and duration) and allow the user to select one (or more) to download.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.