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

Auto update synchronized channel metadata (playlists, banner, avatar) #5348

Open
emansom opened this issue Oct 11, 2022 · 0 comments
Open

Auto update synchronized channel metadata (playlists, banner, avatar) #5348

emansom opened this issue Oct 11, 2022 · 0 comments

Comments

@emansom
Copy link
Contributor

emansom commented Oct 11, 2022

Describe the problem to be solved

Currently when synchronizing a channel, metadata like playlists, banner, avatar from the remote channel/platform are not being synchronized.

Describe the solution you would like

Similar to #5186 periodically pull for metadata changes from the remote platform. This data is exposed via yt-dlp when not using --flat-playlist.

The data will be excessively large, reaching multitudes of tens of megabytes on large channels. Thus the YoutubeDLCLI.getInfo function will need to be changed (or a new function introduced) to buffer to storage instead and to expose the data via a stream interface to not cause excessive memory usage.

To not overexhaust platform specific API's yt-dlp will call, this data should only be retrieved after initial synchronization and videos import, and then on a daily basis.

yt-dlp supports passing some platform specific tokens to reach beyond those limits, supporting those would aid users that wish to decrease that time window.

Store a local BLAKE2b hash for each of the playlist, banner and avatar synchronized metadata, compare this hash during periodical pull of remote metadata and modify the locally stored metadata if they don't match.

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

No branches or pull requests

2 participants