meeb / tubesync

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

Youtube error while downloading #520

Closed maanich closed 2 months ago

maanich commented 3 months ago

found this error since two days while downloading any playlist from youtube

ERROR: [youtube] yJPjsrw_vvU: Sign in to confirm youâre not a bot. This helps protect our community. Learn more
https://www.youtube.com/watch?v=yJPjsrw_vvU

meeb commented 3 months ago

This isn't a tubesync issue, this is YouTube flagging your IP or YouTube account (if you were passing cookies.txt file in). See:

https://github.com/yt-dlp/yt-dlp/issues/10128

If you are using cookies.txt try removing this and changing your public IP. Edit: or try using a VPN.

meeb commented 2 months ago

I'll close this for now as it's not something to do with tubesync and I can't assist further.

timwhite commented 1 month ago

Looking at the recent changes, (https://github.com/yt-dlp/yt-dlp/pull/10648), we may finally be able to get around this. However, I think a key factor with all of this, is speed. We probably need to consider how we can rate limit ourselves. Essentially anything that hits Youtube, we should record when we last performed an action that talks to youtube, and if it's "too soon" then we should wait before we perform the next action. This does mean for really large channels we may never finish before the next reindex, but they may be better than the current situation of being blocked.

meeb commented 1 month ago

Some sort of "only one download per hour" toggle might help, but ideally this is an arms race I probably don't want to get involved in really beyond pulling in the latest yt-dlp release. Indexing channels past the first index doesn't really cause any load or excessive requests. If at some point it becomes impossible to initially index large channels then adding in excessive delays could help but as you mention it'll make adding large channels take potentially weeks.