An automation service to download videos from Youtube
Project description
# YoutubeDownloader
**YoutubeDownloader** is an automated service to download multiple youtube videos at a time.
## About
**YoutubeDownloader** is written in `Python`. It uses ``Asynchronous Python Multiprocessing`` at its heart which facilitates user to download more than one video at a time.
**YoutubeDownloader** must use a configuration file. It supports a YAML / JSON format of configuration file. This configuration file gives structure and usability to the service. It defines what **videos/playlists** needs to be downloaded and how they are going to be stored.
## Configuration Syntax
**YoutubeDownloader** supports YAML / JSON configuration formats. **YoutubeDownloader** prefers YAML more than JSON. Below is the snippet of sample configurations in YAML / JSON format.
```
settings:
process: 2
download:
mostlyinsane:
dirname: '../mostlyinsane'
videos:
- 'https://www.youtube.com/watch?v=vcKPjDUc5EQ'
trippling:
dirname: 'trippling'
playlists: 'https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7'
official-ceogiri:
dirname: 'official-ceogiri'
playlists:
- 'https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7'
```
```
{
"settings": {
"process": 5
},
"download": {
"mostlyinsane": {
"dirname": "../mostlyinsane",
"videos": [
"https://www.youtube.com/watch?v=vcKPjDUc5EQ"
]
},
"trippling": {
"dirname": "trippling",
"playlists": "https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7"
},
"official-ceogiri": {
"dirname": "official-ceogiri",
"playlists": [
"https://www.youtube.com/watch?list=PLTB0eCoUXEraZe3d7fJRdB-znE5D0cMZ7"
]
}
}
}
```
`settings` defines service level variables.
- `process` to force **YoutubeDownloader** to use `Asynchronous Python Multiprocessing` and tells how many processes should be deployed to download **videos/playlists** at a time.
`download` defines what **videos/playlists** to download. It tags **dirnames** with **videos/playlists** internally and store the downloaded **videos/playlists** in the respective **directory**.
- `dirname` **relative / absolute directory path** to store videos in.
- `videos` **single / array of youtube videos link** to download.
- `playlists` **single / array of youtube playlists link** to download.
## Install
This is a pure-Python package built for Python 2.6+ and Python 3.0+. To set up:
```
sudo pip install ytdownloader
```
## Options
```
ytdownloader --help
```
[reference]: https://github.com/mukultaneja/YoutubeDownloader/raw/master/ "YoutubeDownloader Reference"
- `config` specifies the location for the configuration file to **YoutubeDownloader**. If it omits, **YoutubeDownloader** looks in the current directory for the configuration file.
- `--version` specifies the currect version of **YoutubeDownloader**.
- `--about` about text for **YoutubeDownloader**
## Usage
```
ytdownloader --version // latest version of ytdownloader
```
```
ytdownloader --about // about text for ytdownloader
```
```
ytdownloader // start the ytdownloader and search config file in current directory
```
```
ytdownloader docs/config.yaml // start the ytdownloader and use docs/config.yaml as config file
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ytdownloader-0.1.11.tar.gz
(5.8 kB
view hashes)
Built Distribution
Close
Hashes for ytdownloader-0.1.11-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f389a8f7990be33f8599a28e157367493c61ca07e5cebbb31097a01f00df80e2 |
|
MD5 | 1a0de0a13358108880a0d677ab205037 |
|
BLAKE2b-256 | c61841662b5986e561297bcfa8521490fff43c714bbd05ca7361edff34c3bfb8 |