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

add gitignore #4

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Audio downloads from youtube-dl
Video downloads from youtube-dl
.DS_Store
34 changes: 20 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
# YDL
## YouTube Downloader (Synchronous)

A Python script to download Audio, Video and Playlist of audio and video files just by providing the URL and get them at the best quality.

### For Asynchrnous go [here](https://github.com/greed2411/YDL/tree/ydl-async)


> For **Asynchrnous** go [here](https://github.com/greed2411/YDL/tree/ydl-async)



## YouTube Downloader (Synchronous)

Tested and developed on ***Windows 7 32-bit SP1***, ***Ubuntu GNOME 16.04 LTS***, ***Ubuntu 16.10*** and ***macOS Sierra 10.12.5***

Expand All @@ -21,24 +26,24 @@ For Light weight script without error handling, run `ydl-lite.py`, you can skip
* [sys](https://docs.python.org/3/library/sys.html) - For exiting out of the script
* [bs4](http://beautiful-soup-4.readthedocs.io/en/latest/) - For scraping content while the user is connected to the internet or not, in case of wifi-connected , but not logged in
* [lxml](http://lxml.de/#download) - For parsing the HTML document

If you don't have either of the last two packages install them using,

```pip installation
pip install bs4
```

and

```pip installation
pip install lxml
```
***If you don't have pip3 or pip go or dunno which one to use go [here](https://stackoverflow.com/a/6587528)***

### Steps to follow for installing dependencies
* On Windows
1. Install `youtube-dl` via cmd

```youtube-dl installation
pip install youtube-dl
```
Expand All @@ -63,35 +68,36 @@ For Light weight script without error handling, run `ydl-lite.py`, you can skip

* On macOS
1. Install `youtube-dl` via terminal

```youtube-dl installation
brew install youtube-dl
brew install youtube-dl
```
```
2. Install `ffmpeg`

```ffmpeg installation
brew install ffmpeg
```
3. Run the scrpipt `ydl.py` in the terminal or the lightweight version `ydl-lite.py`.

### Possible errors:

It sometimes asks you to install 'pyattr' or the 'xattr' module, even GNU's 'attr' module by throwing an error

Simple solution :

```
pip install xattr
```

### References
* [wikiHow to Install FFmpeg on Windows](http://www.wikihow.com/Install-FFmpeg-on-Windows) - Helped me.
* [Installing FFmpeg on all kind of environments](https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg)
* [extract audio with youtube-dl on windows](https://stackoverflow.com/a/42745019) - Hack for the [issue](https://github.com/NixOS/nixpkgs/issues/5236)
* [YouTube download using youtube-dl embedded with Python - 2017](http://www.bogotobogo.com/VideoStreaming/YouTube/youtube-dl-embedding.php) pretty useful summary of important stuff mentioned from [youtube-dl's documentation](https://github.com/rg3/youtube-dl)
* [Improper documentation for Python](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/YoutubeDL.py) - You are all alone on the sea to understand the code and try if you want to use the package 'youtube_dl' , gave up trying to use the classes.
* for format conversion and extracting audio followed [this](http://www.slashgeek.net/2016/06/24/5-youtube-dl-tips-might-not-know/)

### Screenshots

![Youtube link of playlist for audio downloads URL](/../screenshots/4.png?raw=true "Ubuntu")
Expand Down