Code Monkey home page Code Monkey logo

youtubedl-android's People

Contributors

junkfood02 avatar kadwanev avatar p3g4asus avatar tinybug avatar xibr avatar yausername 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

youtubedl-android's Issues

java.lang.IllegalStateException error

hello sir.
java.lang.IllegalStateException error

sure i'm already
int oncreate
YoutubeDL.getInstance().init(getApplication());
YoutubeDL.getInstance().updateYoutubeDL(getApplication());

com.yausername.youtubedl_android.YoutubeDL.assertInit (YoutubeDL.java:104) com.yausername.youtubedl_android.YoutubeDL.execute (YoutubeDL.java:131)
com.yausername.youtubedl_android.YoutubeDL.getInfo (YoutubeDL.java:114)
com.yausername.youtubedl_android.YoutubeDL.getInfo (YoutubeDL.java:109)
YoutubeDL.getInstance().getInfo(video_url);
this is call stack
sometimes it's happened
why i don't know
help me

ffmpeg support

Would it be very difficult to add ffmpeg support for the "convert to mp3" options of youtube-dl?

java.lang.IllegalStateException: instance not initialized

Hello to all, I have an Issue when I start an activity (DownloadAUDIO.java) with code from this library . When the activity dont contain code from the library all works fine.

DownloadAUDIO.java

package philippsapps.yt2netradio;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import com.yausername.youtubedl_android.DownloadProgressCallback;
import com.yausername.youtubedl_android.YoutubeDL;
import com.yausername.youtubedl_android.YoutubeDLException;
import com.yausername.youtubedl_android.YoutubeDLRequest;

public class DownloadAUDIO extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_download_audio);

        TextView tvURL = findViewById(R.id.tvURL);
        final TextView tvETA = findViewById(R.id.tvETA);
        final TextView tvProgress = findViewById(R.id.tvProgress);
        final ProgressBar progressBar = findViewById(R.id.progressBar);


        Intent receivedIntent = getIntent();
        String VideoURL = receivedIntent.getStringExtra(Intent.EXTRA_TEXT);
        String VideoID = VideoURL.substring(17);

        tvURL.setText(VideoURL);

        YoutubeDL youtubeDL = YoutubeDL.getInstance();

        YoutubeDLRequest youtubeDLRequest = new YoutubeDLRequest(VideoURL);
        DownloadProgressCallback downloadProgressCallback = new DownloadProgressCallback() {
            @Override
            public void onProgressUpdate(float progress, long etaInSeconds) {
                progressBar.setProgress(Math.round(progress),true);
                tvProgress.setText((etaInSeconds) + "%");
                tvETA.setText(String.valueOf(etaInSeconds) + R.string.secs_left );
            }
        };

        try {
            youtubeDL.execute(youtubeDLRequest, downloadProgressCallback);
        } catch (YoutubeDLException e) {
            e.printStackTrace();
            Toast.makeText(this, "Check your internet connection. Then try again.", Toast.LENGTH_LONG).show();
        } catch (InterruptedException e) {
            e.printStackTrace();
            Toast.makeText(this, "Something went wrong.", Toast.LENGTH_LONG).show();
        }

    }
}

Stacktrace

2020-04-24 20:30:33.629 27085-27085/philippsapps.yt2netradio E/AndroidRuntime: FATAL EXCEPTION: main
    Process: philippsapps.yt2netradio, PID: 27085
    java.lang.RuntimeException: Unable to start activity ComponentInfo{philippsapps.yt2netradio/philippsapps.yt2netradio.DownloadAUDIO}: java.lang.IllegalStateException: instance not initialized
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.IllegalStateException: instance not initialized
        at com.yausername.youtubedl_android.YoutubeDL.assertInit(YoutubeDL.java:110)
        at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:134)
        at philippsapps.yt2netradio.DownloadAUDIO.onCreate(DownloadAUDIO.java:47)
        at android.app.Activity.performCreate(Activity.java:7009)
        at android.app.Activity.performCreate(Activity.java:7000)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6494) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
2020-04-24 20:30:33.673 27085-27101/philippsapps.yt2netradio I/zygote: Background concurrent copying GC freed 771(224KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 1667KB/3MB, paused 311us total 174.241ms

build.gradle (root directory)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle (app directory)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion '29.0.0'
    defaultConfig {
        applicationId "philippsapps.yt2netradio"
        minSdkVersion 26
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.github.yausername.youtubedl-android:library:0.7.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
}

If you need something else to figure out what the problem is, let me know.
FunProgrammer

mp3 download

YoutubeDLRequest request
request.setOption("-x", "--extract-audio");
it's download success but format is not mp3.
I try
request.setOption("-x", "--extract-audio --audio-format mp3) and
request.setOption("-x", "--extract-audio --audio-format mp3 " + url)
but all fialed
failed error message show no have option ' --audio-format'

Build youtube-dl

Is possible for me to build my own version of youtube-dl in your library? And How?

Response getOut();

hi, I have problem with Encoding in
youtubeDLResponse.getOut();

Screenshot_youtube dl
But in termux
Screenshot_Termux
How can I fix it
Video url https://youtu.be/gqBryLoNYLA
Video title

【山药村老板娘】秋天到了,隔壁大婶家南瓜熟了,摘一个焖3斤排骨,真香

Thanks.

play store app upload issue

hello sir.
i can't upload play store cos of error meesage
google upload error message
This release version does not comply with Google Play 64-bit requirements.
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
I'm already addfilters but it's same show error message
you konw?

android 4.4 update error https...

If you update youtube-dl in Android 4.4 version, the following error occurs

07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ Thread: main
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ MainActivity$6$$Lambda$2.accept (null:-1)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ MainActivity$6.lambda$run$2$MainActivity$6 (MainActivity.java:1067)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ failed to download : com.yausername.youtubedl_android.YoutubeDLException: failed to update youtube-dl
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.yausername.youtubedl_android.YoutubeDL.updateYoutubeDL(YoutubeDL.java:192)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.gm0723.sn02top.MainActivity$6.lambda$run$0$MainActivity$6(MainActivity.java:1047)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.gm0723.sn02top.MainActivity$6$$Lambda$0.call(Unknown Source)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.operators.observable.ObservableFromCallable.subscribeActual(ObservableFromCallable.java:42)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.Observable.subscribe(Observable.java:12030)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:579)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.lang.Thread.run(Thread.java:841)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ Caused by: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x7cceac00: Failure in SSL library, usually a protocol error
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x72f507d0:0x00000000)
07-23 05:52:56.027 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:468)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.Connection.upgradeToTls(Connection.java:1014)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.Connection.connect(Connection.java:955)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:411)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:343)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:289)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:246)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.net.URL.openStream(URL.java:470)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.fasterxml.jackson.core.JsonFactory._optimizedStreamFromURL(JsonFactory.java:1595)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:793)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:2621)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.yausername.youtubedl_android.YoutubeDLUpdater.checkForUpdate(YoutubeDLUpdater.java:68)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.yausername.youtubedl_android.YoutubeDLUpdater.update(YoutubeDLUpdater.java:32)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.yausername.youtubedl_android.YoutubeDL.updateYoutubeDL(YoutubeDL.java:190)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ ... 14 more
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x7cceac00: Failure in SSL library, usually a protocol error
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x72f507d0:0x00000000)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:425)
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: │ ... 30 more
07-23 05:52:56.037 22522-22522/com.gm0723.sn02top E/PRETTY_LOGGER: └────────────────────────────────────────────────────────────────────────────────────────────────────────────────
07-23 05:52:56.097 22522-22522/com.gm0723.sn02top E/File: fail readDirectory() errno=2

Too slow on YouTube videos

It takes more than 10s to get video information.It starts receiving data after almost 4~5s .Can we set some options to increase speed.

Sent from my HOT 4 PRO using FastHub

Download Video range

Hi
I want download video range ? To download starting from 1m 30 to 1m 50?
I found this

ffmpeg-ss 14350 -i $(youtube-dl -f 22 --get-url https://www.youtube.com/watch?v=mMZriSvaVP8) -t 11200 -c:v copy -c:a copyreact-spot.mp4`

here ytdl-org/youtube-dl#622 (comment)
but i but I can't use it in android studio . thanks`

Parsing youtube problem

com.yausername.youtubedl_android.YoutubeDLException: ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by <HTTPError 429: 'Too Many Requests'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Error after progaurd apply

java.lang.NoSuchFieldError
at libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:688)
at libcore.reflect.AnnotationAccess.getDefaultValue(AnnotationAccess.java:361)
at java.lang.reflect.Method.getDefaultValue(Method.java:327)
at libcore.reflect.AnnotationFactory.getElementsDescription(AnnotationFactory.java:75)
at libcore.reflect.AnnotationFactory.(AnnotationFactory.java:112)
at libcore.reflect.AnnotationFactory.createAnnotation(AnnotationFactory.java:94)
at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:666)
at libcore.reflect.AnnotationAccess.annotationSetToAnnotations(AnnotationAccess.java:633)
at libcore.reflect.AnnotationAccess.getDeclaredAnnotations(AnnotationAccess.java:161)
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:244)
at com.a.a.c.f.g.a(Unknown Source)
at com.a.a.c.f.g.a(Unknown Source)
at com.a.a.c.f.g.a(Unknown Source)
at com.a.a.c.f.b.n(Unknown Source)
at com.a.a.c.f.b.l(Unknown Source)
at com.a.a.c.f.z.a(Unknown Source)
at com.a.a.c.f.z.m(Unknown Source)
at com.a.a.c.f.z.l(Unknown Source)
at com.a.a.c.f.z.d(Unknown Source)
at com.a.a.c.f.p.w(Unknown Source)
at com.a.a.c.f.p.h(Unknown Source)
at com.a.a.c.c.b.c(Unknown Source)
at com.a.a.c.c.b.b(Unknown Source)
at com.a.a.c.c.b.a(Unknown Source)
at com.a.a.c.c.f.g(Unknown Source)
at com.a.a.c.c.f.d(Unknown Source)
at com.a.a.c.c.n.a(Unknown Source)
at com.a.a.c.c.n.e(Unknown Source)
at com.a.a.c.c.n.d(Unknown Source)
at com.a.a.c.c.n.c(Unknown Source)
at com.a.a.c.c.n.a(Unknown Source)
at com.a.a.c.g.b(Unknown Source)
at com.a.a.c.s.a(Unknown Source)
at com.a.a.c.s.a(Unknown Source)
at com.a.a.c.s.a(Unknown Source)
at com.yausername.youtubedl_android.YoutubeDL.getInfo(Unknown Source)
at com..mcqs.YoutubeplayerActivity.o(Unknown Source)
at com..mcqs.YoutubeplayerActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:6331)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2523)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2658)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1492)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5737)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
Caused by: java.lang.NoSuchFieldException: No field AUTO in class Lcom/a/a/a/u$a; (declaration of 'com.a.a.a.u$a' appears in /data/app/com..
-1/base.apk)
at java.lang.Class.getDeclaredField(Native Method)
at libcore.reflect.AnnotationAccess.decodeValue(AnnotationAccess.java:685)
at libcore.reflect.AnnotationAccess.getDefaultValue(AnnotationAccess.java:361) 
at java.lang.reflect.Method.getDefaultValue(Method.java:327) 
at libcore.reflect.AnnotationFactory.getElementsDescription(AnnotationFactory.java:75) 
at libcore.reflect.AnnotationFactory.(AnnotationFactory.java:112) 
at libcore.reflect.AnnotationFactory.createAnnotation(AnnotationFactory.java:94) 
at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:666) 
at libcore.reflect.AnnotationAccess.annotationSetToAnnotations(AnnotationAccess.java:633) 
at libcore.reflect.AnnotationAccess.getDeclaredAnnotations(AnnotationAccess.java:161) 
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:244) 
at com.a.a.c.f.g.a(Unknown Source) 
at com.a.a.c.f.g.a(Unknown Source) 
at com.a.a.c.f.g.a(Unknown Source) 
at com.a.a.c.f.b.n(Unknown Source) 
at com.a.a.c.f.b.l(Unknown Source) 
at com.a.a.c.f.z.a(Unknown Source) 
at com.a.a.c.f.z.m(Unknown Source) 
at com.a.a.c.f.z.l(Unknown Source) 
at com.a.a.c.f.z.d(Unknown Source) 
at com.a.a.c.f.p.w(Unknown Source) 
at com.a.a.c.f.p.h(Unknown Source) 
at com.a.a.c.c.b.c(Unknown Source) 
at com.a.a.c.c.b.b(Unknown Source) 
at com.a.a.c.c.b.a(Unknown Source) 
at com.a.a.c.c.f.g(Unknown Source) 
at com.a.a.c.c.f.d(Unknown Source) 
at com.a.a.c.c.n.a(Unknown Source) 
at com.a.a.c.c.n.e(Unknown Source) 
at com.a.a.c.c.n.d(Unknown Source) 
at com.a.a.c.c.n.c(Unknown Source) 
at com.a.a.c.c.n.a(Unknown Source) 
at com.a.a.c.g.b(Unknown Source) 
at com.a.a.c.s.a(Unknown Source) 
at com.a.a.c.s.a(Unknown Source) 
at com.a.a.c.s.a(Unknown Source) 
at com.yausername.youtubedl_android.YoutubeDL.getInfo(Unknown Source) 
at com.******.mcqs.YoutubeplayerActivity.o(Unknown Source) 
at com.
.******mcqs.YoutubeplayerActivity.onCreate(Unknown Source) 
at android.app.Activity.performCreate(Activity.java:6331) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2523) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2658) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1492) 
at android.os.Handler.dispatchMessage(Handler.java:111) 
at android.os.Looper.loop(Looper.java:207) 
at android.app.ActivityThread.main(ActivityThread.java:5737) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 

BIG SIZE APP PROBLEM!!

My team build an app using this library but we faced a serious problem is that the apk in final production is big more than 40Mb!!!! is there any solution to make less than 10MB ???

TikTok videos not getting file extension

(First of all: I love this app. Having youtube-dl on my phone is so amazing.)

So TikTok lets you download some videos—but not others—in-app. So on videos that don't have a download button, I clicked Copy Link, and pasted the link to download in youtubedl-android.

I lagged at 0% for a moment, then jumped to 100%.

However, when I looked at the youtubedl-android folder in my Downloads folder, the file was there, but with the wrong extension.

Listed filename:
Ediz & Ben on TikTok.unknown_video

Should be:
Ediz & Ben on TikTok.mp4

I manually renamed it, and it worked perfectly.

Here's the video URL:
https://vm.tiktok.com/c6fCF7/

Unable to get the library working

Logs
E/PRETTY_LOGGER: │ failed to get stream info : com.yausername.youtubedl_android.YoutubeDLException: /data/user/0/com.yausername.youtubedl_android_example/files/youtubedl-android/python/usr/bin/python[1]: syntax error: unexpected '�@�4L���4'

This is from the sample app. I get a similar error when I try out the library in my own project. I tried multiple Youtube urls.

Let me know if you need any more info.

any wat to use download manager, fix video name

hi,
how to get link? if you want download it with download manager, and if you want use custom name, when download from instagram video name (video by user) you cant download other video

Unable to download webpage [Error]

Initialization Code (runs without throwing error):

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

Code:

        VideoInfo streamInfo;
        try {
            streamInfo = YoutubeDL.getInstance().getInfo("https://vimeo.com/22439234");
            value = streamInfo.getTitle();
        } catch (YoutubeDLException e) {
            value = "Error";
            Log.e("Tag", "Error", e);
        }

Error:

2019-08-12 12:59:15.977 22202-22202/com.base.y23 E/Tag: Error
    com.yausername.youtubedl_android.YoutubeDLException: ERROR: Unable to download webpage: <urlopen error [Errno 7] No address associated with hostname> (caused by URLError(gaierror(7, 'No address associated with hostname')))
    
        at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:178)
        at com.yausername.youtubedl_android.YoutubeDL.getInfo(YoutubeDL.java:116)
        at com.base.y23.MainActivity.sendMessage(MainActivity.java:101)
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
        at android.view.View.performClick(View.java:6597)
        at android.view.View.performClickInternal(View.java:6574)
        at android.view.View.access$3100(View.java:778)
        at android.view.View$PerformClick.run(View.java:25885)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Phone used for debugging: Pixel 3XL
Android version: 9
And in case it helps here's my app gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.base.y23"
        minSdkVersion 17
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'com.github.yausername.youtubedl-android:library:0.6.+'
    implementation 'com.github.yausername.youtubedl-android:ffmpeg:0.6.+'
}

Any help would be greatly appreciated.

samsung galaxy note3 android 5 not work

38.630 14213-18015/com.gm0723.sn02top W/System.err: com.yausername.youtubedl_android.YoutubeDLException: CANNOT LINK EXECUTABLE: could not load library "libandroid-support.so" needed by "/data/data/com.gm0723.sn02top/files/youtubedl-android/packages/usr/bin/python"; caused by cannot locate symbol "__register_atfork" referenced by "libandroid-support.so"...
08-01 00:31:38.630 14213-18015/com.gm0723.sn02top W/System.err: at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:178)
08-01 00:31:38.630 14213-18015/com.gm0723.sn02top W/System.err: at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:130)

Apk test request

Hi all,

I have not been able to test the latest release with older android versions.
Please test below apks with android versions 5,6,7 and 8 and share feedback.
I have tested with versions 9 and 10.
ARM
x86

Thanks

Ability to get current version

I encountered a youtube-dl related error "token" parameter not in video info which was fixed in a recent pull request in the main repo.

When I update with YoutubeDL.getInstance().updateYoutubeDL(getApplication()) I get the code ALREADY_UP_TO_DATE and from your library api check, I get the right version from 30/04.

But how can I be sure that the current version I have is the correct one ? (In this case it seems it's not the correct version I have)
Could you add a YoutubeDL.getInstance().getCurrentVersion(getApplication()) command ?
And by the way, In the YoutubeDLUpdater.update it seems to update shared preferences even if the download failed.

Error while updating YoutubeDL binary

java.lang.IllegalArgumentException: position=0 count=9223372036854775807
	at java.nio.FileChannelImpl.transferFrom(FileChannelImpl.java:370)
	at com.yausername.youtubedl_android.YoutubeDLUpdater.download(YoutubeDLUpdater.java:110)
	at com.yausername.youtubedl_android.YoutubeDLUpdater.update(YoutubeDLUpdater.java:36)
	at com.yausername.youtubedl_android.YoutubeDL.updateYoutubeDL(YoutubeDL.java:190)
	at com.mycompany.myapp4.MainActivity$100000000.run(MainActivity.java:41)
	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
	at java.lang.Thread.run(Thread.java:818)

Sent from my HOT 4 PRO using FastHub

ERROR: Signature extraction failed

With the setup described and the following class, I am not able to get it running:

`
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(() -> {
        try  {
            YoutubeDL.getInstance().init(getApplication());
            YoutubeDL.getInstance().updateYoutubeDL(getApplication());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }).start();

    // Video url to download
    String videoUrl = "https://www.youtube.com/watch?v=leHXx0QqfJg";

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

    File youtubeDLDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "youtubedl-android");
    YoutubeDLRequest request = new YoutubeDLRequest(videoUrl);
    //request.addOption("--no-check-certificate");
    //request.addOption("-o", youtubeDLDir.getAbsolutePath() + "/%(title)s.%(ext)s");

    try {
        YoutubeDL.getInstance().execute(request);
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (YoutubeDLException e) {
        e.printStackTrace();
    }

    /*
    try {
        YoutubeDL.getInstance().execute(request, (progress, etaInSeconds) -> {
            Log.i("print", String.valueOf(progress) + "% (ETA " + String.valueOf(etaInSeconds) + " seconds)");
        });
    } catch (YoutubeDLException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    */
}

}
`

The following is the error log:
2020-05-16 16:22:21.962 13015-13047/com.example.myapplication W/libc: Unable to set property "qemu.gles" to "1": connection failed; errno=13 (Permission denied) 2020-05-16 16:22:25.750 13015-13015/com.example.myapplication W/System.err: com.yausername.youtubedl_android.YoutubeDLException: ERROR: Signature extraction failed: Traceback (most recent call last): 2020-05-16 16:22:25.750 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 627, in _request_webpage 2020-05-16 16:22:25.750 13015-13015/com.example.myapplication W/System.err: return self._downloader.urlopen(url_or_request) 2020-05-16 16:22:25.750 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/YoutubeDL.py", line 2238, in urlopen 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: return self._opener.open(req, timeout=self._socket_timeout) 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/user/0/com.example.myapplication/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/urllib/request.py", line 531, in open 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: response = meth(req, response) 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/utils.py", line 2618, in http_response 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: content = resp.read() 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/user/0/com.example.myapplication/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/http/client.py", line 467, in read 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: s = self._safe_read(self.length) 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/user/0/com.example.myapplication/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/http/client.py", line 608, in _safe_read 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: data = self.fp.read(amt) 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/user/0/com.example.myapplication/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/socket.py", line 669, in readinto 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: return self._sock.recv_into(b) 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/user/0/com.example.myapplication/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/ssl.py", line 1241, in recv_into 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: return self.read(nbytes, buffer) 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: File "/data/user/0/com.example.myapplication/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/ssl.py", line 1099, in read 2020-05-16 16:22:25.751 13015-13015/com.example.myapplication W/System.err: return self._sslobj.read(len, buffer) 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: ssl.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2560) 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: During handling of the above exception, another exception occurred: 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: Traceback (most recent call last): 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/youtube.py", line 1411, in _decrypt_signature 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: func = self._extract_signature_function( 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/youtube.py", line 1308, in _extract_signature_function 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: code = self._download_webpage( 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 791, in _download_webpage 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: res = self._download_webpage_handle( 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/youtube.py", line 271, in _download_webpage_handle 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: return super(YoutubeBaseInfoExtractor, self)._download_webpage_handle( 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 660, in _download_webpage_handle 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status) 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: File "/data/data/com.example.myapplication/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 645, in _request_webpage 2020-05-16 16:22:25.752 13015-13015/com.example.myapplication W/System.err: raise ExtractorError(errmsg, sys.exc_info()[2], cause=err) 2020-05-16 16:22:25.753 13015-13015/com.example.myapplication W/System.err: youtube_dl.utils.ExtractorError: Download of https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js failed: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2560) (caused by SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2560)')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. 2020-05-16 16:22:25.753 13015-13015/com.example.myapplication W/System.err: (caused by ExtractorError("Download of https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js failed: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2560) (caused by SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2560)')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. 2020-05-16 16:22:25.755 13015-13015/com.example.myapplication W/System.err: at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:182) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:127) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at com.example.myapplication.MainActivity.onCreate(MainActivity.java:46) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at android.app.Activity.performCreate(Activity.java:7802) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at android.app.Activity.performCreate(Activity.java:7791) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 2020-05-16 16:22:25.756 13015-13015/com.example.myapplication W/System.err: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 2020-05-16 16:22:25.758 13015-13015/com.example.myapplication W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at android.os.Looper.loop(Looper.java:214) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7356) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at java.lang.reflect.Method.invoke(Native Method) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 2020-05-16 16:22:25.759 13015-13015/com.example.myapplication W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

How can this be solved? Thanks in advance!

ERROR ON URL FROM PLAYLIST

hey :)
I tried to downlaod video from a playlist but the downlaoder failed; I notice that this error occurred for every link of video that appear on a youtube playlist

issue with facebook urls

2020-01-05 01:06:30.171 26575-26575/com.example.androiddownloader D/youtube: dl initiated
2020-01-05 01:07:19.157 26575-26575/com.example.androiddownloader D/youtube::: https://www.facebook.com/100008731352875/posts/2215335545434136/
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader D/youtueb: [debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-o', '/storage/emulated/0/Download/youtubedl-android/%(title)s.%(ext)s', '--no-continue', '-4', '--verbose', 'https://www.facebook.com/100008731352875/posts/2215335545434136/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.09.28
[debug] Lazy loading extractors enabled
[debug] Python version 3.7.2 (CPython) - Linux-3.10.61-11350514-armv8l-with-libc
[debug] exe versions: none
[debug] Proxy map: {}
ERROR: Unable to extract video ids; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/YoutubeDL.py", line 796, in extract_info
ie_result = ie.extract(url)
File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/extractor/facebook.py", line 464, in _real_extract
webpage, 'video ids', group='ids'),
File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 1005, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract video ids; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: com.yausername.youtubedl_android.YoutubeDLException: [debug] System config: []
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: [debug] Command-line args: ['-o', '/storage/emulated/0/Download/youtubedl-android/%(title)s.%(ext)s', '--no-continue', '-4', '--verbose', 'https://www.facebook.com/100008731352875/posts/2215335545434136/']
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: [debug] youtube-dl version 2019.09.28
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: ERROR: Unable to extract video ids; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/YoutubeDL.py", line 796, in extract_info
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/extractor/facebook.py", line 464, in _real_extract
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: File "/data/data/com.example.androiddownloader/files/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 1005, in _search_regex
2020-01-05 01:07:23.597 26575-28630/com.example.androiddownloader W/System.err: youtube_dl.utils.RegexNotFoundError: Unable to extract video ids; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
2020-01-05 01:07:23.600 26575-28630/com.example.androiddownloader W/System.err: at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:179)

does this still work? O am getting this error.

E/DownloadingExample: failed to download
com.yausername.youtubedl_android.YoutubeDLException: ERROR: Signature extraction failed: Traceback (most recent call last):
File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 627, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/YoutubeDL.py", line 2238, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/data/user/0/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/utils.py", line 2624, in http_response
content = resp.read()
File "/data/user/0/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/http/client.py", line 467, in read
s = self._safe_read(self.length)
File "/data/user/0/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/http/client.py", line 610, in _safe_read
raise IncompleteRead(data, amt-len(data))
http.client.IncompleteRead: IncompleteRead(437248 bytes read, 367 more expected)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/youtube.py", line 1419, in _decrypt_signature
    func = self._extract_signature_function(
  File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/youtube.py", line 1316, in _extract_signature_function
    code = self._download_webpage(
  File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 791, in _download_webpage
    res = self._download_webpage_handle(
  File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/youtube.py", line 271, in _download_webpage_handle
    return super(YoutubeBaseInfoExtractor, self)._download_webpage_handle(
  File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 660, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "/data/data/com.yausername.youtubedl_android_example/no_backup/youtubedl-android/youtube-dl/youtube_dl/extractor/common.py", line 645, in _request_webpage
    raise ExtractorError(errmsg, sys.exc_info()[2], cause=err)
youtube_dl.utils.ExtractorError: Download of https://www.youtube.com/s/player/39dd62a0/player_ias.vflset/en_US/base.js failed: IncompleteRead(437248 bytes read, 367 more expected) (caused by IncompleteRead(437248 bytes read, 367 more expected)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

E/DownloadingExample: (caused by ExtractorError('Download of https://www.youtube.com/s/player/39dd62a0/player_ias.vflset/en_US/base.js failed: IncompleteRead(437248 bytes read, 367 more expected) (caused by IncompleteRead(437248 bytes read, 367 more expected)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

    at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:182)
    at com.yausername.youtubedl_android_example.DownloadingExampleActivity.lambda$startDownload$0$DownloadingExampleActivity(DownloadingExampleActivity.java:113)
    at com.yausername.youtubedl_android_example.-$$Lambda$DownloadingExampleActivity$DIqcJ_vtApVhyONpHFiA5nyofXo.call(Unknown Source:4)
    at io.reactivex.internal.operators.observable.ObservableFromCallable.subscribeActual(ObservableFromCallable.java:42)
    at io.reactivex.Observable.subscribe(Observable.java:12030)
    at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
    at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:579)
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)

D/EGL_emulation: eglMakeCurrent: 0xddf7fd00: ver 3 0 (tinfo 0xddf2ae80)
D/EGL_emulation: eglMakeCurrent: 0xddf7fd00: ver 3 0 (tinfo 0xddf2ae80)

Failed to initialize youtubedl-android on x86

Getting exception on LINK EXECUTABLE.

failed to initialize youtubedl-android
    com.yausername.youtubedl_android.YoutubeDLException: CANNOT LINK EXECUTABLE "/system/bin/ndk_translation_program_runner_binfmt_misc": 

"/data/user/0/com.makeworldbetter/files/youtubedl-android/packages/usr/lib/libcrypto.so" 

is for EM_ARM (40) instead of EM_386 (3)

I found the issue is related to my build is x86 instead of arm which due to the python setup architecture here: https://github.com/yausername/youtubedl-android/blob/master/BUILD_PYTHON.md.

Wondering if you have plan to support for x86?

how use mereg option

--merge-output-format "mp4" option

request.setOption("--merge-output-format", "mp4"); not works

ffmpeg features not working

If the code to add ffmpeg features is added, the download always fails.
Any idea to fix it?

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

FAiled to download error in marshmallow

failed to download : com.yausername.youtubedl_android.YoutubeDLException: CANNOT LINK EXECUTABLE: could not load library "libandroid-support.so" needed by "/data/data/com.yausername.youtubedl_android_example/files/youtubedl-android/packages/usr/bin/python"; caused by cannot locate symbol "wctomb" referenced by "libandroid-support.so"...

files/youtubedl-android/packages/usr/bin/python: No such file or directory

Hi @yausername thanks for your work here :)

I followed the readme on a new app but each time I try to interact with YoutubeDL I get following exception:

Do I need to bundle python with it? Or do you know what im doing wrong?

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: me.wessner.youtubedl, PID: 4430
    java.lang.IllegalStateException: Could not execute method for android:onClick
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
        at android.view.View.performClick(View.java:5610)
        at android.view.View$PerformClick.run(View.java:22265)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6077)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
        at android.view.View.performClick(View.java:5610) 
        at android.view.View$PerformClick.run(View.java:22265) 
        at android.os.Handler.handleCallback(Handler.java:751) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 
     Caused by: com.yausername.youtubedl_android.YoutubeDLException: java.io.IOException: Cannot run program "/data/user/0/me.wessner.youtubedl/files/youtubedl-android/packages/usr/bin/python": error=2, No such file or directory
        at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:157)
        at com.yausername.youtubedl_android.YoutubeDL.getInfo(YoutubeDL.java:116)
        at me.wessner.youtubedl.MainActivity.onClickDownload(MainActivity.kt:44)
        at java.lang.reflect.Method.invoke(Native Method) 
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) 
        at android.view.View.performClick(View.java:5610) 
        at android.view.View$PerformClick.run(View.java:22265) 
        at android.os.Handler.handleCallback(Handler.java:751) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 
     Caused by: java.io.IOException: Cannot run program "/data/user/0/me.wessner.youtubedl/files/youtubedl-android/packages/usr/bin/python": error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:983)
        at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:155)
        at com.yausername.youtubedl_android.YoutubeDL.getInfo(YoutubeDL.java:116) 
        at me.wessner.youtubedl.MainActivity.onClickDownload(MainActivity.kt:44) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) 
        at android.view.View.performClick(View.java:5610) 
        at android.view.View$PerformClick.run(View.java:22265) 
        at android.os.Handler.handleCallback(Handler.java:751) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 
     Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
        at java.lang.ProcessImpl.start(ProcessImpl.java:128)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:964)
        at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:155) 
        at com.yausername.youtubedl_android.YoutubeDL.getInfo(YoutubeDL.java:116) 
        at me.wessner.youtubedl.MainActivity.onClickDownload(MainActivity.kt:44) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385) 
        at android.view.View.performClick(View.java:5610) 
        at android.view.View$PerformClick.run(View.java:22265) 
        at android.os.Handler.handleCallback(Handler.java:751) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 

how to build ffmpeg

hi~ @yausername could you tell me how to build ffmpeg? The ffmpeg you build encode mp3 faster than I build. I want to remove some encoder to make ffmpeg smaller. Thanks~

APK?

Hopefully this is a minor request, but would you be so kind as to make an .apk for the latest release?

I'm not a developer, just someone who's desperate to have a fully working and easy to use youtube-dl on my phone. I have no idea how to compile anything. 😅

not out put mp3 file

hello sir.
i'm use
implementation 'com.github.yausername.youtubedl-android:ffmpeg:0.9.+'
in build gradle.

request.addOption("-o", youtubeDLDir.getAbsolutePath() + "/%(title)s.%(ext)s");
//mp3 option
if(onlyMP3){
request.addOption("--extract-audio");
request.addOption("--audio-format", "mp3");
request.addOption("--audio-quality", "0");
}
before it's working but not mp3 file output m4a file.

error java.io.IOException: Error running exec()

hi, I have issue on android 5 api level 21, but on android 5.1 api level 22 is work fine, I don't have any idea about this error, can someone help me?

java.io.IOException: Error running exec(). Command: [/mnt/asec/com.example.youtubedl/lib/arm/libpython.bin.so, /data/data/com.example.youtubedl/no_backup/youtubedl-android/youtube-dl/__main__.py, --dump-json, --no-cache-dir, https://youtu.be/q8cj07r0dws] Working Directory: null Environment: [ANDROID_ROOT=/system, KNOX_STORAGE=/data/knox/ext_sdcard, EMULATED_STORAGE_SOURCE=/mnt/shell/emulated, LOOP_MOUNTPOINT=/mnt/obb, LD_PRELOAD=libsigchain.so, MC_AUTH_TOKEN_PATH=/efs, ANDROID_BOOTLOGO=1, EMULATED_STORAGE_TARGET=/storage/emulated, LD_LIBRARY_PATH=/data/data/com.example.youtubedl/no_backup/youtubedl-android/packages/python/usr/lib:/data/data/com.example.youtubedl/no_backup/youtubedl-android/packages/ffmpeg/usr/lib, EXTERNAL_STORAGE=/storage/emulated/legacy, SYSTEMSERVERCLASSPATH=/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar, PYTHONHOME=/data/data/com.example.youtubedl/no_backup/youtubedl-android/packages/python/usr, ANDROID_SOCKET_zygote=9, PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin:/mnt/asec/com.example.youtubedl-1/lib/arm, ANDROID_DATA=/data, ANDROID_ASSETS=/system/app, ASEC_MOUNTPOINT=/mnt/asec, BOOTCLASSPATH=/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/apache-xml.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar:/system/framework/timakeystore.jar:/system/framework/fipstimakeystore.jar:/system/framework/commonimsinterface.jar:/system/framework/imsmanager.jar:/system/framework/secEmailBC.jar:/system/framework/secocsp.jar:/system/framework/smartbondingservice.jar:/system/framework/knoxvpnuidtag.jar:/system/framework/qcmediaplayer.jar:/system/framework/oem-services.jar:/system/framework/org.codeaurora.Performance.jar:/system/framework/tcmiface.jar, ANDROID_PROPERTY_WORKSPACE=8,0, SSL_CERT_FILE=/data/data/com.example.youtubedl/no_backup/youtubedl-android/packages/python/usr/etc/tls/cert.pem, SECONDARY_STORAGE=/storage/extSdCard, ANDROID_STORAGE=/storage]

mp3 convert error

String url = "https://www.youtube.com/watch?v=7tO_eJek6D8"
String youtubeDLDir = String.valueOf(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS));
YoutubeDLRequest request = new YoutubeDLRequest(url);

request.setOption("-o", youtubeDLDir + "/%(title)s.%(ext)s" );
request.setOption("--extract-audio");
request.setOption("--audio-format", "mp3");
request.setOption("--audio-quality", "0");
request.setOption("--embed-thumbnail");
request.setOption("--add-metadata");
request.setOption("-v");
request.setOption("--postprocessor-args", "-id3v2_version 3");
request.setOption("--no-part");
request.setOption("--cache-dir", youtubeDLDir + "/temp" );


failed to download : com.yausername.youtubedl_android.YoutubeDLException: [debug] System config: []
2019-07-22 17:27:13.186 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] User config: []
2019-07-22 17:27:13.187 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] Custom config: []
2019-07-22 17:27:13.187 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] Command-line args: ['--add-metadata', '--audio-quality', '0', '--no-part', '--postprocessor-args', '-id3v2_version 3', '-v', '--cache-dir', '/storage/emulated/0/Download/temp', '-o', '/storage/emulated/0/Download/Thank you for Goodbye Official M/V.mp3', '--embed-thumbnail', '--extract-audio', '--audio-format', 'mp3', 'https://www.youtube.com/watch?v=7tO_eJek6D8']
2019-07-22 17:27:13.187 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
2019-07-22 17:27:13.187 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] youtube-dl version 2019.07.16
2019-07-22 17:27:13.187 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] Lazy loading extractors enabled
2019-07-22 17:27:13.187 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] Python version 3.7.2 (CPython) - Linux-3.10.61-14077807-armv8l-with-libc
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ [debug] Proxy map: {}
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ ERROR: Stream #0:0 -> #0:0 (copy)
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ Traceback (most recent call last):
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ File "/data/data/com.gm0723.sn02top/files/youtubedl-android/youtube-dl/youtube_dl/YoutubeDL.py", line 2054, in post_process
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ files_to_delete, info = pp.run(info)
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ File "/data/data/com.gm0723.sn02top/files/youtubedl-android/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 498, in run
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ self.run_ffmpeg_multiple_files(in_filenames, temp_filename, options)
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ File "/data/data/com.gm0723.sn02top/files/youtubedl-android/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 235, in run_ffmpeg_multiple_files
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ raise FFmpegPostProcessorError(msg)
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ youtube_dl.postprocessor.ffmpeg.FFmpegPostProcessorError: Stream #0:0 -> #0:0 (copy)
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │
2019-07-22 17:27:13.188 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.yausername.youtubedl_android.YoutubeDL.execute(YoutubeDL.java:178)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.gm0723.sn02top.MainActivity$11.lambda$run$0$MainActivity$11(MainActivity.java:1043)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at com.gm0723.sn02top.MainActivity$11$$Lambda$0.call(Unknown Source)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.operators.observable.ObservableFromCallable.subscribeActual(ObservableFromCallable.java:42)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.Observable.subscribe(Observable.java:12030)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:579)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
2019-07-22 17:27:13.189 11973-11973/com.gm0723.sn02top E/PRETTY_LOGGER: │ at java.lang.Thread.run(Thread.java:762)

getVideoUrl(VideoInfo streamInfo)

In StreamingExampleActivity.java, there is a method getVideoUrl(VideoInfo streamInfo). I think it will be nice if it's moved to VideoInfo class. You can also add it in README.md for those who are looking for this method. Actually, there are many posts on stackoverflow that look for such a method. And, many thanks to you for this awesome library.

error=13, Permission denied

Caused by: java.io.IOException: Cannot run program "/data/user/0/com.yausername.youtubedl_android_example/files/youtubedl-android/packages/usr/bin/python": error=13, Permission denied

tested both emulator and real device( android 10 ,s10)

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.