Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scanning of subscriptions #27

Closed
ClementNgZiQian opened this issue Sep 22, 2021 · 8 comments
Closed

Scanning of subscriptions #27

ClementNgZiQian opened this issue Sep 22, 2021 · 8 comments

Comments

@ClementNgZiQian
Copy link

ClementNgZiQian commented Sep 22, 2021

Currently, the current channel page size (default=50) is the number of videos scanned from the newest backwards, however if I just started to archive a new channel, it would probably mean that 50 is insufficient. Instead of manually changing the value to something else, is it possible to instead let it scan for the latest 50 not downloaded videos?

@bbilly1
Copy link
Member

bbilly1 commented Sep 22, 2021

The "add to download" button on the download page also takes a channel ID. That's for if you want to archive all videos of a channel, no matter the channel size.

Then the subscriptions is for if you also want to archive every future video published by that channel. So for an initial download, add the channel ID to the download queue but also subscribe to the channel, so every future video published will get added to the queue once you rescan.

A higher amount than 50 for the channel page will slow things down drastically. Yt-dlp extracts 50 videos per page, so for every additional page that yt-dlp needs to extract, it will take that much longer to go through.

@ClementNgZiQian
Copy link
Author

ClementNgZiQian commented Sep 22, 2021

I have tried the Add to download queue option and inputted a url in the form https://https://www.youtube.com/channel/channelname but it throws a server error (500). I am using the docker-compose file as is with only changing the external port of tubearchivist to 18000, if that helps.

@bbilly1
Copy link
Member

bbilly1 commented Sep 23, 2021

Make sure you add the Channel ID, a 24 character alpha numeric string and not the username. Username are not unique, any user can have multiple channels. For example UCrUL8K81R4VBzm-KOYwrcxQ or the corresponding URL will work too.

I need to do some better error handling there...

@ClementNgZiQian
Copy link
Author

Thanks, using the ID instead did the trick, although it did take some time finding the unique ID. On a side note, under the download format, does bestvideo[height<=1080]+bestaudio/best[height<=1080] mean bestvideo[height<=1080]+bestaudio or best[height<=1080] works for best audio and max video height of 1080p?

@bbilly1
Copy link
Member

bbilly1 commented Sep 23, 2021

Nice!
The formats are just examples, you can use whatever you want. So yes, the / is like an or character, and the + is for downloading different streams separately and mixing them together. This allows you to select different quality settings for different streams. Maybe audio quality is important to you so you can select bestaudio for that but for video 720p is fine and you care more about filesizes so you could select bestvideo[height<=720] for that. Then the / is if the previous formats are not available for some reason, then yt-dlp will use that as a fallback.

Of course, the yt-dlp documentation has much more examples and better explanations as I ever could.

@ClementNgZiQian
Copy link
Author

Hi, thanks for the reply, the reason for asking was because I tried using best[height<=1080] but it resulted in a 720p download instead. I have tried this on with the pip install of yt-dlp on my pc and it also results in the same 720p download instead of 1080p download. Idk if this is an issue with yt-dlp, or if I'm using it incorrectly, if its the former I would suggest that you can leave the option as bestvideo[height<=1080]+bestaudio until they fix it just in case others experience the same issue.

@bbilly1
Copy link
Member

bbilly1 commented Sep 24, 2021

yt-dlp doesn't just look at the height to define what's "best". You can look into sorting formats for more details but that's outside of the scope here. What it looks like, if you want to get 1080p videos, use the provided example: bestvideo[height<=1080]+bestaudio/best[height<=1080] this will work for all youtube videos where there is actually a 1080p version available.

Default of Tube Archivist is the same as default of yt-dlp, which is best quality, anything else, is what you have set and can change freely.

@ClementNgZiQian
Copy link
Author

I see, thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants