ritiek / rafy-rs

Rust library to download YouTube content and retrieve metadata
MIT License
50 stars 10 forks source link

Downloads empty files #9

Open Ploppz opened 6 years ago

Ploppz commented 6 years ago

In this example in the docs, download() downloads only empty files. I got the same result personally when I tried to download an audiostream.

ritiek commented 6 years ago

Thanks for the report! I can confirm this. I haven't worked on this library lately but I'll see what I can do.

ritiek commented 6 years ago

Actually, it looks like YouTube messed up with a few videos. Some other ones like https://www.youtube.com/watch?v=UuEHqk8M6Fc download okay.

Ploppz commented 6 years ago

The video I tried, worked with pafy and not rafy. I think it was this one https://youtu.be/M_j1LP9q_Ew I'm away now so can't share code but I can this evening.

On Mon 2 Apr 2018 07:38 Ritiek Malhotra, notifications@github.com wrote:

Actually, it looks like YouTube messed up with a few videos. Some other ones like https://www.youtube.com/watch?v=UuEHqk8M6Fc download okay.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ritiek/rafy-rs/issues/9#issuecomment-377859431, or mute the thread https://github.com/notifications/unsubscribe-auth/AEjVpzXX0ORyhgo5Cw6ARMnouqD6_lLFks5tkbltgaJpZM4TC_NP .

ritiek commented 6 years ago

It looks like pafy works with that video only when youtube-dl backend is enabled. It won't work for me if backend is set to internal.

$ export PAFY_BACKEND="internal"

To support these videos in rafy, we're going to have to set up youtube-dl backend as well just like pafy.

Ploppz commented 6 years ago

Is there no other way? (i.e. what is youtube-dl doing that rafy is not doing) How much work would it take to use this backend? Requires FFI to Python I guess. Will you do it?

ritiek commented 6 years ago

Is there no other way? (i.e. what is youtube-dl doing that rafy is not doing)

YouTube keeps undergoing changes I can't possibly keep track of and make appropriate fixes ASAP. youtube-dl manages that pretty good and personally I think we should try our best to avoid duplicate effort.

How much work would it take to use this backend? Requires FFI to Python I guess.

I am not sure at the moment. I'll have to take a deeper look as I haven't worked with FFI much before.

Will you do it?

I am willing to accept PRs but I'll also integrate myself when I set my mood on it. :)

Ploppz commented 6 years ago

Ok, I looked into it and seems like we can do it with cpython. I will try to implement it.