All Projects β†’ yausername β†’ Youtubedl Android

yausername / Youtubedl Android

Licence: gpl-3.0
youtube-dl for android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Youtubedl Android

Get It
A macOS GUI for youtube-dl
Stars: ✭ 483 (+105.53%)
Mutual labels:  youtube-dl, youtube-downloader
Candy
🍭 Cross-platform YouTube-downloader with playlist and channel support as well as build-in audio / video converter.
Stars: ✭ 229 (-2.55%)
Mutual labels:  youtube-dl, youtube-downloader
Smd
Spotify Music Downloader
Stars: ✭ 822 (+249.79%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Mp3 Downloader
Extract music from YouTube videos
Stars: ✭ 187 (-20.43%)
Mutual labels:  youtube-dl, youtube-downloader
Dvd
Download videos from anywhere
Stars: ✭ 114 (-51.49%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Downloader
πŸ‘ A much faster alternative to youtube-dl built for PHP applications. Working as of 2021-02-27
Stars: ✭ 474 (+101.7%)
Mutual labels:  youtube-dl, youtube-downloader
Firedm
python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM
Stars: ✭ 977 (+315.74%)
Mutual labels:  youtube-dl, youtube-downloader
ypc
Convert text/spotify/deezer albums/playlists to youtube urls and audio/video files.
Stars: ✭ 17 (-92.77%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Api
A way to host your own API that converts youtube video's to mp3/mp4 and returns a download/stream link and information.
Stars: ✭ 76 (-67.66%)
Mutual labels:  youtube-dl, youtube-downloader
Fast Youtube To Mp3 Converter Api
Very Fast YouTube to MP3 & MP4 Converter API
Stars: ✭ 69 (-70.64%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Music
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Stars: ✭ 376 (+60%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Downloader For Macos
Simple menu bar app to download YouTube movies on your Mac
Stars: ✭ 185 (-21.28%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Dl Android
πŸ“¦πŸ“¦Video downloader for Android - Download videos from Youtube, Facebook, Twitter, Instagram, Dailymotion, Vimeo and more than 1000 other sites
Stars: ✭ 322 (+37.02%)
Mutual labels:  youtube-dl, youtube-downloader
Downzemall
DownZemAll! is a download manager for Windows, MacOS and Linux
Stars: ✭ 157 (-33.19%)
Mutual labels:  youtube-dl, youtube-downloader
red
Red - Privacy focused Youtube player and download manager for Linux
Stars: ✭ 27 (-88.51%)
Mutual labels:  youtube-dl, youtube-downloader
Youtub.ly Android
An android app to download πŸ“Ή videos and songs from youtube to phone internal storage
Stars: ✭ 17 (-92.77%)
Mutual labels:  youtube-dl, youtube-downloader
mpv-youtube-download
A userscript for MPV that allows you to download youtube audio and video with one key press πŸ’Ύ
Stars: ✭ 16 (-93.19%)
Mutual labels:  youtube-dl, youtube-downloader
video-dl
Video Downloader πŸ“₯ - Download Facebook Video and Youtube Video and Audio.
Stars: ✭ 13 (-94.47%)
Mutual labels:  youtube-dl, youtube-downloader
Youtubevideodownloader
Download videos from YouTube and many other video sites
Stars: ✭ 39 (-83.4%)
Mutual labels:  youtube-dl, youtube-downloader
Youtube Dl Gui
This repository contains code for a youtube-dl GUI written in PyQt.
Stars: ✭ 144 (-38.72%)
Mutual labels:  youtube-dl, youtube-downloader

youtubedl-android

Android library wrapper for youtube-dl executable

Credits


Sample app

Debug apk for testing can be downloaded from the releases page

Download Example Streaming Example

Checkout dvd, a video downloader app based on this library.

dvd

Installation

Gradle

Step 1 : Add jitpack repository to your project build file

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Step 2: Add the dependency

dependencies {
    implementation 'com.github.yausername.youtubedl-android:library:0.12.+'
}

Optional FFmpeg dependency can also be added

dependencies {
    implementation 'com.github.yausername.youtubedl-android:library:0.12.+'
    implementation 'com.github.yausername.youtubedl-android:ffmpeg:0.12.+'
}

  • Set android:extractNativeLibs="true" in your app's manifest.
  • Use abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' in app/build.gradle, see sample app.
  • Use abi splits to reduce apk size, see sample app.
  • On android 10 set android:requestLegacyExternalStorage="true". I haven't tested with scoped storage, feel free to do so.

Usage

  • youtube-dl executable and python 3.8 are bundled in the library.
  • Initialize library, preferably in onCreate.
try {
    YoutubeDL.getInstance().init(getApplication());
} catch (YoutubeDLException e) {
    Log.e(TAG, "failed to initialize youtubedl-android", e);
}
  • Downloading / custom command (A detailed example can be found in the sample app)
File youtubeDLDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "youtubedl-android");
YoutubeDLRequest request = new YoutubeDLRequest("https://vimeo.com/22439234");
request.addOption("-o", youtubeDLDir.getAbsolutePath() + "/%(title)s.%(ext)s");
YoutubeDL.getInstance().execute(request, (progress, etaInSeconds) -> {
    System.out.println(String.valueOf(progress) + "% (ETA " + String.valueOf(etaInSeconds) + " seconds)");
});
  • Get stream info (equivalent to --dump-json of youtube-dl)
VideoInfo streamInfo = YoutubeDL.getInstance().getInfo("https://vimeo.com/22439234");
System.out.println(streamInfo.getTitle());
  • Get a single playable link containing video+audio
YoutubeDLRequest request = new YoutubeDLRequest("https://youtu.be/Pv61yEcOqpw");
request.addOption("-f", "best");
VideoInfo streamInfo = YoutubeDL.getInstance().getInfo(request);
System.out.println(streamInfo.getUrl());
  • youtube-dl supports myriad different options which be seen here

  • youtube-dl binary can be updated from within the library

YoutubeDL.getInstance().updateYoutubeDL(getApplication());

FFmpeg

If you wish to use ffmpeg features of youtube-dl (e.g. --extract-audio), include and initialize the ffmpeg library.

try {
    YoutubeDL.getInstance().init(getApplication());
    FFmpeg.getInstance().init(getApplication());
} catch (YoutubeDLException e) {
    Log.e(TAG, "failed to initialize youtubedl-android", e);
}

Docs

  • Though not required for just using this library, documentation on building python for android can be seen here. Same for ffmpeg here. Alternatively, you can use pre-built packages from here (android5+) or here (android7+).
  • youtubedl-android uses lazy extractors based build of youtube-dl (youtubedl-lazy)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].