renamedquery / youtube-dl-server

An alternate (work in progress) version of https://github.com/manbearwiz/youtube-dl-server. (On pause)
MIT License
65 stars 15 forks source link

Use yt-dlp instead of youtube-dl #20

Open DaniloL88s opened 3 years ago

DaniloL88s commented 3 years ago

How can I switch the download from youtube-dl to yt-dlp? Is there a re-call into the code to change the directory where the .py search the youtube-dl to download videos/songs?

anothervictimofsurvivalinstinct commented 3 years ago

You can do this by replacing youtube-dl with yt-dlp in requirements.txt and replace all instances of youtube_dl with yt_dlp in app.py before building from source They are interchangeable

SomKen commented 2 years ago

You can do this by replacing youtube-dl with yt-dlp in requirements.txt and replace all instances of youtube_dl with yt_dlp in app.py before building from source They are interchangeable

It's not that easy... I'm currently working on converting it to yt-dlp myself. but it's requiring some debugging as variables were renamed.

anothervictimofsurvivalinstinct commented 2 years ago

It is that easy. What issues are you running into? Every bug report helps. I've been using this config since at least September, i'll be posting my changes here in a little while to my fork seeing as OP is redoing this project in a completely different language, check back in a day if you want and it should be up to date with my changes

SomKen commented 2 years ago

I may have just fixed a bug unrelated to my work so excuse my response.

While the flag can exist, the "album" metadata tag is being assumed it exists and this is causing the filenames to fallback to the "default plain file name."

If you look at https://github.com/katznboyz1/youtube-dl-server/blob/master/app.py#L1058, you see a try / catch for collecting the meta data. While this may work for music, it doesn't work for normal videos / channels. I needed to change this line, funny enough, from "album" to "playlist" in order for the file names to work.

I also found that https://github.com/katznboyz1/youtube-dl-server/blob/master/app.py#L1117 caused the merging of the files to never complete because the "default" video format doesn't support AAC. If you remove -c:a aac completely, ffmpeg is able to complete. Without, it RC 1's after failing. Error given in logs stated Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM. I was attempting to download https://www.youtube.com/watch?v=H1dIGNSV9Ho / using this channel as my subscription test.

anothervictimofsurvivalinstinct commented 2 years ago

Ah gotcha. Just a bug with implementation, those would be outside the conversion to yt-dlp. I'll test those changes and add them to my repo. thanks for the info.

SomKen commented 2 years ago

Ah gotcha. Just a bug with implementation, those would be outside the conversion to yt-dlp. I'll test those changes and add them to my repo. thanks for the info.

Np. I'm updating this project for myself to add a few things anyways