Giter Site home page Giter Site logo

deniscerri / ytdlnis Goto Github PK

View Code? Open in Web Editor NEW
2.6K 37.0 87.0 120.79 MB

Android Video/Audio Downloader app using yt-dlp

License: GNU General Public License v3.0

Kotlin 100.00%
android downloader youtube yt-dlp audio video mp3 material-design kotlin youtube-dl

ytdlnis's Introduction

Hi there πŸ‘‹

ytdlnis's People

Contributors

abc0922001 avatar ai-imed avatar antondzutstsati avatar comradekingu avatar deniscerri avatar dogancanyr avatar efishell0 avatar enescan201 avatar fish25op avatar kefir2105 avatar kobyrevah avatar lenhutbinh avatar nexirs avatar ngocanhtve avatar omegaplexx avatar pagal3 avatar qaz-6 avatar qaz-7 avatar reindex-ot avatar s7san007 avatar salt79 avatar shareasmile avatar silversix avatar soymadip avatar teddysulaimangl avatar tusharchopra07 avatar vertuhai avatar waldist avatar woodendoors7 avatar zaednasr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ytdlnis's Issues

Settings => Processing => Preferred Format ID => video id + audio id

Can bellow be added ?
Settings => Processing => Preferred Format ID => video id + audio id
Tried different combinations like "id1+id2", "id1/id2", "id1-id2" ... but I think it is coded to only process the video id in respective text box. Even only audio id is not taken into account, thus it is kinda clear now.

[Feature Request] Please enable the "Show options for Downloading" to come up as a independent pop up window instead of opening the entire app, like Powertube or NewPipe does.

Powertube or NewPipe shows the download options without closing the Revanced app, as overlay and instantly starts downloading in background while with YTDLnis it closes the Revanced goes to YTDLnis and searches for the video on its homeScreen and after some delay the video shows up on YTDLnis homepage for download. Where again we have to tap to show the options and start downloading.

Sharing the SCs for Powertube and NewPipe implementation for Overlay options compares to opening the app entirely.
Screenshot_20221207-141600
Screenshot_20221207-141633
Screenshot_20221207-160842
Screenshot_20221207-160849

[BUG] KOR language Error

In version 1.8.2, the Korean I had translated was in a strange Korean language with many translation errors in version 1.8.3. Should I edit and translate again? Why is the Korean translation strangely changed?

Instead of YouTube suggestion in home page, please add a url box in home page.

Instead of YouTube suggestions in home page please add and URL box there. Because YouTube results are kinda useless and confusing while yt-dlp can download from more sites other than YouTube. Like i mainly use to download Facebook and tik tok videos. For me YouTube suggestions are useless there.
And besides YouTube results cause app loading time increase.

In homepage, a url bar/box where we can put url will be better(for most people) and the app has no instructions where to put url. I suddenly found out about the search icon which says 'search from YouTube'!?

But the the rest of the app is good 😊, please fix/change the home page .

Auto Generated Captions & Custom Subdirectory

Though the app has everything one could imagine regards to functionality, and is much more feature-rich compared to Seal, these only two features missing could be very useful, especially the auto-generated captions feature.

Screenshot_20230527-171514.png

Screenshot_20230527-171041_1.png

Screenshot_20230527-171047.png

Default Video Format ID

Can You add an option in settings for default Format ID as in PowerTube. It would make it easy to download videos in the same quality or codec instead of selecting the same every time when downloading.

Screenshot_2023-04-26-22-28-25-142_ussr.razar.youtube_dl_1.jpg

Screenshot_2023-04-26-22-28-35-768_ussr.razar.youtube_dl.jpg

Screenshot_2023-04-27-01-20-58-224_ussr.razar.youtube_dl_1.jpg

[FEATURE REQUEST] Better Tablet UI

Is your feature request available in yt-dlp? Please describe.
That isn't relevant to the issue.

Describe the solution you'd like
The app is completely usable in a tablet device, however, there are some improvements and bug fixes that could be done to improve the experience in these devices.

Some examples is on the lower menu bar, which is fine in tablet, it looks something like this:
Screenshot_20230416-181608

This works, however, I think it would looks better the way other apps are doing it, which is by putting it on the side, examples could be...

Tachiyomi:
Screenshot_20230416-175112

Google Clock:
Screenshot_20230416-175128

Even Microsoft's official Xbox app:
Screenshot_20230416-175210

Another thing that could be improved is the Video grid, which appears on the first image (repeated here):
Screenshot_20230416-181608

However, this really doesn't use the potential of a bigger screen an can be quite clunky, a better way to do it could be like Newpipe, which has a higher column and row density:
Screenshot_20230416-182227

If too difficult or you think it doesn't looks good, a less compact approach could be used, like in the official YouTube app:
Screenshot_20230416-182404
(Definitely official, not Revanced)
Any of those approaches can work, I don't think one is better than the other.

Describe alternatives you've considered
There really isn't any other alternative to this only than to use it as is, however, the experience could be better.

Additional context
Since Android 12L and the launch of Android 13, a lot of Android apps have been adapting their apps to work well on a tablet form factor and not be just the mobile interface stretched, and this app could do the same to work really good on tablets.

[FEATURE REQUEST] Show process of each block when download with multi-part

Is your feature request available in yt-dlp? Please describe.

Describe the solution you'd like

  1. when large file are downloading with aria2c option in small parallel chunks show each block progress like attached in screen shot .
    this would be so nice .

2.Also add some flag or text if file is resumable or not while downloading .

image

Some Fixes and Suggestions

Though the app is almost perfect and working smoothly, below are some humble suggestions to make some things work as they should. If you found them helpful and easy to implement, please consider them:

  • An ability to cancel downloads from the "in queue" tab; the same cancel button for "running" downloads could be helpful in the "in queue" tab for easy cancellation.
  • The same circular restart button for "cancelled" downloads will be helpful in the "errored" downloads tab for an easy restart of downloads.
  • Errored, and cancelled downloads notification should open their respective tab in the app.
  • Tapping the running downloads notification should open its respective tab showing running downloads instead of the main downloads tab.
  • Errored download notification disappears; it would be easy to resume it from the same resume/restart button from the notification, if it stays there, as is the case for paused downloads.
  • An ability to back up a list of "errored" downloads; Currently, the backup doesn't include an errored downloads list.
  • Optional swipe features; An ability to disable swipe gestures in settings as a download may be accidentally deleted with a swipe.

[BUG] auto create download folder, etc

Report a bug in the distribution with the Korean translation added.

  1. Even if the download path is set elsewhere, the YTDLnis folder is created in the download folder of the internal storage space, and audio, commamd, and video folders are created in subfolders. Even if you change everything in the settings to download to a folder other than the YTDLnis folder, it will be automatically created.

  2. Even after the download completion notification appears, the download progress notification remains for 1 to several seconds and then disappears. (This is a problem that does not occur in the official release)

  • Perhaps, the release with the Korean translation applied is a release in which the code is being modified, so when the official release comes out, I report it thinking that the problems will be fixed.

[BUG] Fly-Out Menu appears lower than usual on a Tablet

Describe the bug
When sharing a video to download, opening a link directly in the app, or even clicking an already downloaded video, the fly-out (I think that's what this menu is called at least) appears nearly hidden away when using landscape mode on a tablet. Examples below.

To Reproduce
Steps to reproduce the behavior:

  • Share a video link to the app in landscape mode on a tablet
  • Notice how the menu appears nearly hidden in the navigation menu.

Expected behavior
The menu should be displayed at the correct height on the screen.

Screenshots / Video Recording

Sharing to download:
Screenshot_20230416-174258

Clicking an already downloaded file:
Screenshot_20230416-174241

Direct download:
Screenshot_20230416-180037

What should appear by default:
Screenshot_20230416-180948

(please complete the following information):

  • Android Version: 10
  • App Version: 1.5.0
  • Other Device Information: Alcatel Joy Tab 2, still stuck on Android 10.

Additional context
There could be a better tablet UI, and since Android 12L and 13 were focused on that, it would be nice for those to be added, however, that's another github issue.

IzzyOnDroid Issues

Hello @IzzySoft. Im opening this issue to talk about the NonFreeNet antifeature my app has been labelled.
What are the steps i gotta do to remove this label?
Please fill me in. Thanks

Add option 'check for updates' for Yt-dlp

Is it possible to add ytdlp's update check?
If its possible please add itπŸ™
I have a concept:-
Maybe two options under 'check for updates' option:-

  1. For app update [on/off button]
  2. For Yt-dlp update [on/off button]

Stop the video download process.

Pause and resume the download process while downloading a video.Also option to stop all when downloading multiple videos.This is not supported in yt-dlp. But it would be great if it could be done on Android

non-free libs added & APK size doubled

Looks like your latest release now includes a non-free lib, so I also have to flag it with the NonFreeDep anti-feature: you've added the "Google Play Library"

Offending libs:
---------------
* Google Play Core (/com/google/android/play/core): NonFreeNet,NonFreeDep

1 offenders.

Next, APK size almost doubled and is now at about 50 MB – which exceeds the per-app limit of 30 MB, so I'll even have to drop it altogether. Can anything be done about the two?

Ability to choose the audio codec for the video download

Currently there is no way to select the audio codec for a video download. Is this possible through a template command ? I have a specific combo of video and audio given by limitations in formats of car player (H264 + MP4A or MP3 in MP4 container). While selecting resolution and MPEG_4 in MP4 container audio is auto selected.

[BUG] remove '|'

Like the attached image,
'|' at the top right of the downloaded list A shape line is displayed.
1000042569

Add the dev-builds/beta/nightly apks to the releases.

I was seeing that the app is under constant development and updates are pushed to dev branch almost every day (today I noticed sheduled download is implemented i guess).
So if you add the unstable/incomplete versions too to the releases(as pre-release/beta/nightly), we can try them.

Report bug

I got crash
I downloaded tiktok video and when i wanna play that after download :

java.lang.IllegalArgumentException: Failed to find configured root that contains /
at androidx.core.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:825)
at androidx.core.content.FileProvider.getUriForFile(FileProvider.java:450)
at com.deniscerri.ytdlnis.page.DownloadsFragment.openFileIntent(DownloadsFragment.java:672)
at com.deniscerri.ytdlnis.page.DownloadsFragment.onClick(DownloadsFragment.java:569)
at android.view.View.performClick(View.java:6608)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1219)
at android.view.View.performClickInternal(View.java:6585)
at android.view.View.access$3100(View.java:785)
at android.view.View$PerformClick.run(View.java:25921)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6864)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

[FEATURE REQUEST] let us choose audio quality for video download

Is your feature request available in yt-dlp? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[FEATURE REQUEST] option to remove audio track in video download

Is your feature request available in yt-dlp? Please describe.
I'd like to be able to download videos without the audio track, yt-dlp allows you to do it with the format option:

$ yt-dlp -f bestvideo <url>

Describe the solution you'd like
Adding an "Audio Track" chip at the bottom in the video download dialog would make it easy to toggle it on or off

Describe alternatives you've considered
Creating a custom command, though, for something like this that is pretty generic, I think it could benefit from being a default option

Additional context
1682522800552

By the way, thanks for the excellent app!

Menu layout

Why is there blank space under menu buttons?

Screenshot_20230107-092650.png

Get direct link

I try use youtubedl to get direct link but its lag can i know how do it without lag please

[FEATURE REQUEST] Instagram and Facebook private video download

Is your feature request available in yt-dlp? Please describe.
Ytdlp has feature that we can pass cookies,so if we want to download private video we need to pass cookies with command line option.

Describe the solution you'd like
For a better solution in Android ,we can use Android Web view to login Instagram or (other site like facebook) and get all cookies programmatically.

Can' Download

~ $ yt-dlp https://music.youtube.com/watch?v=wy709iNG6i8&feature=share

[youtube] Extracting URL: https://music.youtube.com/watch?v=wy709iNG6i8&feature=share
[youtube] wy709iNG6i8: Downloading webpage
[youtube] wy709iNG6i8: Downloading android player API JSON
[youtube] wy709iNG6i8: Downloading iframe API JS
[youtube] wy709iNG6i8: Downloading web player API JSON
[youtube] wy709iNG6i8: Downloading android music player API JSON
[youtube] wy709iNG6i8: Downloading web music client config
[youtube] wy709iNG6i8: Downloading web music player API JSONWARNING: [youtube] Unable to download webpage: IncompleteRead(271593 bytes read)
WARNING: [youtube] IncompleteRead(20 bytes read). Retrying (1/3)...
WARNING: [youtube] IncompleteRead(14564 bytes read). Retrying (2/3)...
WARNING: [youtube] IncompleteRead(0 bytes read). Retrying (3/3)...
WARNING: [youtube] Unable to download webpage: Remote end closed connection without response
WARNING: [youtube] IncompleteRead(32394 bytes read). Retrying (1/3)...
WARNING: [youtube] IncompleteRead(15428 bytes read). Retrying (2/3)...
WARNING: [youtube] IncompleteRead(32137 bytes read). Retrying (3/3)...
WARNING: [youtube] Unable to download API page: IncompleteRead(14196 bytes read) (caused by IncompleteRead(14196 bytes read)); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
WARNING: [youtube] IncompleteRead(8 bytes read). Retrying (1/3)...
WARNING: [youtube] IncompleteRead(4 bytes read). Retrying (2/3)...
WARNING: [youtube] IncompleteRead(11397 bytes read). Retrying (3/3)...
WARNING: [youtube] Unable to download API page: IncompleteRead(15437 bytes read) (caused by IncompleteRead(15437 bytes read)); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
WARNING: [youtube] Unable to download webpage: IncompleteRead(37099 bytes read)
WARNING: [youtube] IncompleteRead(113714 bytes read). Retrying (1/3)...
WARNING: [youtube] IncompleteRead(97327 bytes read). Retrying (2/3)...
WARNING: [youtube] IncompleteRead(97335 bytes read). Retrying (3/3)...

WARNING: [youtube] Unable to download API page: Remote end closed connection without response (caused by RemoteDisconnected('Remote end closed connection without response')); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
ERROR: [youtube] wy709iNG6i8: Unable to download API page: IncompleteRead(97347 bytes read) (caused by IncompleteRead(97347 bytes read)); please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U

[FEATURE REQUEST] KOR language

Korean translation is in progress. Once 100% translation is complete, when will the patched version of the language files be available? (Translation can be done today)

[BUG] Non-nullability check fails on TikTok videos

Describe the bug
Attempting to download TikTok videos through the app fails with Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter; parameter <this>

To Reproduce
Attempt to download e.g. https://www.tiktok.com/@jeremythemanager/video/7223956433669246250

Expected behavior
the download panel opens letting you pick a download location and other settings.

Screenshots / Video Recording
β€”

(please complete the following information):

  • Android Version: 14 (UPB1.230309.014) (yes I know)
  • App Version: 1.6
  • Other Device Information: Pixel 7

Additional context
The same behaviour occurs on tiktok short links (vm.tiktok.com/xxxxxxxxxx)

Integration to Revanced Extended

Hi,

First off, thank you for this app.

I would like to know if you plan to integrate the app to Revanced Extended as well like Revanced. I don't see it in the list of downloaders on yt version 18.13.38. Thanks.

Unable to Change Folder Directory

Just as the title says, I'm unable to change Audio, Video, and Custom Command Directory. Although, these may be factors to why it didn't work; regardless, I could still download without changing the directory, that's good.

β€’ I'm using a Custom Rom (Android 12 with R Vendor)
β€’ I have root privileges

Here is the log, via a link:
https://paste.crdroid.net/1pyAT8

Changing download quality of Cancelled, Errored Video

Changing download quality from cancelled and errored tabs should be possible. I think an action should be added to the video camera button, shown in the screenshot below, which will open the download card upon taping.
Screenshot_20230601-171104_1.png

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.