Skip to content
YouTube Playlist Watcher and Downloader
Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Cargo.toml
LICENSE
README.md
config.example.json

README.md

watchyou

YouTube Playlist Watcher and Downloader

You may refer to my blog post for more details

Some functionalities are worked in progress.

Welcome PR 🎉

Usage

Create a public YouTube playlist and get its URL, for exmaple

https://www.youtube.com/playlist?list=PLmPVZgHRcD6ZzbLAxHcP5FJRUOsUP5g4G

Then copy config.exmaple.json to config.json

Set playlist to your own playlist URL.

[
    {
        "playlist": "https://www.youtube.com/playlist?list=PLmPVZgHRcD6ZzbLAxHcP5FJRUOsUP5g4G",
        "interval": 10,
        "saveto": "/Users/cocoa/YouTube",
        "downloader": "default",
        "post_download": "export videofile=$filename; export ext=$extension; ffmpeg -i $videofile -acodec aac -vcodec copy ${videofile%%$extension}.mp4",
        "proxy": "http://127.0.0.1:1087",
        "allow_fallback": true
    }
]

This program will check playlist every interval minutes.

saveto specifies which directory you'd like to save these videos.

downloader, not used yet.

post_download, actually, this parameter is also unused.

proxy, set proxy to access YouTube and its API

allow_fallback, whether we are allowed to access YouTube directly if reqwest cannot handle your proxy

Also you can watch multiple playlists

[
    {
        "playlist": "https://www.youtube.com/playlist?list=PLmPVZgHRcD6ZzbLAxHcP5FJRUOsUP5g4G",
        "interval": 10,
        "saveto": "/Users/cocoa/YouTube/list1",
        "downloader": "default",
        "post_download": "export videofile=$filename; export ext=$extension; ffmpeg -i $videofile -acodec aac -vcodec copy ${videofile%%$extension}.mp4",
        "proxy": "http://127.0.0.1:1087",
        "allow_fallback": true
    },
    {
        "playlist": "https://www.youtube.com/playlist?list=PLmPVZgHRcD6ZzbLAxHcP5FJRUOsUP5g4G",
        "interval": 5,
        "saveto": "/Users/cocoa/YouTube/list2",
        "downloader": "default",
        "post_download": "export videofile=$filename; export ext=$extension; ffmpeg -i $videofile -acodec aac -vcodec copy ${videofile%%$extension}.mp4",
        "proxy": "http://127.0.0.1:1087",
        "allow_fallback": true
    }
]
You can’t perform that action at this time.