/YTWebPlayer

Primary LanguagePHPGNU General Public License v2.0GPL-2.0

YouTube Downloader

Author Source Code Software License Build Status Gitter

PHP Scripts to download videos from YouTube.

NOTE: YouTube Downloader does not work with videos using a cipher signature.

See jeckman/YouTube-Downloader#9

Goals

  • Create a library that delivers data and download links for youtube videos.
  • Create a UI for downloading the videos.
  • Have no external dependencies to other services.
  • Have no external dependencies to other libraries in production.
  • Installation should be foolproof (unzip on server and go)

Requirements

You must fit at least this requirements to use YouTube-Downloader:

  • Web server (Apache/Nginx/PHP built-in)
  • PHP >= 5.4

Installation

There are multiple ways to set up YouTube-Downloader

ZIP Download

Git

  • Clone the code on your server with $ git clone https://github.com/jeckman/YouTube-Downloader.git
  • Open the folder with your browser

Composer

The library code can be used in other projects via Composer.

The code isn't available on packagist.org at the moment, so you must add the repository in your composer.json. Your composer.json should look like this

{
	"require": {
		"jeckman/YouTube-Downloader": "^0.1"
	},
	"repositories": [
		{"type": "vcs", "url": "https://github.com/jeckman/YouTube-Downloader"}
	]
}

Now install the dependencies with $ composer update

Usage

You can manually visit a web form (the index.php file), enter a YouTube video id, and get in return a list of links showing the various formats in which that video can be downloaded. You can simply choose "save link as" or the equivalent to download the file.

Second, you can directly target the getvideo.php script, passing in a videoID and preferred format, and you will get redirected to the file itself.

http://example.com/yt/getvideo.mp4?videoid=GkvvH8pBoTg&format=ipad

Potential formats:

  • best = just give me the largest file / best quality
  • free = give the largest version including WebM, lower priority to FLV
  • ipad = ignore WebM and FLV, look for best MP4 file

You can also pass in a specific format number, if you know it.

Note this approach, because it redirects you to the file itself, currently bypasses the proxy option, so if your browser/server setup requires the proxy to work these will fail.

Upgrading

ZIP Download

Git

$ git remote update
$ git pull origin master

Contributing

You can help making this project better by reporting bugs or submitting pull requests. Please see our contributing guideline for more information.