Ytdlnis
Full-featured audio/video downloader for Android using yt-dlp
Install / Use
/learn @deniscerri/YtdlnisREADME
Only the links above are the only trusted sources of YTDLnis. Everything else is not related to me.
</div>💡 Features:
- Download audio/video files from more than <a href="https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md">1000 websites</a>
- Process playlists
- Edit every playlist item separately just like in a normal download item
- Select a common format for all items and/or select multiple audio formats in case you are downloading them as a video
- Select a download path for all items
- Select a filename template for all items
- Batch update download type to audio/video/custom command in one click
- Queue downloads and schedule them by date and time
- You can also schedule multiple items at the same time
- Download multiple items at the same time
- Use custom commands and templates or use yt-dlp with the built-in terminal
- You can backup and restore templates so you can share them with your buddies
- Supports cookies. Log in with your accounts and download private/unavailable videos, unlock premium formats etc.
- Cut videos based on timestamps and video chapters (experimental yt-dlp feature)
- You can make unlimited cuts
- Remove SponsorBlock elements from downloaded items
- Embed them as a chapters in your video
- Embed subtitles/metadata/chapters etc
- Modify metadata such as title and author
- Split item into separate files depending on its chapters
- Select different download formats
- Bottom card right from the share menu, no need to open the app
- You can create a txt file and fill it with links/playlists/search queries separate by a new line and the app will process them
- Search or insert a link from the app
- You can stack searches so you can process them at the same time
- Log downloads in case of problems
- Re-download cancelled or failed downloads
- You can use gestures to swipe left to redownload and right to delete
- You can long click the redownload button in the details sheet to show the download card for more functionality
- Incognito mode when you don't want to save a download history or logs
- Quick download mode
- Download immediately without having to wait for data to process. Turn off the bottom card and it will instantly start
- Open / share downloaded files right from the finished notification
- Most yt-dlp features are implemented, suggestions are welcome
- Material You interface
- Theming options
- Backup and restore features
- MVVM architecture with WorkManager
📲 Screenshots
<div> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/01.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/02.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/03.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/04.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/05.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/06.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/07.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/08.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/09.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/10.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/11.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/12.png" width="30%" /> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/13.png" width="90%" /> </div>💬 Contact
Join our Discord or Telegram channel for announcements, discussion and releases.
😇 Contributing
Please read the contributing section if you would like to contribute.
📝 Help translate on Weblate
<a href="https://hosted.weblate.org/engage/ytdlnis/"> <img src="https://hosted.weblate.org/widgets/ytdlnis/-/strings/open-graph.png" alt="Translation status" /> </a> <a href="https://hosted.weblate.org/engage/ytdlnis/"> <img src="https://hosted.weblate.org/widgets/ytdlnis/-/multi-auto.svg" alt="Translation status" /> </a>🔑 Connect with third-party apps using the package name
The app's package name is "com.deniscerri.ytdl".
🔍 Verify application signature
The app should contain the signature below. The github workflow action uses it, and the releases are based on it to make it a reproducible build. If the signature is different, your third party distributor has modified the application. Please use the app with the original signature.
Signer #1 certificate DN: CN=Denis Cerri, OU=Personal, O=Personal, L=Albania, ST=Albania, C=AL
Signer #1 certificate SHA-256 digest: 263645cb5272eb290759fe1f59149ae24df6ce171e9f6666eead981d3fc64c95
Signer #1 certificate SHA-1 digest: 2fec9c2fcef68d29a60857e185c795fec5f56fb6
Signer #1 certificate MD5 digest: 429d0c6315d2f99650f66cc44cf5a794
🤖 Connect with third-party apps using intents
You can use intents to push commands to the app to run downloads without user interaction. Accepted variables:
<b>TYPE</b> -> it can be: audio,video,command <br/> <b>BACKGROUND</b> -> it can be: true,false. If its true the app won't show the download card no matter what and run the download in the background <br/>
An example of downloading an audio item in the background with Tasker
- Create Send Intent task
- Action: android.intent.action.SEND
- Cat: Default
- Mime Type: text/*
- Extra: android.intent.extra.TEXT:url (instead of "url" write the URL of the video you want to download)
- Extra: TYPE:audio
- Extra: BACKGROUND:true
📄 License
Except for the source code licensed under the GPLv3 license, all other parties are prohibited from using the "YTDLnis" name as a downloader app, and the same is true for its derivatives. Derivatives include but are not limited to forks and unofficial builds.
😁 Donate
🙏 Thanks
- decipher3114 for the app's icon
- dvd for being an example youtubedl-android implementation
- seal for certain design elements and features I wanted to have in this app when I started developing it
- youtubedl-android for porting yt-dlp to Andr
