Feed you YouTube addiction, locally.
Clone this repository and install with pip
:
git clone https://github.com/scolby33/youtube_feeder.git cd youtube_feeder pip install .
youtube_feeder
takes two inputs: a general configuration file and an
OPML file with the list of channels to download from.
Prepare the configuration file with contents along these lines and store it as
config.json
in the
"app dir"
appropriate for your system.:
{ "settings": { "subscriptions_file": "/full/path/to/subscriptions.opml", "output_directory": "/full/path/to/video/output", "advanced_sorting": true } }
By default youtube_feeder
sorts videos into folders under the
output_directory
named after the channel they were downloaded from.
If advanced_sorting
is set to true
, the program will look under
this per-channel folder for a pre-existing folder whose name matches the
beginning of the video's name. For example, "My Series: Episode 1" would be
sorted into a folder named "My Series", if it exists.
Next, obtain your subscriptions.opml
file by visiting the
YouTube Subscription Manager
and choosing the "Export subscriptions" button. Save this file to the location
defined in your config.json
.
Finally, call youtube_feeder
and, if everything has gone right, your
videos will begin to download.
If the default configuration location is inconvenient, you can use the
--config
option to point directly to the configuration file.
Additionally, the --subscriptions
and --output-directory
options can be used to override those paths. Finally, the
--advanced-sorting/--no-advanced-sorting
options can be used to override
the advanced sorting setting from the configuration file.
Contributions are welcome! There are many ways to contribute to an open-source project, but the two most common are reporting bugs and contributing code.
If you have a bug or issue to report, please visit the issues page on Github and open an issue there.
If you would like to contribute code, please open a pull request!
MIT. See the LICENSE.rst
file for more information.