meeb / tubesync

Syncs YouTube channels and playlists to a locally hosted media server
GNU Affero General Public License v3.0
1.96k stars 123 forks source link

Bulk add feature #44

Open OmgImAlexis opened 3 years ago

OmgImAlexis commented 3 years ago

Request: I'd like to see an option to mass add channels, etc.

Reason: I would like to add 500+ channels but doing so one by one is going to take way too long.

meeb commented 3 years ago

Seems a reasonable request to me. You may encounter some throttling issues from YouTube with that many channels being indexed so this may need a "index weekly only" schedule option added to make this feasible. This would also likely require #33 to be completed first as this should probably be a text file or CSV of URLs to be sensible which requires better URL parsing to work first. These are the first few issues in the queue to get worked on when I next get time so probably should make it into the next release.

Jleagle commented 3 years ago

What about fetching your channels automatically with OAuth?

meeb commented 3 years ago

@Jleagle while certainly technically possible I doubt potentially identifying individual Google accounts of users who are deploying youtube-dl or TubeSync is a great idea given it almost certainly violates some sort of ToS somewhere subjecting them to potential random account suspensions. Identifying users by, for example, client access pattern of some API key listing YouTube channel subscriptions every X hours or other fingerprints.

I also don't have a Google account, which is part of the reason I'm working on TubeSync in the first place so building such a tool would be difficult.

I'll add a CSV import option once the URL parsing is rebuilt into something more sensible, but I doubt TubeSync is likely to ever "officially" talk to any authenticated Google APIs.

SmartPhoneLover commented 3 years ago

Sorry, but I would like to know if that feature was successfully added or not yet. As the last change is: meeb added the enhancement (2021/02/24).

meeb commented 3 years ago

Sorry for taking a while to reply. No there hasn't been much work on this for now. Mostly because the current tasks system likely wouldn't be able to cope with a few hundred channels so it'll be blocked until that's replaced.

adamaze commented 3 years ago

do you know what "too many channels" would be? I use a hacky self built solution to keep up to date with 139 channels. i found this issue because i was hoping there was a bulk import ( i have the full list of channel IDs) and i was hoping to not hand enter all 139 of them

meeb commented 3 years ago

I've not tested with hundreds of channels myself. However you can do some back of an envelope maths to make a very rough guess. For example if a reasonably sized channel takes 3 minutes to index and you don't want to spend more than 50% of the time indexing channels to allow for a sensible number of downloads it would be in the 200-250 range. However, the ceiling here (once some changes are made to TubeSync) is far more likely to be YouTube getting miffed at your activity and rate limiting or blocking your IP.

OmgImAlexis commented 3 years ago

@meeb you'll find people that're archiving loads of channels such as myself have access to proxies for load balancing. So I don't think the rate limiting would be much of an issue.

meeb commented 3 years ago

Fair enough. I might add a warning then if you add over 50 channels that you'll probably need proxies or similar measures to avoid issues.

zuble commented 8 months ago

any update on this @meeb ? facing a situation where i have hundreds of playlists URLs. is there any way of applying a features/settings config to a list of playlists ?

might be useful to anyone ./yt-dlp_linux -O "%(playlist_title)s %(playlist_id)s" --no-warnings --ignore-no-formats-error -i https://www.youtube.com/@uploader_id/playlists | uniq