Bug#888237: Support file renames better
Chris Lamb
lamby at debian.org
Wed Jan 24 06:10:28 UTC 2018
Source: diffoscope
Version: 78
Severity: wishlist
Owner: Marc MERLIN <marc at merlins.org>
X-Debbugs-Cc: Marc MERLIN <marc at merlins.org>
----- Original message -----
From: Marc MERLIN <marc at merlins.org>
To: lamby at debian.org
Subject: diffoscope and file renames
Date: Wed, 24 Jan 2018 16:21:28 +1100
Hi,
Thanks for your talk today.
I just tried this on debian:
saruman:~$ diffoscope --version
diffoscope 78
diffoscope youtube-dl_2014.07.15-1_all.deb youtube-dl_2017.02.07-1_all.deb > /tmp/diff
It didn't seem to track renames and show a diff:
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3657 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9123 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bilibili.py
I'm attaching the files if that helps
Thanks,
Marc
--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | PGP 1024R/763BE901
-------------- next part --------------
--- youtube-dl_2014.07.15-1_all.deb
+++ youtube-dl_2017.02.07-1_all.deb
├── file list
│ @@ -1,3 +1,3 @@
│ --rw-r--r-- 0 0 0 4 2014-07-16 01:34:09.000000 debian-binary
│ --rw-r--r-- 0 0 0 13509 2014-07-16 01:34:09.000000 control.tar.gz
│ --rw-r--r-- 0 0 0 299080 2014-07-16 01:34:10.000000 data.tar.xz
│ +-rw-r--r-- 0 0 0 4 2017-02-09 07:39:37.000000 debian-binary
│ +-rw-r--r-- 0 0 0 27457 2017-02-09 07:39:37.000000 control.tar.gz
│ +-rw-r--r-- 0 0 0 832460 2017-02-09 07:39:37.000000 data.tar.xz
├── control.tar.gz
├── metadata
│ │ @@ -1 +1 @@
│ │ -gzip compressed data, max speed, from Unix
│ │ +gzip compressed data, max compression, from Unix
├── 1-content
├── file list
│ │ │ @@ -1,6 +1,7 @@
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:09.000000 ./
│ │ │ --rwxr-xr-x 0 root (0) root (0) 257 2014-07-16 01:34:09.000000 ./prerm
│ │ │ --rw-r--r-- 0 root (0) root (0) 32052 2014-07-16 01:34:09.000000 ./md5sums
│ │ │ --rw-r--r-- 0 root (0) root (0) 5042 2014-07-16 01:34:09.000000 ./control
│ │ │ --rw-r--r-- 0 root (0) root (0) 50 2014-07-16 01:34:09.000000 ./conffiles
│ │ │ --rwxr-xr-x 0 root (0) root (0) 160 2014-07-16 01:34:09.000000 ./postinst
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12531 2017-02-09 07:39:37.000000 ./control
│ │ │ +-rw-r--r-- 0 root (0) root (0) 70842 2017-02-09 07:39:37.000000 ./md5sums
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 519 2017-02-09 07:39:37.000000 ./postinst
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 367 2017-02-09 07:39:37.000000 ./postrm
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 367 2017-02-09 07:39:37.000000 ./preinst
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 745 2017-02-09 07:39:37.000000 ./prerm
├── ./prerm
│ │ │ @@ -1,14 +1,18 @@
│ │ │ #!/bin/sh
│ │ │ set -e
│ │ │ +# Automatically added by dh_installdeb
│ │ │ +dpkg-maintscript-helper rm_conffile /etc/fish/completions/youtube-dl.fish 2016.08.17-1~ -- "$@"
│ │ │ +# End automatically added section
│ │ │ +# Automatically added by dh_installdeb
│ │ │ +dpkg-maintscript-helper rm_conffile /etc/bash_completion.d/youtube-dl.bash-completion 2016.08.17-1~ -- "$@"
│ │ │ +# End automatically added section
│ │ │
│ │ │ -# Automatically added by dh_python2:
│ │ │ -if which pyclean >/dev/null 2>&1; then
│ │ │ - pyclean -p youtube-dl
│ │ │ +# Automatically added by dh_python3:
│ │ │ +if which py3clean >/dev/null 2>&1; then
│ │ │ + py3clean -p youtube-dl
│ │ │ else
│ │ │ - dpkg -L youtube-dl | grep \.py$ | while read file
│ │ │ - do
│ │ │ - rm -f "${file}"[co] >/dev/null
│ │ │ - done
│ │ │ + dpkg -L youtube-dl | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach glob($_)'
│ │ │ + find /usr/lib/python3/dist-packages/ -type d -name __pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir
│ │ │ fi
│ │ │
│ │ │ # End automatically added section
├── ./md5sums
├── md5sums
│┄ Files in package differ
├── line order
│ │ │ │ @@ -1,328 +1,738 @@
│ │ │ │ usr/bin/youtube-dl
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/PKG-INFO
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/SOURCES.txt
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/dependency_links.txt
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/entry_points.txt
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/top_level.txt
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/FileDownloader.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/__init__.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/__main__.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/aes.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/__init__.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/common.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/f4m.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/hls.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/http.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/mplayer.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/downloader/rtmp.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/__init__.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/academicearth.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/addanime.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/aftonbladet.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/allocine.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/anitube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/aol.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/aparat.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/appletrailers.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/archiveorg.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ard.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/arte.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/auengine.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bambuser.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bandcamp.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bbccouk.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/blinkx.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bliptv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/bloomberg.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/br.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/breakcom.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/brightcove.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/byutv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/c56.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/canal13cl.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/canalc2.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/canalplus.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cbsnews.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ceskatelevize.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/channel9.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/chilloutzone.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cinemassacre.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/clipfish.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cliphunter.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/clipsyndicate.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/clubic.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cmt.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cnet.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cnn.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/collegehumor.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/comedycentral.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/condenast.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/criterion.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/crunchyroll.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/cspan.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/d8.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/dailymotion.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/daum.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/defense.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/discovery.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/divxstage.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/dotsub.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/dreisat.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/dropbox.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/drtv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ebaumsworld.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ehow.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/eighttracks.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/eitb.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/elpais.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/empflix.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/engadget.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/escapist.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/everyonesmixtape.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/exfm.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/extremetube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/facebook.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/faz.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/fc2.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/firedrive.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/firstpost.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/firsttv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/fivemin.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/fktv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/flickr.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/fourtube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/franceculture.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/franceinter.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/francetv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/freesound.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/freespeech.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/funnyordie.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/gamekings.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/gameone.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/gamespot.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/gametrailers.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/gdcvault.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/generic.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/googleplus.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/googlesearch.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/gorillavid.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/goshgay.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/hark.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/helsinki.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/hentaistigma.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/hotnewhiphop.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/howcast.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/huffpost.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/hypem.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/iconosquare.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ign.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/imdb.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ina.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/infoq.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/instagram.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/internetvideoarchive.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/iprima.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ivi.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/jadorecettepub.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/jeuxvideo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/jpopsukitv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/jukebox.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/justintv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/kankan.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/keek.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/keezmovies.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/khanacademy.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/kickstarter.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/kontrtube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ku6.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/la7.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/lifenews.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/liveleak.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/livestream.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/lynda.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/m6.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/macgamestore.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mailru.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/malemotion.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mdr.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/metacafe.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/metacritic.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mit.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mixcloud.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mofosex.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mooshare.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/morningstar.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/motherless.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/motorsport.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/moviezine.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/movshare.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mpora.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/mtv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/musicplayon.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/muzu.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/myspace.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/myspass.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/myvideo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/naver.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nba.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nbc.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ndr.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ndtv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/newgrounds.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/newstube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nfb.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nhl.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/niconico.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ninegag.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/noco.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/normalboots.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/novamov.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nowness.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nowvideo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/npo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nrk.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ntv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nuvid.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/nytimes.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/oe1.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ooyala.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/orf.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/parliamentliveuk.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/pbs.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/photobucket.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/playvid.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/podomatic.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/pornhd.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/pornhub.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/pornotube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/prosiebensat1.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/pyvideo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/radiofrance.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rai.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rbmaradio.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/redtube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/reverbnation.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ringtv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ro220.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rottentomatoes.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/roxwel.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rtbf.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rtlnow.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rts.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rtve.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ruhd.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rutube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/rutv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/savefrom.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/scivee.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/screencast.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/servingsys.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/sina.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/slideshare.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/slutload.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/smotri.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/sohu.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/soundcloud.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/soundgasm.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/southpark.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/space.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/spankwire.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/spiegel.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/spiegeltv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/spike.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/stanfordoc.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/steam.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/streamcloud.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/streamcz.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/subtitles.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/swrmediathek.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/syfy.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/sztvhu.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tagesschau.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/teachertube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/teachingchannel.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/teamcoco.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/techtalks.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ted.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tenplay.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/testurl.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tf1.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/theplatform.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/thisav.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tinypic.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tlc.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/toutv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/toypics.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/traileraddict.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/trilulilu.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/trutube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tube8.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tudou.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tumblr.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tutv.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tvigle.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/tvp.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/udemy.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/unistra.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/urort.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/ustream.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vbox7.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/veehd.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/veoh.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vesti.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vevo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vh1.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/viddler.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videobam.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videodetective.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videofyme.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videolecturesnet.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videopremium.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videott.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/videoweed.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/viki.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vimeo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vimple.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vine.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vk.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vodlocker.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vuclip.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/vulture.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/washingtonpost.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/wat.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/wdr.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/weibo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/wimp.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/wistia.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/worldstarhiphop.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/wrzuta.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/xbef.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/xhamster.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/xnxx.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/xtube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/xvideos.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/yahoo.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/youjizz.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/youku.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/youporn.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/extractor/zdf.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/__init__.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/atomicparsley.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/common.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/ffmpeg.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/xattrpp.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/update.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/utils.py
│ │ │ │ -usr/lib/python2.7/dist-packages/youtube_dl/version.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/PKG-INFO
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/dependency_links.txt
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/entry_points.txt
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/top_level.txt
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/__init__.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/__main__.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/aes.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/cache.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/compat.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/__init__.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/common.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/dash.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/external.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/f4m.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/fragment.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/hls.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/http.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/ism.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/rtmp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/downloader/rtsp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/__init__.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/abc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/abcnews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/abcotvs.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/academicearth.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/acast.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/addanime.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/adobepass.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/adobetv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/adultswim.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/aenetworks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/afreecatv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/airmozilla.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/aljazeera.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/allocine.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/alphaporno.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/amcnetworks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/amp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/animeondemand.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/anitube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/anvato.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/anysex.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/aol.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/aparat.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/appleconnect.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/appletrailers.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/archiveorg.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ard.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/arkena.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/arte.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/atresplayer.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/atttechchannel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/audimedia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/audioboom.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/audiomack.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/awaan.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/azmedien.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/azubu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/baidu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bambuser.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bandcamp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bbc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/beampro.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/beatport.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/beeg.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/behindkink.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bellmedia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bet.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bigflix.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bild.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/biobiochiletv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/biqle.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bleacherreport.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/blinkx.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bloomberg.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bokecc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bpb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/br.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/bravotv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/breakcom.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/brightcove.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/buzzfeed.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/byutv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/c56.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/camdemy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/camwithher.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/canalc2.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/canalplus.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/canvas.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/carambatv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cartoonnetwork.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cbc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cbs.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cbsinteractive.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cbslocal.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cbsnews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cbssports.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ccc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ccma.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cctv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cda.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ceskatelevize.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/channel9.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/charlierose.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/chaturbate.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/chilloutzone.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/chirbit.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cinchcast.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/clipfish.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cliphunter.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cliprs.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/clipsyndicate.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/closertotruth.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cloudy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/clubic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/clyp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cmt.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cnbc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cnn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/collegerama.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/comcarcoff.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/comedycentral.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/common.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/commonmistakes.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/commonprotocols.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/condenast.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/coub.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cracked.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/crackle.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/criterion.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/crooksandliars.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/crunchyroll.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cspan.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ctsnews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ctvnews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cultureunplugged.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/curiositystream.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/cwtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dailymail.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dailymotion.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/daum.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dbtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dctp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/deezer.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/defense.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/democracynow.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dfb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dhm.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/digiteka.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/discovery.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/discoverygo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/disney.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dispeak.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dotsub.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/douyutv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dramafever.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/drbonanza.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dreisat.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dropbox.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/drtuber.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/drtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dumpert.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dvtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/dw.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/eagleplatform.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ebaumsworld.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/echomsk.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/egghead.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ehow.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/eighttracks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/einthusan.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/eitb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ellentv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/elpais.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/embedly.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/engadget.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/eporner.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/eroprofile.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/escapist.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/espn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/esri.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/europa.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/everyonesmixtape.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/expotv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/extractors.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/extremetube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/eyedotv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/facebook.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/faz.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fc2.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fczenit.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/filmon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/firstpost.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/firsttv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fivemin.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fivetv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fktv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/flickr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/flipagram.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/folketinget.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/footyroom.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/formula1.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fourtube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fox.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fox9.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/foxgay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/foxnews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/foxsports.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/franceculture.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/franceinter.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/francetv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/freesound.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/freespeech.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/funimation.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/funnyordie.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fusion.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/fxnetworks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gameinformer.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gameone.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gamersyde.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gamespot.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gamestar.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gaskrank.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gazeta.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gdcvault.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/generic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gfycat.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/giantbomb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/giga.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/glide.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/globo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/go.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/godtube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/godtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/golem.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/googledrive.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/googleplus.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/googlesearch.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/goshgay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/gputechconf.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/groupon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hark.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hbo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hearthisat.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/heise.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hellporno.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/helsinki.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hentaistigma.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hgtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/historicfilms.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hitbox.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hitrecord.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hornbunny.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hotnewhiphop.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hotstar.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/howcast.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/howstuffworks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hrti.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/huajiao.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/huffpost.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/hypem.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/iconosquare.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ign.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/imdb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/imgur.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ina.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/inc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/indavideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/infoq.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/instagram.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/internetvideoarchive.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/iprima.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/iqiyi.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ir90tv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/itv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ivi.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ivideon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/iwara.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/izlesene.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/jamendo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/jeuxvideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/jove.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/jpopsukitv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/jwplatform.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kaltura.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kamcord.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kanalplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kankan.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/karaoketv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/karrierevideos.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/keek.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/keezmovies.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ketnet.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/khanacademy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kickstarter.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/konserthusetplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kontrtube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/krasview.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ku6.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kusi.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/kuwo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/la7.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/laola1tv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lci.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lcp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/learnr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lecture2go.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/leeco.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lego.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lemonde.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/libraryofcongress.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/libsyn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lifenews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/limelight.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/litv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/liveleak.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/livestream.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lnkgo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/localnews8.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lovehomeporn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lrt.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/lynda.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/m6.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/macgamestore.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mailru.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/makerschannel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/makertv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mangomolo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/matchtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mdr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/meipai.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/melonvod.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/meta.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/metacafe.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/metacritic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mgoon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mgtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/miaopai.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/microsoftvirtualacademy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/minhateca.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ministrygrid.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/minoto.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/miomio.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mit.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mitele.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mixcloud.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mlb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mnet.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/moevideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mofosex.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mojvideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/moniker.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/morningstar.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/motherless.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/motorsport.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/movieclips.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/moviezine.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/movingimage.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mpora.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/msn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/muenchentv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/musicplayon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/mwave.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/myspace.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/myspass.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/myvi.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/myvideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/myvidster.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nationalgeographic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/naver.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nba.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nbc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ndr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ndtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nerdcubed.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/neteasemusic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/netzkino.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/newgrounds.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/newstube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nextmedia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nfb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nfl.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nhk.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nhl.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nick.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/niconico.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ninecninemedia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ninegag.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ninenow.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nintendo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nobelprize.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/noco.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/normalboots.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nosvideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nova.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/novamov.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nowness.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nowtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/noz.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/npo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/npr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nrk.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ntvde.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ntvru.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nuevo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nuvid.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nytimes.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/nzz.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/odatv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/odnoklassniki.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/oktoberfesttv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/once.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ondemandkorea.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/onet.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/onionstudios.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ooyala.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/openload.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ora.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/orf.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pandatv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pandoratv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/parliamentliveuk.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/patreon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pbs.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/people.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/periscope.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/philharmoniedeparis.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/phoenix.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/photobucket.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/piksel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pinkbike.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pladform.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/playfm.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/plays.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/playtvak.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/playvid.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/playwire.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pluralsight.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/podomatic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pokemon.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/polskieradio.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/porn91.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/porncom.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pornflip.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pornhd.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pornhub.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pornotube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pornovoisines.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pornoxo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/presstv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/primesharetv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/promptfile.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/prosiebensat1.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/puls4.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/pyvideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/qqmusic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/r7.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/radiobremen.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/radiocanada.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/radiode.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/radiofrance.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/radiojavan.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rai.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rbmaradio.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rds.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/redtube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/regiotv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rentv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/restudy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/reuters.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/reverbnation.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/revision3.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rice.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ringtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rmcdecouverte.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ro220.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rockstargames.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/roosterteeth.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rottentomatoes.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/roxwel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rozhlas.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rtbf.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rte.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rtl2.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rtlnl.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rtp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rts.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rtve.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rtvnh.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rudo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ruhd.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ruleporn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rutube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/rutv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ruutu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/safari.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sandia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sapo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/savefrom.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sbs.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/scivee.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/screencast.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/screencastomatic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/seeker.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/senateisvp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sendtonews.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/servingsys.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sexu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/shahid.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/shared.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/showroomlive.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sina.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sixplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/skynewsarabia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/skysports.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/slideshare.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/slutload.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/smotri.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/snotr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sohu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sonyliv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/soundcloud.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/soundgasm.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/southpark.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/spankbang.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/spankwire.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/spiegel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/spiegeltv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/spike.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sport5.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sportbox.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sportdeutschland.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sportschau.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/srgssr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/srmediathek.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/stanfordoc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/steam.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/stitcher.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/streamable.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/streamcloud.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/streamcz.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/streetvoice.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sunporno.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/svt.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/swrmediathek.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/syfy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/sztvhu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tagesschau.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tass.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tbs.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tdslifeway.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/teachertube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/teachingchannel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/teamcoco.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/teamfourstar.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/techtalks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ted.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tele13.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/telebruxelles.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/telecinco.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/telegraaf.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/telemb.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/telequebec.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/teletask.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/telewebion.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/testurl.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tf1.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tfo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/theintercept.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/theplatform.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/thescene.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/thesixtyone.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/thestar.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/theweatherchannel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/thisamericanlife.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/thisav.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/thisoldhouse.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/threeqsdn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tinypic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tlc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tmz.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tnaflix.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/toggle.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tonline.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/toutv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/toypics.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/traileraddict.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/trilulilu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/trutv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tube8.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tubitv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tudou.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tumblr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tunein.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/turbo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/turner.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tutv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tv2.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tv3.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tv4.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tva.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvanouvelles.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvc.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvigle.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvland.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvnoe.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tvplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/tweakers.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/twentyfourvideo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/twentymin.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/twentytwotracks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/twitch.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/twitter.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/udemy.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/udn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/uktvplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/unistra.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/uol.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/uplynk.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/urort.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/urplay.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/usanetwork.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/usatoday.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ustream.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ustudio.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/varzesh3.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vbox7.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/veehd.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/veoh.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vessel.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vesti.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vevo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vgtv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vh1.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vice.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viceland.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vidbit.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viddler.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videa.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videodetective.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videofyme.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videomega.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videomore.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videopremium.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/videopress.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vidio.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vidme.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vidzi.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vier.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viewlift.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viewster.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viidea.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viki.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vimeo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vimple.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vine.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/viu.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vk.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vlive.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vodlocker.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vodplatform.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/voicerepublic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/voxmedia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vporn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vrt.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vuclip.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vvvvid.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vyborymos.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/vzaar.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/walla.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/washingtonpost.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/wat.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/watchindianporn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/wdr.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/webcaster.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/webofstories.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/weiqitv.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/wimp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/wistia.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/worldstarhiphop.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/wrzuta.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/wsj.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xbef.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xboxclips.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xfileshare.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xhamster.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xiami.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xminus.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xnxx.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xstream.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xtube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xuite.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xvideos.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/xxxymovies.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/yahoo.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/yam.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/yandexmusic.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/yesjapan.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/yinyuetai.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/ynet.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/youjizz.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/youku.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/youporn.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/yourupload.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/zapiks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/zdf.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/extractor/zingmp3.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/jsinterp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/options.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/__init__.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/common.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/embedthumbnail.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/execafterdownload.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/ffmpeg.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/metadatafromtitle.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/postprocessor/xattrpp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/socks.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/swfinterp.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/update.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/utils.py
│ │ │ │ +usr/lib/python3/dist-packages/youtube_dl/version.py
│ │ │ │ +usr/share/bash-completion/completions/youtube-dl
│ │ │ │ usr/share/doc/youtube-dl/NEWS.Debian.gz
│ │ │ │ usr/share/doc/youtube-dl/README.txt.gz
│ │ │ │ usr/share/doc/youtube-dl/changelog.Debian.gz
│ │ │ │ +usr/share/doc/youtube-dl/changelog.gz
│ │ │ │ usr/share/doc/youtube-dl/copyright
│ │ │ │ +usr/share/fish/completions/youtube-dl.fish
│ │ │ │ usr/share/man/man1/youtube-dl.1.gz
│ │ │ │ +usr/share/zsh/vendor-completions/_youtube-dl
├── ./control
│ │ │ @@ -1,79 +1,185 @@
│ │ │ Package: youtube-dl
│ │ │ -Version: 2014.07.15-1
│ │ │ +Version: 2017.02.07-1
│ │ │ Architecture: all
│ │ │ Maintainer: Rogério Brito <rbrito at ime.usp.br>
│ │ │ -Installed-Size: 1419
│ │ │ -Depends: python-pkg-resources, python (>= 2.7), python (<< 2.8)
│ │ │ -Recommends: libav-tools | ffmpeg, libav-tools | ffmpeg (>= 4:0.6) | ffprobe, mplayer2 | mplayer, rtmpdump
│ │ │ +Installed-Size: 4556
│ │ │ +Pre-Depends: dpkg (>= 1.15.7.2)
│ │ │ +Depends: python3-pkg-resources, python3:any (>= 3.3.2-2~)
│ │ │ +Recommends: aria2 | wget | curl, ca-certificates, ffmpeg | libav-tools, mpv | mplayer, rtmpdump
│ │ │ Section: web
│ │ │ Priority: extra
│ │ │ -Homepage: http://rg3.github.com/youtube-dl/
│ │ │ +Homepage: https://rg3.github.com/youtube-dl/
│ │ │ Description: downloader of videos from YouTube and other sites
│ │ │ youtube-dl is a small command-line program to download videos from
│ │ │ YouTube.com and other sites that don't provide direct links to the
│ │ │ videos served.
│ │ │ .
│ │ │ youtube-dl allows the user, among other things, to choose a specific video
│ │ │ quality to download (if available) or let the program automatically
│ │ │ determine the best (or worst) quality video to grab. It supports
│ │ │ downloading entire playlists and all videos from a given user.
│ │ │ .
│ │ │ Currently supported sites (or features of sites) are:
│ │ │ .
│ │ │ - 1up.com, 220.ro, 3sat, 4tube, 56.com, 8tracks, 9gag, AcademicEarth:Course,
│ │ │ - AddAnime, anitube.se, Aparat, AppleTrailers, archive.org videos, ARD,
│ │ │ - arte.tv, arte.tv:+7, arte.tv:creative, arte.tv:ddc, arte.tv:future,
│ │ │ - AUEngine, bambuser, bambuser:channel, Bandcamp, Bandcamp:album, BBC iPlayer,
│ │ │ - blinkx, blip.tv:user, BlipTV, Bloomberg, Break, Brightcove, canalc2.tv,
│ │ │ - canalplus.fr, CBS, Channel 9, Chilloutzone, Cinemassacre, clipfish,
│ │ │ - cliphunter, Clipsyndicate, cmt.com, CNN, CNNBlogs, CollegeHumor,
│ │ │ - ComedyCentral, The Daily Show / Colbert Report, Condé Nast media group: GQ,
│ │ │ - Glamour, Vanity Fair, Vogue, W Magazine, WIRED, Criterion, Crunchyroll,
│ │ │ - C-SPAN, culturebox.francetvinfo.fr, d8.tv, dailymotion,
│ │ │ - dailymotion:playlist, dailymotion:user, daum.net, defense.gouv.fr,
│ │ │ - DepositFiles, Discovery, Dotsub, Dropbox, EbaumsWorld, eHow, eitb.tv, El
│ │ │ - País, Escapist, EveryonesMixtape, ex.fm, ExtremeTube, facebook, faz.net,
│ │ │ - fernsehkritik.tv, fernsehkritik.tv:postecke, Firstpost.com, Видеоархив -
│ │ │ - Первый канал, Flickr, france2.fr:generation-quoi, FranceInter, France 2, 3,
│ │ │ - 4, 5 and Ô, francetvinfo.fr, Freesound, freespeech.org, FunnyOrDie,
│ │ │ - Gamekings, GameSpot, Gametrailers, Generic downloader that works on some
│ │ │ - sites, Hark, helsinki.fi, HotNewHipHop, Howcast, Huffington Post, Hypem,
│ │ │ - ign.com, Internet Movie Database trailers, Internet Movie Database lists,
│ │ │ - Ina, InfoQ, Instagram, InternetVideoArchive, IPrima, ivi.ru, ivi.ru
│ │ │ - compilations, JadoreCettePub, JeuxVideo, jpopsuki.tv, Jukebox, justin.tv,
│ │ │ - Kankan, keek, KeezMovies, KhanAcademy, KickStarter, KontrTube.ru - Труба
│ │ │ - зовёт, la7.tv, LIFE | NEWS, LiveLeak, livestream, livestream:original,
│ │ │ - lynda.com videos, lynda.com online courses, m6, MacGameStore trailers,
│ │ │ - Malemotion, MDR, metacafe, Metacritic, mixcloud, Mofosex, Mooshare.biz,
│ │ │ - MPORA, MTV, mtviggy.com, muzu.tv, MySpace, MySpass, myvideo, Naver, NBA,
│ │ │ - NBCNews, NDR.de - Mediathek, NDTV, Newgrounds, National Film Board of
│ │ │ - Canada, nhl.com, NHL videocenter category, ニコニコ動画, Normalboots,
│ │ │ - Novamov, Nowness, NowVideo, Ooyala, ORF, PBS, photobucket, Google Plus,
│ │ │ - pluzz.francetv.fr, podomatic, PornHd, PornHub, Pornotube, Pyvideo,
│ │ │ - radiofrance, RBMARadio, RedTube, RingTV, RottenTomatoes, Roxwel, RTLnow,
│ │ │ - Rutube videos, Rutube channels, Rutube movies, Rutube person videos, Yahoo
│ │ │ - screen search (Example: "yvsearchall:purple fish" ), ServingSys, Sina,
│ │ │ - Slashdot, Slideshare, Smotri.com, Smotri.com broadcasts, Smotri.com
│ │ │ - community videos, Smotri.com user videos, Sohu, soundcloud, soundcloud:set,
│ │ │ - soundcloud:user, southpark.de, southparkstudios.com, Space, Spankwire,
│ │ │ - Spiegel, Spike, Stanford Open ClassRoom, Statigram, Steam, streamcloud.eu,
│ │ │ - StreamCZ, Syfy, SztvHu, Teamcoco, TechTalks, techtv.mit.edu, TED, TF1,
│ │ │ - ThePlatform, ThisAV, tinypic.com videos, tou.tv, Trilulilu, Tube8, Tudou,
│ │ │ - Tumblr, Tutv, tvp.pl, Unistra, ustream, ustream:channel, Vbox7, VeeHD, Veoh,
│ │ │ - Вести.Ru, Vevo, Vice, Viddler, Google Video search (Example:
│ │ │ - "gvsearch5:falling cat" ), video.mit.edu, VideoDetective, videofy.me,
│ │ │ - VideoPremium, viki, vimeo, vimeo:album, vimeo:channel, vimeo:group, Review
│ │ │ - pages on vimeo, vimeo:user, Vine, vk.com, Vube.com, wat.tv, Weibo, Wimp,
│ │ │ - Wistia, WorldStarHipHop, XHamster, XNXX, XTube, XVideos, Yahoo screen, Yahoo
│ │ │ - screen, YouJizz, Youku, YouPorn, YouTube.com, YouTube.com channels,
│ │ │ - YouTube.com favourite videos, "ytfav" keyword (requires authentication),
│ │ │ - Youtube watch history, "ythistory" keyword (requires authentication),
│ │ │ - YouTube.com playlists, YouTube.com recommended videos, "ytrec" keyword
│ │ │ - (requires authentication), YouTube.com searches (Example:
│ │ │ - "ytsearch10:running tortoise" ), YouTube.com searches, newest videos first
│ │ │ - (Example: "ytsearchdateall:falling cat" ), YouTube.com (multi-season) shows,
│ │ │ - YouTube.com subscriptions feed, "ytsubs" keyword(requires authentication),
│ │ │ - YouTube.com top lists, "yttoplist:{channel}:{list title}" (Example:
│ │ │ - "yttoplist:music:Top Tracks"), YouTube.com user videos (URL or "ytuser"
│ │ │ - keyword), Youtube watch later list, "ytwatchlater" keyword (requires
│ │ │ - authentication), ZDF.
│ │ │ + 1tv, 1up.com, 20min, 220.ro, 22tracks:genre, 22tracks:track, 24video,
│ │ │ + 3qsdn, 3sat, 4tube, 56.com, 5min, 8tracks, 91porn, 9c9media,
│ │ │ + 9c9media:stack, 9gag, 9now.com.au, abc.net.au, abc.net.au:iview, abcnews,
│ │ │ + abcnews:video, abcotvs, abcotvs:clips, AcademicEarth:Course, acast,
│ │ │ + acast:channel, AddAnime, AdobeTV, AdobeTVChannel, AdobeTVShow,
│ │ │ + AdobeTVVideo, AdultSwim, aenetworks, afreecatv, afreecatv:global,
│ │ │ + AirMozilla, AlJazeera, Allocine, AlphaPorno, AMCNetworks, anderetijden,
│ │ │ + AnimeOnDemand, anitube.se, AnySex, Aparat, AppleConnect, AppleDaily,
│ │ │ + appletrailers, appletrailers:section, archive.org, ARD, ARD:mediathek,
│ │ │ + Arkena, arte.tv, arte.tv:+7, arte.tv:cinema, arte.tv:concert,
│ │ │ + arte.tv:creative, arte.tv:ddc, arte.tv:embed, arte.tv:future, arte.tv:info,
│ │ │ + arte.tv:magazine, arte.tv:playlist, AtresPlayer, ATTTechChannel, AudiMedia,
│ │ │ + AudioBoom, audiomack, audiomack:album, auroravid, AWAAN, awaan:live,
│ │ │ + awaan:season, awaan:video, AZMedien, AZMedienPlaylist, Azubu, AzubuLive,
│ │ │ + BaiduVideo, bambuser, bambuser:channel, Bandcamp, Bandcamp:album,
│ │ │ + bangumi.bilibili.com, bbc, bbc.co.uk, bbc.co.uk:article,
│ │ │ + bbc.co.uk:iplayer:playlist, bbc.co.uk:playlist, Beam:live, Beatport, Beeg,
│ │ │ + BehindKink, BellMedia, Bet, Bigflix, Bild, BiliBili, BioBioChileTV, BIQLE,
│ │ │ + BleacherReport, BleacherReportCMS, blinkx, Bloomberg, BokeCC, Bpb, BR,
│ │ │ + BravoTV, Break, brightcove:legacy, brightcove:new, bt:article,
│ │ │ + bt:vestlendingen, BuzzFeed, BYUtv, BYUtvEvent, Camdemy, CamdemyFolder,
│ │ │ + CamWithHer, canalc2.tv, Canalplus, Canvas, CarambaTV, CarambaTVPage,
│ │ │ + CartoonNetwork, cbc.ca, cbc.ca:player, cbc.ca:watch, cbc.ca:watch:video,
│ │ │ + CBS, CBSInteractive, CBSLocal, cbsnews, cbsnews:livevideo, CBSSports, CCMA,
│ │ │ + CCTV, CDA, CeskaTelevize, channel9, CharlieRose, Chaturbate, Chilloutzone,
│ │ │ + chirbit, chirbit:profile, Cinchcast, Clipfish, cliphunter, ClipRs,
│ │ │ + Clipsyndicate, CloserToTruth, cloudtime, Cloudy, Clubic, Clyp, cmt.com,
│ │ │ + CNBC, CNN, CNNArticle, CNNBlogs, CollegeRama, ComCarCoff, ComedyCentral,
│ │ │ + ComedyCentralFullEpisodes, ComedyCentralShortname, ComedyCentralTV,
│ │ │ + CommonMistakes, CondeNast, Coub, Cracked, Crackle, Criterion,
│ │ │ + CrooksAndLiars, Crunchyroll, crunchyroll:playlist, CSNNE, CSpan, CtsNews,
│ │ │ + CTVNews, culturebox.francetvinfo.fr, CultureUnplugged, curiositystream,
│ │ │ + curiositystream:collection, CWTV, DailyMail, dailymotion,
│ │ │ + dailymotion:playlist, dailymotion:user, DailymotionCloud, daum.net,
│ │ │ + daum.net:clip, daum.net:playlist, daum.net:user, DBTV, DctpTv,
│ │ │ + DeezerPlaylist, defense.gouv.fr, democracynow, DHM, DigitallySpeaking,
│ │ │ + Digiteka, Discovery, DiscoveryGo, Disney, Dotsub, DouyuTV, DPlay,
│ │ │ + dramafever, dramafever:series, DRBonanza, Dropbox, DrTuber, drtv,
│ │ │ + drtv:live, Dumpert, dvtv, dw, dw:article, EaglePlatform, EbaumsWorld,
│ │ │ + EchoMsk, egghead:course, eHow, Einthusan, eitb.tv, EllenTV, EllenTV:clips,
│ │ │ + ElPais, Embedly, EMPFlix, Engadget, Eporner, EroProfile, Escapist, ESPN,
│ │ │ + ESPNArticle, EsriVideo, Europa, EveryonesMixtape, ExpoTV, ExtremeTube,
│ │ │ + EyedoTV, facebook, FacebookPluginsVideo, faz.net, fc2, fc2:embed, Fczenit,
│ │ │ + fernsehkritik.tv, filmon, filmon:channel, Firstpost, FiveTV, Flickr,
│ │ │ + Flipagram, Folketinget, FootyRoom, Formula1, FOX, FOX9, Foxgay, foxnews,
│ │ │ + foxnews:article, foxnews:insider, FoxSports, france2.fr:generation-quoi,
│ │ │ + FranceCulture, FranceInter, francetv, francetvinfo.fr, Freesound,
│ │ │ + freespeech.org, Funimation, FunnyOrDie, Fusion, FXNetworks, GameInformer,
│ │ │ + GameOne, gameone:playlist, Gamersyde, GameSpot, GameStar, Gaskrank, Gazeta,
│ │ │ + GDCVault, generic, Gfycat, GiantBomb, Giga, Glide, Globo, GloboArticle, Go,
│ │ │ + GodTube, GodTV, Golem, GoogleDrive, Goshgay, GPUTechConf, Groupon, Hark,
│ │ │ + HBO, HBOEpisode, HearThisAt, Heise, HellPorno, Helsinki, HentaiStigma,
│ │ │ + HGTV, hgtv.com:show, HistoricFilms, history:topic, hitbox, hitbox:live,
│ │ │ + HitRecord, HornBunny, HotNewHipHop, HotStar, Howcast, HowStuffWorks, HRTi,
│ │ │ + HRTiPlaylist, Huajiao, HuffPost, Hypem, Iconosquare, ign.com, imdb,
│ │ │ + imdb:list, Imgur, ImgurAlbum, Ina, Inc, Indavideo, IndavideoEmbed, InfoQ,
│ │ │ + Instagram, instagram:user, InternetVideoArchive, IPrima, iqiyi, Ir90Tv,
│ │ │ + ITV, ivi, ivi:compilation, ivideon, Iwara, Izlesene, Jamendo, JamendoAlbum,
│ │ │ + JeuxVideo, Jove, jpopsuki.tv, JWPlatform, Kaltura, Kamcord, KanalPlay,
│ │ │ + Kankan, Karaoketv, KarriereVideos, keek, KeezMovies, Ketnet, KhanAcademy,
│ │ │ + KickStarter, KonserthusetPlay, kontrtube, KrasView, Ku6, KUSI, kuwo:album,
│ │ │ + kuwo:category, kuwo:chart, kuwo:mv, kuwo:singer, kuwo:song, la7.it,
│ │ │ + laola1tv, laola1tv:embed, LCI, Lcp, LcpPlay, Le, Learnr, Lecture2Go, LEGO,
│ │ │ + Lemonde, LePlaylist, LetvCloud, Libsyn, life, life:embed, limelight,
│ │ │ + limelight:channel, limelight:channel_list, LiTV, LiveLeak, livestream,
│ │ │ + livestream:original, livestream:shortener, LnkGo, loc, LocalNews8,
│ │ │ + LoveHomePorn, lrt.lt, lynda, lynda:course, m6, macgamestore, mailru,
│ │ │ + MakersChannel, MakerTV, mangomolo:live, mangomolo:video, MatchTV, MDR,
│ │ │ + media.ccc.de, Meipai, MelonVOD, META, metacafe, Metacritic, Mgoon, MGTV,
│ │ │ + MiaoPai, Minhateca, MinistryGrid, Minoto, miomio.tv, MiTele, mixcloud,
│ │ │ + mixcloud:playlist, mixcloud:stream, mixcloud:user, MLB, Mms, Mnet,
│ │ │ + MoeVideo, Mofosex, Mojvideo, Moniker, Morningstar, Motherless, Motorsport,
│ │ │ + MovieClips, MovieFap, Moviezine, MovingImage, MPORA, MSN, mtg, mtv, mtv.de,
│ │ │ + mtv81, mtv:video, mtvservices:embedded, MuenchenTV, MusicPlayOn, mva,
│ │ │ + mva:course, Mwave, MwaveMeetGreet, MySpace, MySpace:album, MySpass, Myvi,
│ │ │ + myvideo (CURRENTLY BROKEN), MyVidster, n-tv.de, natgeo,
│ │ │ + natgeo:episodeguide, natgeo:video, Naver, NBA, NBC, NBCNews, NBCOlympics,
│ │ │ + NBCSports, NBCSportsVPlayer, ndr, ndr:embed, ndr:embed:base, NDTV,
│ │ │ + NerdCubedFeed, netease:album, netease:djradio, netease:mv,
│ │ │ + netease:playlist, netease:program, netease:singer, netease:song, Netzkino,
│ │ │ + Newgrounds, Newstube, NextMedia, NextMediaActionNews, NextTV, nfb, nfl.com,
│ │ │ + NhkVod, nhl.com, nhl.com:news, nhl.com:videocenter,
│ │ │ + nhl.com:videocenter:category, nick.com, nick.de, nicknight, niconico,
│ │ │ + NiconicoPlaylist, Nintendo, njoy, njoy:embed, NobelPrize, Noco,
│ │ │ + Normalboots, NosVideo, Nova, nowness, nowness:playlist, nowness:series,
│ │ │ + NowTV (CURRENTLY BROKEN), NowTVList, nowvideo, Noz, npo, npo.nl:live,
│ │ │ + npo.nl:radio, npo.nl:radio:fragment, Npr, NRK, NRKPlaylist, NRKSkole,
│ │ │ + NRKTV, NRKTVDirekte, NRKTVEpisodes, NRKTVSeries, ntv.ru, Nuvid, NYTimes,
│ │ │ + NYTimesArticle, NZZ, ocw.mit.edu, OdaTV, Odnoklassniki, OktoberfestTV,
│ │ │ + on.aol.com, OnDemandKorea, onet.tv, onet.tv:channel, OnionStudios, Ooyala,
│ │ │ + OoyalaExternal, Openload, OraTV, orf:fm4, orf:iptv, orf:oe1, orf:tvthek,
│ │ │ + PandaTV, pandora.tv, parliamentlive.tv, Patreon, pbs, pcmag, People,
│ │ │ + periscope, periscope:user, PhilharmonieDeParis, phoenix.de, Photobucket,
│ │ │ + Piksel, Pinkbike, Pladform, play.fm, PlaysTV, Playtvak, Playvid, Playwire,
│ │ │ + pluralsight, pluralsight:course, plus.google, pluzz.francetv.fr, podomatic,
│ │ │ + Pokemon, PolskieRadio, PolskieRadioCategory, PornCom, PornFlip, PornHd,
│ │ │ + PornHub, PornHubPlaylist, PornHubUserVideos, Pornotube, PornoVoisines,
│ │ │ + PornoXO, PressTV, PrimeShareTV, PromptFile, prosiebensat1, Puls4, Pyvideo,
│ │ │ + qqmusic, qqmusic:album, qqmusic:playlist, qqmusic:singer, qqmusic:toplist,
│ │ │ + R7, R7Article, radio.de, radiobremen, radiocanada, RadioCanadaAudioVideo,
│ │ │ + radiofrance, RadioJavan, Rai, RaiTV, RBMARadio, RDS, RedTube, RegioTV,
│ │ │ + RENTV, RENTVArticle, Restudy, Reuters, ReverbNation, revision,
│ │ │ + revision3:embed, RICE, RingTV, RMCDecouverte, RockstarGames, RoosterTeeth,
│ │ │ + RottenTomatoes, Roxwel, Rozhlas, RTBF, rte, rte:radio, rtl.nl, RTL2, Rtmp,
│ │ │ + RTP, RTS, rtve.es:alacarta, rtve.es:infantil, rtve.es:live,
│ │ │ + rtve.es:television, RTVNH, Rudo, RUHD, RulePorn, rutube, rutube:channel,
│ │ │ + rutube:embed, rutube:movie, rutube:person, RUTV, Ruutu, safari, safari:api,
│ │ │ + safari:course, Sandia, Sapo, savefrom.net, SBS, schooltv, SciVee,
│ │ │ + screen.yahoo:search, Screencast, ScreencastOMatic, Seeker, SenateISVP,
│ │ │ + SendtoNews, ServingSys, Sexu, Shahid, Shared, ShowRoomLive, Sina, SixPlay,
│ │ │ + skynewsarabia:article, skynewsarabia:video, SkySports, Slideshare,
│ │ │ + Slutload, smotri, smotri:broadcast, smotri:community, smotri:user, Snotr,
│ │ │ + Sohu, SonyLIV, soundcloud, soundcloud:playlist, soundcloud:search,
│ │ │ + soundcloud:set, soundcloud:user, soundgasm, soundgasm:profile,
│ │ │ + southpark.cc.com, southpark.cc.com:español, southpark.de, southpark.nl,
│ │ │ + southparkstudios.dk, SpankBang, Spankwire, Spiegel, Spiegel:Article,
│ │ │ + Spiegeltv, Spike, Sport5, SportBoxEmbed, SportDeutschland, Sportschau,
│ │ │ + sr:mediathek, SRGSSR, SRGSSRPlay, stanfordoc, Steam, Stitcher, Streamable,
│ │ │ + streamcloud.eu, StreamCZ, StreetVoice, SunPorno, SVT, SVTPlay,
│ │ │ + SWRMediathek, Syfy, SztvHu, t-online.de, Tagesschau, tagesschau:player,
│ │ │ + Tass, TBS, TDSLifeway, teachertube, teachertube:user:collection,
│ │ │ + TeachingChannel, Teamcoco, TeamFourStar, TechTalks, techtv.mit.edu, ted,
│ │ │ + Tele13, TeleBruxelles, Telecinco, Telegraaf, TeleMB, TeleQuebec, TeleTask,
│ │ │ + Telewebion, TestURL, TF1, TFO, TheIntercept, theoperaplatform, ThePlatform,
│ │ │ + ThePlatformFeed, TheScene, TheSixtyOne, TheStar, TheWeatherChannel,
│ │ │ + ThisAmericanLife, ThisAV, ThisOldHouse, tinypic, tlc.de, TMZ, TMZArticle,
│ │ │ + TNAFlix, TNAFlixNetworkEmbed, toggle, Tosh, tou.tv, Toypics, ToypicsUser,
│ │ │ + TrailerAddict (CURRENTLY BROKEN), Trilulilu, TruTV, Tube8, TubiTv, tudou,
│ │ │ + tudou:album, tudou:playlist, Tumblr, tunein:clip, tunein:program,
│ │ │ + tunein:shortener, tunein:station, tunein:topic, Turbo, Tutv, tv.dfb.de,
│ │ │ + TV2, TV2Article, TV3, TV4, TVA, TVANouvelles, TVANouvellesArticle, TVC,
│ │ │ + TVCArticle, tvigle, tvland.com, TVNoe, tvp, tvp:embed, tvp:series,
│ │ │ + Tweakers, twitch:chapter, twitch:clips, twitch:profile, twitch:stream,
│ │ │ + twitch:video, twitch:videos:all, twitch:videos:highlights,
│ │ │ + twitch:videos:past-broadcasts, twitch:videos:uploads, twitch:vod, twitter,
│ │ │ + twitter:amplify, twitter:card, udemy, udemy:course, UDNEmbed, UKTVPlay,
│ │ │ + UnicodeBOM, Unistra, uol.com.br, uplynk, uplynk:preplay, Urort, URPlay,
│ │ │ + USANetwork, USAToday, ustream, ustream:channel, ustudio, ustudio:embed,
│ │ │ + Varzesh3, Vbox7, VeeHD, Veoh, Vessel, Vesti, Vevo, VevoPlaylist, VGTV,
│ │ │ + vh1.com, Viafree, Vice, Viceland, ViceShow, Vidbit, Viddler, Videa,
│ │ │ + video.google:search, video.mit.edu, VideoDetective, videofy.me, VideoMega,
│ │ │ + videomore, videomore:season, videomore:video, VideoPremium, VideoPress,
│ │ │ + videoweed, Vidio, vidme, vidme:user, vidme:user:likes, Vidzi, vier,
│ │ │ + vier:videos, ViewLift, ViewLiftEmbed, Viewster, Viidea, viki, viki:channel,
│ │ │ + vimeo, vimeo:album, vimeo:channel, vimeo:group, vimeo:likes,
│ │ │ + vimeo:ondemand, vimeo:review, vimeo:user, vimeo:watchlater, Vimple, Vine,
│ │ │ + vine:user, Viu, viu:ott, viu:playlist, Vivo, vk, vk:uservideos,
│ │ │ + vk:wallpost, vlive, vlive:channel, Vodlocker, VODPlatform, VoiceRepublic,
│ │ │ + VoxMedia, Vporn, vpro, VRT, vube, VuClip, VVVVID, VyboryMos, Vzaar, Walla,
│ │ │ + washingtonpost, washingtonpost:article, wat.tv, WatchIndianPorn, WDR,
│ │ │ + wdr:mobile, Webcaster, WebcasterFeed, WebOfStories, WebOfStoriesPlaylist,
│ │ │ + WeiqiTV, wholecloud, Wimp, Wistia, wnl, WorldStarHipHop, wrzuta.pl,
│ │ │ + wrzuta.pl:playlist, WSJ, XBef, XboxClips, XFileShare, XHamster,
│ │ │ + XHamsterEmbed, xiami:album, xiami:artist, xiami:collection, xiami:song,
│ │ │ + XMinus, XNXX, Xstream, XTube, XTubeUser, Xuite, XVideos, XXXYMovies, Yahoo,
│ │ │ + Yam, yandexmusic:album, yandexmusic:playlist, yandexmusic:track, YesJapan,
│ │ │ + yinyuetai:video, Ynet, YouJizz, youku, youku:show, YouPorn, YourUpload,
│ │ │ + youtube, youtube:channel, youtube:favorites, youtube:history, youtube:live,
│ │ │ + youtube:playlist, youtube:playlists, youtube:recommended, youtube:search,
│ │ │ + youtube:search:date, youtube:search_url, youtube:shared, youtube:show,
│ │ │ + youtube:subscriptions, youtube:truncated_id, youtube:truncated_url,
│ │ │ + youtube:user, youtube:watchlater, Zapiks, ZDF, ZDFChannel, zingmp3
├── ./postinst
│ │ │ @@ -1,9 +1,15 @@
│ │ │ #!/bin/sh
│ │ │ set -e
│ │ │
│ │ │ -# Automatically added by dh_python2:
│ │ │ -if which pycompile >/dev/null 2>&1; then
│ │ │ - pycompile -p youtube-dl
│ │ │ +# Automatically added by dh_python3:
│ │ │ +if which py3compile >/dev/null 2>&1; then
│ │ │ + py3compile -p youtube-dl -V 3.2-
│ │ │ fi
│ │ │
│ │ │ # End automatically added section
│ │ │ +# Automatically added by dh_installdeb
│ │ │ +dpkg-maintscript-helper rm_conffile /etc/bash_completion.d/youtube-dl.bash-completion 2016.08.17-1~ -- "$@"
│ │ │ +# End automatically added section
│ │ │ +# Automatically added by dh_installdeb
│ │ │ +dpkg-maintscript-helper rm_conffile /etc/fish/completions/youtube-dl.fish 2016.08.17-1~ -- "$@"
│ │ │ +# End automatically added section
├── data.tar.xz
├── 2-content
├── file list
│ │ │ @@ -1,347 +1,760 @@
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:09.000000 ./
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./etc/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./etc/bash_completion.d/
│ │ │ --rw-r--r-- 0 root (0) root (0) 2400 2014-07-13 15:21:20.000000 ./etc/bash_completion.d/youtube-dl.bash-completion
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/lib/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/lib/python2.7/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/lib/python2.7/dist-packages/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/
│ │ │ --rw-r--r-- 0 root (0) root (0) 5487 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 57859 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/
│ │ │ --rw-r--r-- 0 root (0) root (0) 11577 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/common.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1527 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/hls.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 8784 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/rtmp.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 8667 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/http.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 10503 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/f4m.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 752 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/__init__.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1406 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/downloader/mplayer.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7354 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/update.py
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/
│ │ │ --rw-r--r-- 0 root (0) root (0) 1699 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/common.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4147 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/xattrpp.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1696 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/atomicparsley.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 17171 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/ffmpeg.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 464 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/postprocessor/__init__.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 424 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/__main__.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 46857 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/utils.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 28 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/version.py
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/
│ │ │ --rw-r--r-- 0 root (0) root (0) 2683 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videobam.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2276 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/khanacademy.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1983 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/pyvideo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 25871 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2177 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/streamcloud.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5334 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/gdcvault.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1960 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/helsinki.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2801 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/naver.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3579 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/iprima.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2326 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/podomatic.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6783 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/yahoo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1399 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/kickstarter.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1398 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ro220.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1964 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vbox7.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2575 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ninegag.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 17479 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/smotri.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2570 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rtve.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1524 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/hark.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1905 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/dotsub.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 9358 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bbccouk.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 681 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rottentomatoes.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2249 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/servingsys.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4138 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/stanfordoc.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2832 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/muzu.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1697 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videofyme.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1772 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/weibo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2175 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/jukebox.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6466 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rtlnow.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 12135 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/soundcloud.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2772 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/myspace.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2774 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/pornhd.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1354 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/southpark.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3268 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/sohu.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1860 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rbmaradio.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5783 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/udemy.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2924 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/franceculture.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3728 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/fourtube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3045 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/fivemin.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4853 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/xhamster.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2506 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cnet.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 825 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/movshare.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1761 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/pornotube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3130 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bambuser.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1420 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nba.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1955 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vodlocker.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1004 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videodetective.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 32340 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/generic.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2162 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/testurl.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 10078 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/arte.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 991 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/teachingchannel.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2993 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vine.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4267 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/washingtonpost.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1729 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/discovery.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2187 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/aol.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3532 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/newstube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2799 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/huffpost.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1751 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/auengine.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1609 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ruhd.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2726 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tvigle.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6037 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/justintv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2728 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/jpopsukitv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1191 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/engadget.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1952 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ringtv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1147 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tutv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2775 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tudou.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2284 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/veehd.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3280 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/blinkx.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1871 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/viddler.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1830 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/sztvhu.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2778 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/escapist.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2443 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tlc.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1392 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/freesound.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5043 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/appletrailers.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 858 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/dropbox.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 12227 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/brightcove.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1488 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tvp.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2792 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/kontrtube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 864 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/divxstage.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1090 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/savefrom.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1989 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/extremetube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3353 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cbsnews.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3486 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tenplay.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5199 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ntv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1995 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/metacritic.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7638 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/metacafe.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2590 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/aftonbladet.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2634 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/toutv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1365 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/c56.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3554 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/instagram.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1134 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ebaumsworld.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6751 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ivi.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2525 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nytimes.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2263 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/normalboots.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1248 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/hentaistigma.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3708 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nfb.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3657 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1549 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cliphunter.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1965 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/roxwel.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2663 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/firedrive.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4228 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/screencast.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1997 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/slideshare.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1571 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ehow.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1027 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ku6.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2604 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/toypics.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2780 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/gorillavid.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1359 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/criterion.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2168 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/infoq.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1308 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/keek.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2648 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tumblr.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1636 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rtbf.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1560 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/redtube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2726 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/streamcz.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2006 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mpora.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2940 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/teamcoco.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2622 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/myspass.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2947 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/archiveorg.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2599 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/spiegeltv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3227 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cspan.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6355 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vk.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4148 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rutube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2891 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/wat.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1226 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/freespeech.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1435 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/eitb.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1893 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/scivee.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4725 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ceskatelevize.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 9719 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vh1.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6434 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mit.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1980 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videott.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4056 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mixcloud.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5847 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/br.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1141 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/franceinter.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 9177 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/comedycentral.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1299 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/gamekings.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1512 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/space.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5670 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/niconico.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2219 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/gamespot.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1789 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/wistia.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3080 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tube8.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4260 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/xtube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2419 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videolecturesnet.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1781 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/parliamentliveuk.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2313 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/firsttv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2586 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/dreisat.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1825 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/faz.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1636 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/thisav.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1791 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/firstpost.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1816 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/aparat.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1157 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cbs.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2454 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vulture.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3636 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/swrmediathek.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5938 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rts.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1882 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/clubic.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3108 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/gameone.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2042 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/techtalks.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1401 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/moviezine.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1912 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/canal13cl.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2637 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/novamov.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 11499 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/channel9.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 738 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videoweed.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1639 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mofosex.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1070 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/academicearth.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4253 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nhl.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2370 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/goshgay.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4463 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/teachertube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1258 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/canalc2.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2165 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/elpais.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1298 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/macgamestore.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2128 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/hypem.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1282 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bloomberg.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4662 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/steam.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2635 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/wrzuta.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1492 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/googlesearch.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3163 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/drtv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2146 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vuclip.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4173 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/youku.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1721 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/anitube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3899 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cinemassacre.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1730 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/clipsyndicate.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1277 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/newgrounds.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2619 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/everyonesmixtape.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 8357 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/francetv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3481 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/collegehumor.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1474 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/howcast.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1732 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/morningstar.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 80025 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2807 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/fktv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2873 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mailru.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 672 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cmt.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1885 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/worldstarhiphop.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7228 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rutv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4072 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/theplatform.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1751 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/xvideos.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1853 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/urort.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1922 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/la7.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 817 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nowvideo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4549 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ign.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1194 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/unistra.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3029 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ndr.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4029 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/spankwire.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4632 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/rai.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1334 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/defense.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3149 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/spiegel.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4107 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/subtitles.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1574 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/videopremium.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3290 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ustream.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 795 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/gametrailers.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1761 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/kankan.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4547 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/eighttracks.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5204 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/livestream.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2089 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/radiofrance.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1703 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tinypic.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4844 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/cnn.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3865 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/pornhub.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3788 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2551 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/daum.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 6140 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/myvideo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5597 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bandcamp.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3721 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mooshare.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3076 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/allocine.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2621 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tagesschau.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3866 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nbc.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1726 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/photobucket.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 10638 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mtv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2538 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nuvid.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1787 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/wimp.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 768 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/d8.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1996 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/npo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4356 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vesti.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2595 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ndtv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1167 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/spike.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1878 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/syfy.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7058 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vevo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2421 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/funnyordie.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1451 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/tf1.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1624 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/byutv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2248 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/motorsport.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3065 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/addanime.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2091 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/trilulilu.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3451 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/noco.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2765 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/canalplus.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4381 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/youporn.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 8716 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/dailymotion.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1744 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/jadorecettepub.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2554 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/playvid.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2100 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/keezmovies.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1397 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/xnxx.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3200 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/googleplus.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2768 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/imdb.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1074 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/oe1.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3341 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/motherless.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3818 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/orf.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1289 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/breakcom.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2324 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/hotnewhiphop.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4199 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/zdf.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1493 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/xbef.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1062 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ina.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1528 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/reverbnation.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 11420 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/__init__.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2058 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/exfm.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1356 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/slutload.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2521 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/youjizz.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 8522 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/crunchyroll.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1626 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/clipfish.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2882 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ooyala.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4898 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nrk.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2129 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/mdr.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2630 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/flickr.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3566 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/chilloutzone.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2006 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/fc2.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7847 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/wdr.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2959 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/lifenews.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 8369 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/lynda.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1832 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/jeuxvideo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2620 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/traileraddict.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7725 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/bliptv.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3862 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/liveleak.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2805 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vimple.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2604 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/pbs.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 7229 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ted.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 5416 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/facebook.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1665 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/malemotion.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1628 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/nowness.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 19821 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/vimeo.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 10939 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/prosiebensat1.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1399 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/trutube.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3332 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/viki.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3236 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/internetvideoarchive.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 3227 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/ard.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2836 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/sina.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4826 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/veoh.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1440 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/iconosquare.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 2669 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/musicplayon.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 4939 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/condenast.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1700 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/empflix.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1930 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/m6.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 1343 2014-07-13 15:22:00.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/extractor/soundgasm.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 42460 2014-07-16 01:31:36.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/__init__.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 551 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/FileDownloader.py
│ │ │ --rw-r--r-- 0 root (0) root (0) 15179 2014-07-13 15:21:20.000000 ./usr/lib/python2.7/dist-packages/youtube_dl/aes.py
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/
│ │ │ --rw-r--r-- 0 root (0) root (0) 11 2014-07-16 01:34:07.000000 ./usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/top_level.txt
│ │ │ --rw-r--r-- 0 root (0) root (0) 10885 2014-07-16 01:34:08.000000 ./usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/SOURCES.txt
│ │ │ --rw-r--r-- 0 root (0) root (0) 1 2014-07-16 01:34:07.000000 ./usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/dependency_links.txt
│ │ │ --rw-r--r-- 0 root (0) root (0) 48 2014-07-16 01:34:07.000000 ./usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/entry_points.txt
│ │ │ --rw-r--r-- 0 root (0) root (0) 698 2014-07-16 01:34:07.000000 ./usr/lib/python2.7/dist-packages/youtube_dl-2014.07.15.egg-info/PKG-INFO
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/bin/
│ │ │ --rwxr-xr-x 0 root (0) root (0) 332 2014-07-16 01:34:08.000000 ./usr/bin/youtube-dl
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/share/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:06.000000 ./usr/share/man/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/share/man/man1/
│ │ │ --rw-r--r-- 0 root (0) root (0) 11603 2014-07-16 01:34:08.000000 ./usr/share/man/man1/youtube-dl.1.gz
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/share/doc/
│ │ │ -drwxr-xr-x 0 root (0) root (0) 0 2014-07-16 01:34:08.000000 ./usr/share/doc/youtube-dl/
│ │ │ --rw-r--r-- 0 root (0) root (0) 1279 2014-07-13 15:21:20.000000 ./usr/share/doc/youtube-dl/copyright
│ │ │ --rw-r--r-- 0 root (0) root (0) 1942 2014-07-13 15:21:20.000000 ./usr/share/doc/youtube-dl/NEWS.Debian.gz
│ │ │ --rw-r--r-- 0 root (0) root (0) 10311 2014-07-16 01:33:01.000000 ./usr/share/doc/youtube-dl/changelog.Debian.gz
│ │ │ --rw-r--r-- 0 root (0) root (0) 10964 2014-07-16 01:31:36.000000 ./usr/share/doc/youtube-dl/README.txt.gz
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/bin/
│ │ │ +-rwxr-xr-x 0 root (0) root (0) 406 2017-02-09 07:39:37.000000 ./usr/bin/youtube-dl
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 100224 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 19223 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/__init__.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 467 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/__main__.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15213 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/aes.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2980 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/cache.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 89479 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/compat.py
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1486 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/__init__.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 14318 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/common.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3105 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/dash.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12220 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/external.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15755 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/f4m.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5259 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/fragment.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7912 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/hls.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10835 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/http.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11038 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/ism.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8306 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/rtmp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1559 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/downloader/rtsp.py
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1258 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/__init__.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6210 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/abc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5019 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/abcnews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3903 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/abcotvs.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1399 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/academicearth.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3734 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/acast.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3281 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/addanime.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 36649 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/adobepass.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7359 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/adobetv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10144 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/adultswim.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8689 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/aenetworks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9229 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/afreecatv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3098 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/airmozilla.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1313 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/aljazeera.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4012 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/allocine.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2724 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/alphaporno.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4211 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/amcnetworks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3480 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/amp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11014 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/animeondemand.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 888 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/anitube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15723 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/anvato.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2085 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/anysex.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4278 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/aol.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1995 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/aparat.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1848 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/appleconnect.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10299 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/appletrailers.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2500 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/archiveorg.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11725 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ard.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5393 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/arkena.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 18376 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/arte.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7688 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/atresplayer.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1962 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/atttechchannel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3924 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/audimedia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2552 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/audioboom.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5863 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/audiomack.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7147 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/awaan.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6275 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/azmedien.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5202 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/azubu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1980 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/baidu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4791 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bambuser.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8756 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bandcamp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 51627 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bbc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2536 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/beampro.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3419 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/beatport.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4365 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/beeg.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1647 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/behindkink.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2574 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bellmedia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2783 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bet.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2333 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bigflix.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1363 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bild.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9123 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bilibili.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3369 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/biobiochiletv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1443 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/biqle.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4258 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bleacherreport.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3217 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/blinkx.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3066 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bloomberg.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1958 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bokecc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2034 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bpb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7568 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/br.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2951 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/bravotv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5327 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/breakcom.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 27942 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/brightcove.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3621 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/buzzfeed.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3100 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/byutv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2083 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/c56.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5772 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/camdemy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3172 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/camwithher.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2229 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/canalc2.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7545 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/canalplus.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4591 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/canvas.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3252 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/carambatv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1776 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cartoonnetwork.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 14847 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cbc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4197 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cbs.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4491 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cbsinteractive.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3728 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cbslocal.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3862 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cbsnews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1054 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cbssports.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2839 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ccc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3536 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ccma.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6903 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cctv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5037 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cda.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7717 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ceskatelevize.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12000 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/channel9.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1710 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/charlierose.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2428 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/chaturbate.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3600 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/chilloutzone.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2951 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/chirbit.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1678 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cinchcast.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2371 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/clipfish.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2834 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cliphunter.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1030 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cliprs.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1812 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/clipsyndicate.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3095 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/closertotruth.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2829 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cloudy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1976 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/clubic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1742 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/clyp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2173 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cmt.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1135 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cnbc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6558 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cnn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3275 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/collegerama.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2717 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/comcarcoff.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5341 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/comedycentral.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 104866 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/common.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1389 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/commonmistakes.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1672 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/commonprotocols.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7078 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/condenast.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4712 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/coub.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3213 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cracked.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4854 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/crackle.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1275 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/criterion.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2061 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/crooksandliars.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 22620 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/crunchyroll.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6631 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cspan.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3503 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ctsnews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2276 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ctvnews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2508 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cultureunplugged.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4229 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/curiositystream.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4719 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/cwtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2507 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dailymail.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 17170 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dailymotion.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11802 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/daum.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2042 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dbtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2010 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dctp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3278 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/deezer.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1242 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/defense.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3016 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/democracynow.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2255 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dfb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2091 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dhm.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3509 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/digiteka.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3611 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/discovery.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4177 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/discoverygo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4517 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/disney.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4168 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dispeak.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3079 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dotsub.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4605 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/douyutv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6871 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7596 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dramafever.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5084 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/drbonanza.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8098 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dreisat.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1299 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dropbox.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3041 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/drtuber.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8149 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/drtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2233 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dumpert.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4467 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dvtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4098 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/dw.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6309 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/eagleplatform.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1086 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ebaumsworld.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1317 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/echomsk.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1470 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/egghead.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1518 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ehow.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5868 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/eighttracks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2621 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/einthusan.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3278 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/eitb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3569 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ellentv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3823 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/elpais.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 842 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/embedly.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 807 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/engadget.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4116 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/eporner.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3218 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/eroprofile.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3353 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/escapist.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5256 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/espn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2628 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/esri.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3417 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/europa.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2819 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/everyonesmixtape.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2913 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/expotv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 29327 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/extractors.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1751 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/extremetube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2710 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/eyedotv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 16294 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/facebook.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2737 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/faz.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5593 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fc2.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1471 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fczenit.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6049 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/filmon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1787 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/firstpost.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6352 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/firsttv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1917 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fivemin.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2962 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fivetv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1560 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fktv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4743 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/flickr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4203 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/flipagram.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2643 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/folketinget.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1875 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/footyroom.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1211 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/formula1.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4585 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fourtube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1994 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fox.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1419 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fox9.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2173 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/foxgay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5350 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/foxnews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1303 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/foxsports.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2069 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/franceculture.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2040 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/franceinter.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 16006 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/francetv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2496 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/freesound.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1233 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/freespeech.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10209 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/funimation.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4182 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/funnyordie.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1193 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fusion.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2564 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/fxnetworks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1180 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gameinformer.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4519 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gameone.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2202 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gamersyde.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5556 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gamespot.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2092 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gamestar.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4778 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gaskrank.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1955 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gazeta.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6157 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gdcvault.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 109183 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/generic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3555 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gfycat.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2656 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/giantbomb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3820 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/giga.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1543 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/glide.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 22115 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/globo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5043 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/go.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1786 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/godtube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2136 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/godtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2181 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/golem.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3185 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/googledrive.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2569 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/googleplus.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1692 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/googlesearch.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1542 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/goshgay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1201 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/gputechconf.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2599 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/groupon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1341 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hark.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5524 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hbo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5244 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hearthisat.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2865 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/heise.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2411 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hellporno.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1352 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/helsinki.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1201 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hentaistigma.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2804 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hgtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1581 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/historicfilms.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7055 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hitbox.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2269 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hitrecord.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1527 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hornbunny.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2260 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hotnewhiphop.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3173 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hotstar.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1370 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/howcast.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4741 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/howstuffworks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6954 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hrti.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1850 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/huajiao.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3389 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/huffpost.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1887 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/hypem.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2981 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/iconosquare.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8789 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ign.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4553 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/imdb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5168 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/imgur.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1062 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ina.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1539 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/inc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4958 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/indavideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5026 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/infoq.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8610 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/instagram.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3764 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/internetvideoarchive.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3251 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/iprima.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12951 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/iqiyi.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1739 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ir90tv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7990 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/itv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7944 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ivi.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3254 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ivideon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3218 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/iwara.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4263 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/izlesene.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4702 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/jamendo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2040 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/jeuxvideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3070 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/jove.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2585 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/jpopsukitv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7169 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/jwplatform.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12947 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kaltura.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2262 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kamcord.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3283 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kanalplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1738 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kankan.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2340 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/karaoketv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3355 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/karrierevideos.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1307 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/keek.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4443 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/keezmovies.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2589 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ketnet.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2741 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/khanacademy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2708 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kickstarter.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4487 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/konserthusetplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2732 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kontrtube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1957 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/krasview.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 992 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ku6.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3122 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kusi.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12531 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/kuwo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2209 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/la7.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6314 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/laola1tv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 892 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lci.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2953 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lcp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1185 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/learnr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2402 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lecture2go.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 14568 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/leeco.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6175 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lego.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1369 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lemonde.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4662 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/libraryofcongress.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2693 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/libsyn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9621 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lifenews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12173 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/limelight.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6254 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/litv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6242 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/liveleak.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 13839 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/livestream.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3779 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lnkgo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1728 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/localnews8.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1186 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lovehomeporn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3234 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lrt.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11067 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/lynda.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 896 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/m6.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1280 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/macgamestore.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5086 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mailru.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1593 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/makerschannel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1092 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/makertv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1834 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mangomolo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1811 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/matchtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6396 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mdr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3708 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/meipai.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2251 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/melonvod.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2623 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/meta.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11621 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/metacafe.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2675 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/metacritic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2696 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mgoon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2564 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mgtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1498 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/miaopai.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7476 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/microsoftvirtualacademy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2467 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/minhateca.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2167 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ministrygrid.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2177 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/minoto.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4681 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/miomio.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6025 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mit.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7801 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mitele.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11373 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mixcloud.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7120 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mlb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2662 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mnet.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3728 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/moevideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2020 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mofosex.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2094 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mojvideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3951 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/moniker.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1732 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/morningstar.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4353 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/motherless.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1804 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/motorsport.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1891 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/movieclips.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1400 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/moviezine.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1774 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/movingimage.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2053 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mpora.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4643 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/msn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 18323 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2126 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/muenchentv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2310 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/musicplayon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3279 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/mwave.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8544 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/myspace.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2728 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/myspass.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2246 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/myvi.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6291 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/myvideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 918 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/myvidster.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7125 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nationalgeographic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5116 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/naver.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5972 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nba.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15598 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nbc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 14280 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ndr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1898 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ndtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1131 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nerdcubed.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 17336 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/neteasemusic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3050 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/netzkino.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1403 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/newgrounds.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4601 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/newstube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8975 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nextmedia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4486 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nfb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9148 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nfl.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1980 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nhk.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 13807 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nhl.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5624 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nick.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10092 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/niconico.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4817 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ninecninemedia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3702 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ninegag.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3138 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ninenow.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1446 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nintendo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2123 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nobelprize.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8458 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/noco.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2181 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/normalboots.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2480 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nosvideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7050 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nova.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7292 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/novamov.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6018 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nowness.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9509 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nowtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3665 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/noz.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 20393 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/npo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2978 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/npr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 19213 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nrk.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3195 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ntvde.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5121 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ntvru.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1168 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nuevo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2587 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nuvid.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8836 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nytimes.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1171 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/nzz.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1497 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/odatv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6474 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/odnoklassniki.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1504 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/oktoberfesttv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2059 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/once.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1961 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ondemandkorea.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6469 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/onet.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2646 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/onionstudios.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8369 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ooyala.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3553 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/openload.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3226 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ora.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11298 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/orf.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2871 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pandatv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3318 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pandoratv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1673 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/parliamentliveuk.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4145 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/patreon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 31209 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pbs.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1140 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/people.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5338 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/periscope.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2698 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/philharmoniedeparis.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1506 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/phoenix.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1788 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/photobucket.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4501 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/piksel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3412 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pinkbike.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3401 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pladform.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2599 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/playfm.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1841 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/plays.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6794 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/playtvak.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3299 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/playvid.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2408 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/playwire.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 14181 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pluralsight.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2327 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/podomatic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2317 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pokemon.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6646 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/polskieradio.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2705 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/porn91.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3685 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/porncom.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3159 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pornflip.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3596 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pornhd.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10710 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pornhub.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3154 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pornotube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4003 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pornovoisines.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1949 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pornoxo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2390 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/presstv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1853 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/primesharetv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2425 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/promptfile.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 17607 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/prosiebensat1.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2295 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/puls4.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2764 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/pyvideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 13436 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/qqmusic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4654 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/r7.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2431 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/radiobremen.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7256 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/radiocanada.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1820 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/radiode.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2089 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/radiofrance.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2220 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/radiojavan.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10793 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rai.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2316 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rbmaradio.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2800 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rds.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3308 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/redtube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2261 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/regiotv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3221 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rentv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1191 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/restudy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2438 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/reuters.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1627 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/reverbnation.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6717 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/revision3.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4580 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rice.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1972 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ringtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1601 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rmcdecouverte.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1452 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ro220.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2248 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rockstargames.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5648 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/roosterteeth.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1281 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rottentomatoes.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1970 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/roxwel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1902 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rozhlas.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3227 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rtbf.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5148 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rte.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3463 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rtl2.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6963 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rtlnl.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3090 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rtp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9150 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rts.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8900 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rtve.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2266 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rtvnh.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1596 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rudo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1585 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ruhd.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1514 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ruleporn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6470 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rutube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7710 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/rutv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5145 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ruutu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7107 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/safari.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2311 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sandia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4496 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sapo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1132 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/savefrom.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2717 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sbs.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1950 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/scivee.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4330 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/screencast.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1366 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/screencastomatic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2677 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/seeker.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6273 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/senateisvp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3843 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sendtonews.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2359 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/servingsys.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1979 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sexu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5255 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/shahid.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2869 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/shared.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3127 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/showroomlive.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4323 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sina.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2385 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sixplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5382 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/skynewsarabia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1156 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/skysports.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2129 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/slideshare.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1336 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/slutload.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15866 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/smotri.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2501 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/snotr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6765 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sohu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1257 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sonyliv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 20503 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/soundcloud.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2042 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/soundgasm.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4150 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/southpark.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2167 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/spankbang.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4783 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/spankwire.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6168 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/spiegel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4153 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/spiegeltv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2296 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/spike.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3255 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sport5.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2253 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sportbox.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3779 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sportdeutschland.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1434 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sportschau.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7163 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/srgssr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2316 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/srmediathek.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3528 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/stanfordoc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4662 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/steam.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2947 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/stitcher.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3772 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/streamable.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2482 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/streamcloud.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3273 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/streamcz.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1615 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/streetvoice.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2653 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sunporno.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6813 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/svt.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4375 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/swrmediathek.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2046 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/syfy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1673 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/sztvhu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12209 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tagesschau.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2016 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tass.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2365 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tbs.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2482 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tdslifeway.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4645 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/teachertube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1082 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/teachingchannel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6627 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/teamcoco.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1746 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/teamfourstar.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2529 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/techtalks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11388 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ted.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3345 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tele13.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2256 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/telebruxelles.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2563 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/telecinco.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2785 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/telegraaf.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2966 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/telemb.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1353 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/telequebec.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1739 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/teletask.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1843 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/telewebion.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2163 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/testurl.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2239 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tf1.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1909 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tfo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1801 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/theintercept.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15603 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/theplatform.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1693 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/thescene.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3366 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/thesixtyone.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1404 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/thestar.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3203 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/theweatherchannel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1550 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/thisamericanlife.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2329 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/thisav.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1449 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/thisoldhouse.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5328 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/threeqsdn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1896 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tinypic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1644 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tlc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2138 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tmz.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11665 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tnaflix.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6952 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/toggle.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2093 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tonline.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3801 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/toutv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2763 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/toypics.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2692 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/traileraddict.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3624 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/trilulilu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2002 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/trutv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2892 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tube8.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2997 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tubitv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6956 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tudou.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5947 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tumblr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5891 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tunein.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2387 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/turbo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7785 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/turner.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1111 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tutv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5291 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tv2.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1513 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tv3.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4698 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tv4.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1987 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tva.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2401 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvanouvelles.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3910 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvc.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3968 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvigle.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1411 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvland.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1652 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvnoe.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8552 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 15697 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tvplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2165 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/tweakers.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3800 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/twentyfourvideo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2855 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/twentymin.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3212 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/twentytwotracks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 21439 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/twitch.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 16230 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/twitter.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 14270 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/udemy.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3080 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/udn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1107 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/uktvplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2158 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/unistra.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4977 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/uol.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2625 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/uplynk.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2249 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/urort.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2304 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/urplay.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2866 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/usanetwork.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1925 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/usatoday.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10569 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ustream.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4392 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ustudio.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3238 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/varzesh3.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3356 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vbox7.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4129 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/veehd.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4864 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/veoh.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5659 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vessel.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4383 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vesti.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 13107 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vevo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10118 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vgtv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9798 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vh1.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7388 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vice.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1222 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viceland.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2917 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vidbit.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5209 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viddler.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3135 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videa.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1026 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videodetective.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1750 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videofyme.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1987 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videomega.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7771 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videomore.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1540 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videopremium.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3103 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/videopress.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2730 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vidio.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9023 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vidme.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1810 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vidzi.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4199 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vier.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7913 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viewlift.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9071 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viewster.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7076 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viidea.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 13515 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viki.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 42120 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vimeo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1968 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vimple.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5172 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vine.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8766 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/viu.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 23846 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vk.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9260 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vlive.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2796 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vodlocker.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1424 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vodplatform.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3923 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/voicerepublic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6525 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/voxmedia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4471 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vporn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5863 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vrt.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6933 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2254 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vuclip.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4985 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vvvvid.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2031 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vyborymos.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1641 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/vzaar.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2817 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/walla.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7652 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/washingtonpost.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6895 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/wat.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3230 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/watchindianporn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 9968 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/wdr.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3833 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/webcaster.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5499 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/webofstories.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1681 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/weiqitv.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1901 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/wimp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3399 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/wistia.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2323 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/worldstarhiphop.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5704 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/wrzuta.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3206 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/wsj.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1447 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xbef.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1948 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xboxclips.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 5647 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xfileshare.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 7059 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xhamster.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6703 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xiami.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2937 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xminus.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1596 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xnxx.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3981 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xstream.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4982 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xtube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6378 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xuite.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2398 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xvideos.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2644 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/xxxymovies.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 18540 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/yahoo.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4215 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/yam.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 10353 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/yandexmusic.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2196 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/yesjapan.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1908 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/yinyuetai.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1807 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/ynet.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1257 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/youjizz.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11173 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/youku.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6833 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/youporn.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1411 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/yourupload.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 119823 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3870 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/zapiks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11620 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/zdf.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 4825 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/extractor/zingmp3.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8945 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/jsinterp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 40735 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/options.py
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 955 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/__init__.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2240 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/common.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3499 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/embedthumbnail.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 832 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/execafterdownload.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 22892 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/ffmpeg.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1491 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/metadatafromtitle.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2778 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/postprocessor/xattrpp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 8721 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/socks.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 31486 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/swfinterp.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 6923 2017-02-09 06:56:51.000000 ./usr/lib/python3/dist-packages/youtube_dl/update.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 100533 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/utils.py
│ │ │ +-rw-r--r-- 0 root (0) root (0) 68 2017-02-09 07:12:11.000000 ./usr/lib/python3/dist-packages/youtube_dl/version.py
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 839 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/PKG-INFO
│ │ │ +-rw-r--r-- 0 root (0) root (0) 1 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/dependency_links.txt
│ │ │ +-rw-r--r-- 0 root (0) root (0) 48 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/entry_points.txt
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11 2017-02-09 07:39:37.000000 ./usr/lib/python3/dist-packages/youtube_dl-2017.2.7.egg-info/top_level.txt
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/bash-completion/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/bash-completion/completions/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3242 2017-02-09 07:39:37.000000 ./usr/share/bash-completion/completions/youtube-dl
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/doc/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/doc/youtube-dl/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2152 2017-02-09 06:56:51.000000 ./usr/share/doc/youtube-dl/NEWS.Debian.gz
│ │ │ +-rw-r--r-- 0 root (0) root (0) 26485 2017-02-09 07:39:37.000000 ./usr/share/doc/youtube-dl/README.txt.gz
│ │ │ +-rw-r--r-- 0 root (0) root (0) 11913 2017-02-09 07:39:37.000000 ./usr/share/doc/youtube-dl/changelog.Debian.gz
│ │ │ +-rw-r--r-- 0 root (0) root (0) 12974 2017-02-09 07:12:11.000000 ./usr/share/doc/youtube-dl/changelog.gz
│ │ │ +-rw-r--r-- 0 root (0) root (0) 2547 2017-02-09 06:56:51.000000 ./usr/share/doc/youtube-dl/copyright
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/fish/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/fish/completions/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 24010 2017-02-09 07:39:37.000000 ./usr/share/fish/completions/youtube-dl.fish
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/man/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/man/man1/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 27390 2017-02-09 07:39:37.000000 ./usr/share/man/man1/youtube-dl.1.gz
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/zsh/
│ │ │ +drwxr-xr-x 0 root (0) root (0) 0 2017-02-09 07:39:37.000000 ./usr/share/zsh/vendor-completions/
│ │ │ +-rw-r--r-- 0 root (0) root (0) 3236 2017-02-09 07:39:37.000000 ./usr/share/zsh/vendor-completions/_youtube-dl
├── ./usr/bin/youtube-dl
│ │ │ @@ -1,10 +1,12 @@
│ │ │ -#! /usr/bin/python
│ │ │ -# EASY-INSTALL-ENTRY-SCRIPT: 'youtube-dl==2014.07.15','console_scripts','youtube-dl'
│ │ │ -__requires__ = 'youtube-dl==2014.07.15'
│ │ │ +#!/usr/bin/python3
│ │ │ +# EASY-INSTALL-ENTRY-SCRIPT: 'youtube-dl==2017.2.7','console_scripts','youtube-dl'
│ │ │ +__requires__ = 'youtube-dl==2017.2.7'
│ │ │ +import re
│ │ │ import sys
│ │ │ from pkg_resources import load_entry_point
│ │ │
│ │ │ if __name__ == '__main__':
│ │ │ + sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
│ │ │ sys.exit(
│ │ │ - load_entry_point('youtube-dl==2014.07.15', 'console_scripts', 'youtube-dl')()
│ │ │ + load_entry_point('youtube-dl==2017.2.7', 'console_scripts', 'youtube-dl')()
│ │ │ )
├── ./usr/share/man/man1/youtube-dl.1.gz
│ --- 340-content
├── +++ 756-content
│ │ │ │ @@ -1,377 +1,1380 @@
│ │ │ │ +.\" Automatically generated by Pandoc 1.17.2
│ │ │ │ +.\"
│ │ │ │ .TH "YOUTUBE\-DL" "1" "" "" ""
│ │ │ │ +.hy
│ │ │ │ .SH NAME
│ │ │ │ .PP
│ │ │ │ youtube\-dl \- download videos from youtube.com or other video platforms
│ │ │ │ .SH SYNOPSIS
│ │ │ │ .PP
│ │ │ │ -\f[B]youtube\-dl\f[] OPTIONS (#options) URL [URL...]
│ │ │ │ +\f[B]youtube\-dl\f[] [OPTIONS] URL [URL...]
│ │ │ │ .SH DESCRIPTION
│ │ │ │ .PP
│ │ │ │ -\f[B]youtube\-dl\f[] is a small command\-line program to download videos
│ │ │ │ -from YouTube.com and a few more sites.
│ │ │ │ -It requires the Python interpreter, version 2.6, 2.7, or 3.3+, and it is
│ │ │ │ +\f[B]youtube\-dl\f[] is a command\-line program to download videos from
│ │ │ │ +YouTube.com and a few more sites.
│ │ │ │ +It requires the Python interpreter, version 2.6, 2.7, or 3.2+, and it is
│ │ │ │ not platform specific.
│ │ │ │ It should work on your Unix box, on Windows or on Mac OS X.
│ │ │ │ It is released to the public domain, which means you can modify it,
│ │ │ │ redistribute it or use it however you like.
│ │ │ │ .SH OPTIONS
│ │ │ │ -.IP
│ │ │ │ -.nf
│ │ │ │ -\f[C]
│ │ │ │ -\-h,\ \-\-help\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ this\ help\ text\ and\ exit
│ │ │ │ -\-\-version\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ program\ version\ and\ exit
│ │ │ │ -\-U,\ \-\-update\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ update\ this\ program\ to\ latest\ version.\ Make
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ sure\ that\ you\ have\ sufficient\ permissions
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (run\ with\ sudo\ if\ needed)
│ │ │ │ -\-i,\ \-\-ignore\-errors\ \ \ \ \ \ \ \ \ \ \ \ \ \ continue\ on\ download\ errors,\ for\ example\ to
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ skip\ unavailable\ videos\ in\ a\ playlist
│ │ │ │ -\-\-abort\-on\-error\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Abort\ downloading\ of\ further\ videos\ (in\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ playlist\ or\ the\ command\ line)\ if\ an\ error
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ occurs
│ │ │ │ -\-\-dump\-user\-agent\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ display\ the\ current\ browser\ identification
│ │ │ │ -\-\-user\-agent\ UA\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specify\ a\ custom\ user\ agent
│ │ │ │ -\-\-referer\ REF\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ specify\ a\ custom\ referer,\ use\ if\ the\ video
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ access\ is\ restricted\ to\ one\ domain
│ │ │ │ -\-\-add\-header\ FIELD:VALUE\ \ \ \ \ \ \ \ \ specify\ a\ custom\ HTTP\ header\ and\ its\ value,
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ separated\ by\ a\ colon\ \[aq]:\[aq].\ You\ can\ use\ this
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ option\ multiple\ times
│ │ │ │ -\-\-list\-extractors\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ List\ all\ supported\ extractors\ and\ the\ URLs
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ they\ would\ handle
│ │ │ │ -\-\-extractor\-descriptions\ \ \ \ \ \ \ \ \ Output\ descriptions\ of\ all\ supported
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ extractors
│ │ │ │ -\-\-proxy\ URL\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ the\ specified\ HTTP/HTTPS\ proxy.\ Pass\ in
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ an\ empty\ string\ (\-\-proxy\ "")\ for\ direct
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ connection
│ │ │ │ -\-\-no\-check\-certificate\ \ \ \ \ \ \ \ \ \ \ Suppress\ HTTPS\ certificate\ validation.
│ │ │ │ -\-\-prefer\-insecure\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Use\ an\ unencrypted\ connection\ to\ retrieve
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ information\ about\ the\ video.\ (Currently
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ supported\ only\ for\ YouTube)
│ │ │ │ -\-\-cache\-dir\ DIR\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Location\ in\ the\ filesystem\ where\ youtube\-dl
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ can\ store\ some\ downloaded\ information
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ permanently.\ By\ default\ $XDG_CACHE_HOME
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /youtube\-dl\ or\ ~/.cache/youtube\-dl\ .\ At\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ moment,\ only\ YouTube\ player\ files\ (for
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ videos\ with\ obfuscated\ signatures)\ are
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ cached,\ but\ that\ may\ change.
│ │ │ │ -\-\-no\-cache\-dir\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Disable\ filesystem\ caching
│ │ │ │ -\-\-socket\-timeout\ None\ \ \ \ \ \ \ \ \ \ \ \ Time\ to\ wait\ before\ giving\ up,\ in\ seconds
│ │ │ │ -\-\-bidi\-workaround\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Work\ around\ terminals\ that\ lack
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ bidirectional\ text\ support.\ Requires\ bidiv
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ or\ fribidi\ executable\ in\ PATH
│ │ │ │ -\-\-default\-search\ PREFIX\ \ \ \ \ \ \ \ \ \ Use\ this\ prefix\ for\ unqualified\ URLs.\ For
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ example\ "gvsearch2:"\ downloads\ two\ videos
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ from\ google\ videos\ for\ \ youtube\-dl\ "large
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ apple".\ Use\ the\ value\ "auto"\ to\ let
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ youtube\-dl\ guess.\ The\ default\ value\ "error"
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ just\ throws\ an\ error.
│ │ │ │ -\-\-ignore\-config\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ read\ configuration\ files.\ When\ given
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ in\ the\ global\ configuration\ file\ /etc
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ /youtube\-dl.conf:\ do\ not\ read\ the\ user
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ configuration\ in\ ~/.config/youtube\-dl.conf
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (%APPDATA%/youtube\-dl/config.txt\ on
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Windows)
│ │ │ │ -\-\-encoding\ ENCODING\ \ \ \ \ \ \ \ \ \ \ \ \ \ Force\ the\ specified\ encoding\ (experimental)
│ │ │ │ -\f[]
│ │ │ │ -.fi
│ │ │ │ +.TP
│ │ │ │ +.B \-h, \-\-help
│ │ │ │ +Print this help text and exit
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-version
│ │ │ │ +Print program version and exit
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-U, \-\-update
│ │ │ │ +Update this program to latest version.
│ │ │ │ +Make sure that you have sufficient permissions (run with sudo if needed)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-i, \-\-ignore\-errors
│ │ │ │ +Continue on download errors, for example to skip unavailable videos in a
│ │ │ │ +playlist
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-abort\-on\-error
│ │ │ │ +Abort downloading of further videos (in the playlist or the command
│ │ │ │ +line) if an error occurs
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-dump\-user\-agent
│ │ │ │ +Display the current browser identification
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-list\-extractors
│ │ │ │ +List all supported extractors
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-extractor\-descriptions
│ │ │ │ +Output descriptions of all supported extractors
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-force\-generic\-extractor
│ │ │ │ +Force extraction to use the generic extractor
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-default\-search \f[I]PREFIX\f[]
│ │ │ │ +Use this prefix for unqualified URLs.
│ │ │ │ +For example "gvsearch2:" downloads two videos from google videos for
│ │ │ │ +youtube\-dl "large apple".
│ │ │ │ +Use the value "auto" to let youtube\-dl guess ("auto_warning" to emit a
│ │ │ │ +warning when guessing).
│ │ │ │ +"error" just throws an error.
│ │ │ │ +The default value "fixup_error" repairs broken URLs, but emits an error
│ │ │ │ +if this is not possible instead of searching.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-ignore\-config
│ │ │ │ +Do not read configuration files.
│ │ │ │ +When given in the global configuration file /etc/youtube\-dl.conf: Do
│ │ │ │ +not read the user configuration in ~/.config/youtube\- dl/config
│ │ │ │ +(%APPDATA%/youtube\-dl/config.txt on Windows)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-config\-location \f[I]PATH\f[]
│ │ │ │ +Location of the configuration file; either the path to the config or its
│ │ │ │ +containing directory.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-flat\-playlist
│ │ │ │ +Do not extract the videos of a playlist, only list them.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-mark\-watched
│ │ │ │ +Mark videos watched (YouTube only)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-mark\-watched
│ │ │ │ +Do not mark videos watched (YouTube only)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-color
│ │ │ │ +Do not emit color codes in output
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Network Options:
│ │ │ │ +.TP
│ │ │ │ +.B \-\-proxy \f[I]URL\f[]
│ │ │ │ +Use the specified HTTP/HTTPS/SOCKS proxy.
│ │ │ │ +To enable experimental SOCKS proxy, specify a proper scheme.
│ │ │ │ +For example socks5://127.0.0.1:1080/.
│ │ │ │ +Pass in an empty string (\-\-proxy "") for direct connection
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-socket\-timeout \f[I]SECONDS\f[]
│ │ │ │ +Time to wait before giving up, in seconds
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-source\-address \f[I]IP\f[]
│ │ │ │ +Client\-side IP address to bind to
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-4, \-\-force\-ipv4
│ │ │ │ +Make all connections via IPv4
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-6, \-\-force\-ipv6
│ │ │ │ +Make all connections via IPv6
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-geo\-verification\-proxy \f[I]URL\f[]
│ │ │ │ +Use this proxy to verify the IP address for some geo\-restricted sites.
│ │ │ │ +The default proxy specified by \-\-proxy (or none, if the options is not
│ │ │ │ +present) is used for the actual downloading.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ .SS Video Selection:
│ │ │ │ -.IP
│ │ │ │ -.nf
│ │ │ │ -\f[C]
│ │ │ │ -\-\-playlist\-start\ NUMBER\ \ \ \ \ \ \ \ \ \ playlist\ video\ to\ start\ at\ (default\ is\ 1)
│ │ │ │ -\-\-playlist\-end\ NUMBER\ \ \ \ \ \ \ \ \ \ \ \ playlist\ video\ to\ end\ at\ (default\ is\ last)
│ │ │ │ -\-\-match\-title\ REGEX\ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ matching\ titles\ (regex\ or
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ caseless\ sub\-string)
│ │ │ │ -\-\-reject\-title\ REGEX\ \ \ \ \ \ \ \ \ \ \ \ \ skip\ download\ for\ matching\ titles\ (regex\ or
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ caseless\ sub\-string)
│ │ │ │ -\-\-max\-downloads\ NUMBER\ \ \ \ \ \ \ \ \ \ \ Abort\ after\ downloading\ NUMBER\ files
│ │ │ │ -\-\-min\-filesize\ SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ smaller\ than
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ SIZE\ (e.g.\ 50k\ or\ 44.6m)
│ │ │ │ -\-\-max\-filesize\ SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ larger\ than\ SIZE
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (e.g.\ 50k\ or\ 44.6m)
│ │ │ │ -\-\-date\ DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ uploaded\ in\ this\ date
│ │ │ │ -\-\-datebefore\ DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ uploaded\ on\ or\ before
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this\ date\ (i.e.\ inclusive)
│ │ │ │ -\-\-dateafter\ DATE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ uploaded\ on\ or\ after
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ this\ date\ (i.e.\ inclusive)
│ │ │ │ -\-\-min\-views\ COUNT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ with\ less\ than
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COUNT\ views
│ │ │ │ -\-\-max\-views\ COUNT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ not\ download\ any\ videos\ with\ more\ than
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COUNT\ views
│ │ │ │ -\-\-no\-playlist\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ the\ currently\ playing\ video
│ │ │ │ -\-\-age\-limit\ YEARS\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ only\ videos\ suitable\ for\ the\ given
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ age
│ │ │ │ -\-\-download\-archive\ FILE\ \ \ \ \ \ \ \ \ \ Download\ only\ videos\ not\ listed\ in\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ archive\ file.\ Record\ the\ IDs\ of\ all
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloaded\ videos\ in\ it.
│ │ │ │ -\-\-include\-ads\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Download\ advertisements\ as\ well
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (experimental)
│ │ │ │ -\-\-youtube\-include\-dash\-manifest\ \ Try\ to\ download\ the\ DASH\ manifest\ on
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ YouTube\ videos\ (experimental)
│ │ │ │ -\f[]
│ │ │ │ -.fi
│ │ │ │ +.TP
│ │ │ │ +.B \-\-playlist\-start \f[I]NUMBER\f[]
│ │ │ │ +Playlist video to start at (default is 1)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-playlist\-end \f[I]NUMBER\f[]
│ │ │ │ +Playlist video to end at (default is last)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-playlist\-items \f[I]ITEM_SPEC\f[]
│ │ │ │ +Playlist video items to download.
│ │ │ │ +Specify indices of the videos in the playlist separated by commas like:
│ │ │ │ +"\-\-playlist\-items 1,2,5,8" if you want to download videos indexed 1,
│ │ │ │ +2, 5, 8 in the playlist.
│ │ │ │ +You can specify range: "\-\-playlist\-items 1\-3,7,10\-13", it will
│ │ │ │ +download the videos at index 1, 2, 3, 7, 10, 11, 12 and 13.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-match\-title \f[I]REGEX\f[]
│ │ │ │ +Download only matching titles (regex or caseless sub\-string)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-reject\-title \f[I]REGEX\f[]
│ │ │ │ +Skip download for matching titles (regex or caseless sub\-string)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-max\-downloads \f[I]NUMBER\f[]
│ │ │ │ +Abort after downloading NUMBER files
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-min\-filesize \f[I]SIZE\f[]
│ │ │ │ +Do not download any videos smaller than SIZE (e.g.
│ │ │ │ +50k or 44.6m)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-max\-filesize \f[I]SIZE\f[]
│ │ │ │ +Do not download any videos larger than SIZE (e.g.
│ │ │ │ +50k or 44.6m)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-date \f[I]DATE\f[]
│ │ │ │ +Download only videos uploaded in this date
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-datebefore \f[I]DATE\f[]
│ │ │ │ +Download only videos uploaded on or before this date (i.e.
│ │ │ │ +inclusive)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-dateafter \f[I]DATE\f[]
│ │ │ │ +Download only videos uploaded on or after this date (i.e.
│ │ │ │ +inclusive)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-min\-views \f[I]COUNT\f[]
│ │ │ │ +Do not download any videos with less than COUNT views
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-max\-views \f[I]COUNT\f[]
│ │ │ │ +Do not download any videos with more than COUNT views
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-match\-filter \f[I]FILTER\f[]
│ │ │ │ +Generic video filter.
│ │ │ │ +Specify any key (see help for \-o for a list of available keys) to match
│ │ │ │ +if the key is present, !key to check if the key is not present,key >
│ │ │ │ +NUMBER (like "comment_count > 12", also works with >=, <, <=, !=, =) to
│ │ │ │ +compare against a number, and & to require multiple matches.
│ │ │ │ +Values which are not known are excluded unless you put a question mark
│ │ │ │ +(?) after the operator.For example, to only match videos that have been
│ │ │ │ +liked more than 100 times and disliked less than 50 times (or the
│ │ │ │ +dislike functionality is not available at the given service), but who
│ │ │ │ +also have a description, use \-\-match\-filter "like_count > 100 &
│ │ │ │ +dislike_count <?
│ │ │ │ +50 & description" .
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-playlist
│ │ │ │ +Download only the video, if the URL refers to a video and a playlist.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-yes\-playlist
│ │ │ │ +Download the playlist, if the URL refers to a video and a playlist.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-age\-limit \f[I]YEARS\f[]
│ │ │ │ +Download only videos suitable for the given age
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-download\-archive \f[I]FILE\f[]
│ │ │ │ +Download only videos not listed in the archive file.
│ │ │ │ +Record the IDs of all downloaded videos in it.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-include\-ads
│ │ │ │ +Download advertisements as well (experimental)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ .SS Download Options:
│ │ │ │ -.IP
│ │ │ │ -.nf
│ │ │ │ -\f[C]
│ │ │ │ -\-r,\ \-\-rate\-limit\ LIMIT\ \ \ \ \ \ \ \ \ \ \ maximum\ download\ rate\ in\ bytes\ per\ second
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (e.g.\ 50K\ or\ 4.2M)
│ │ │ │ -\-R,\ \-\-retries\ RETRIES\ \ \ \ \ \ \ \ \ \ \ \ number\ of\ retries\ (default\ is\ 10)
│ │ │ │ -\-\-buffer\-size\ SIZE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ size\ of\ download\ buffer\ (e.g.\ 1024\ or\ 16K)
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (default\ is\ 1024)
│ │ │ │ -\-\-no\-resize\-buffer\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ automatically\ adjust\ the\ buffer
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ size.\ By\ default,\ the\ buffer\ size\ is
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ automatically\ resized\ from\ an\ initial\ value
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ of\ SIZE.
│ │ │ │ -\f[]
│ │ │ │ -.fi
│ │ │ │ +.TP
│ │ │ │ +.B \-r, \-\-limit\-rate \f[I]RATE\f[]
│ │ │ │ +Maximum download rate in bytes per second (e.g.
│ │ │ │ +50K or 4.2M)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-R, \-\-retries \f[I]RETRIES\f[]
│ │ │ │ +Number of retries (default is 10), or "infinite".
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-fragment\-retries \f[I]RETRIES\f[]
│ │ │ │ +Number of retries for a fragment (default is 10), or "infinite" (DASH
│ │ │ │ +and hlsnative only)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-skip\-unavailable\-fragments
│ │ │ │ +Skip unavailable fragments (DASH and hlsnative only)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-abort\-on\-unavailable\-fragment
│ │ │ │ +Abort downloading when some fragment is not available
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-buffer\-size \f[I]SIZE\f[]
│ │ │ │ +Size of download buffer (e.g.
│ │ │ │ +1024 or 16K) (default is 1024)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-resize\-buffer
│ │ │ │ +Do not automatically adjust the buffer size.
│ │ │ │ +By default, the buffer size is automatically resized from an initial
│ │ │ │ +value of SIZE.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-playlist\-reverse
│ │ │ │ +Download playlist videos in reverse order
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-playlist\-random
│ │ │ │ +Download playlist videos in random order
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-xattr\-set\-filesize
│ │ │ │ +Set file xattribute ytdl.filesize with expected file size (experimental)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-hls\-prefer\-native
│ │ │ │ +Use the native HLS downloader instead of ffmpeg
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-hls\-prefer\-ffmpeg
│ │ │ │ +Use ffmpeg instead of the native HLS downloader
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-hls\-use\-mpegts
│ │ │ │ +Use the mpegts container for HLS videos, allowing to play the video
│ │ │ │ +while downloading (some players may not be able to play it)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-external\-downloader \f[I]COMMAND\f[]
│ │ │ │ +Use the specified external downloader.
│ │ │ │ +Currently supports aria2c,avconv,axel,curl,ffmpeg,httpie,wget
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-external\-downloader\-args \f[I]ARGS\f[]
│ │ │ │ +Give these arguments to the external downloader
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ .SS Filesystem Options:
│ │ │ │ -.IP
│ │ │ │ -.nf
│ │ │ │ -\f[C]
│ │ │ │ -\-t,\ \-\-title\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ title\ in\ file\ name\ (default)
│ │ │ │ -\-\-id\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ only\ video\ ID\ in\ file\ name
│ │ │ │ -\-l,\ \-\-literal\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ [deprecated]\ alias\ of\ \-\-title
│ │ │ │ -\-A,\ \-\-auto\-number\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ number\ downloaded\ files\ starting\ from\ 00000
│ │ │ │ -\-o,\ \-\-output\ TEMPLATE\ \ \ \ \ \ \ \ \ \ \ \ output\ filename\ template.\ Use\ %(title)s\ to
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ get\ the\ title,\ %(uploader)s\ for\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uploader\ name,\ %(uploader_id)s\ for\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uploader\ nickname\ if\ different,
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(autonumber)s\ to\ get\ an\ automatically
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ incremented\ number,\ %(ext)s\ for\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ filename\ extension,\ %(format)s\ for\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ format\ description\ (like\ "22\ \-\ 1280x720"\ or
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "HD"),\ %(format_id)s\ for\ the\ unique\ id\ of
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ format\ (like\ Youtube\[aq]s\ itags:\ "137"),
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(upload_date)s\ for\ the\ upload\ date
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (YYYYMMDD),\ %(extractor)s\ for\ the\ provider
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (youtube,\ metacafe,\ etc),\ %(id)s\ for\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ id,\ %(playlist)s\ for\ the\ playlist\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ is\ in,\ %(playlist_index)s\ for\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ position\ in\ the\ playlist\ and\ %%\ for\ a
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ literal\ percent.\ %(height)s\ and\ %(width)s
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ for\ the\ width\ and\ height\ of\ the\ video
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ format.\ %(resolution)s\ for\ a\ textual
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ description\ of\ the\ resolution\ of\ the\ video
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ format.\ Use\ \-\ to\ output\ to\ stdout.\ Can\ also
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ be\ used\ to\ download\ to\ a\ different
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ directory,\ for\ example\ with\ \-o\ \[aq]/my/downloa
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ds/%(uploader)s/%(title)s\-%(id)s.%(ext)s\[aq]\ .
│ │ │ │ -\-\-autonumber\-size\ NUMBER\ \ \ \ \ \ \ \ \ Specifies\ the\ number\ of\ digits\ in
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ %(autonumber)s\ when\ it\ is\ present\ in\ output
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ filename\ template\ or\ \-\-auto\-number\ option
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ is\ given
│ │ │ │ -\-\-restrict\-filenames\ \ \ \ \ \ \ \ \ \ \ \ \ Restrict\ filenames\ to\ only\ ASCII
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ characters,\ and\ avoid\ "&"\ and\ spaces\ in
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ filenames
│ │ │ │ -\-a,\ \-\-batch\-file\ FILE\ \ \ \ \ \ \ \ \ \ \ \ file\ containing\ URLs\ to\ download\ (\[aq]\-\[aq]\ for
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ stdin)
│ │ │ │ -\-\-load\-info\ FILE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ json\ file\ containing\ the\ video\ information
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (created\ with\ the\ "\-\-write\-json"\ option)
│ │ │ │ -\-w,\ \-\-no\-overwrites\ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ overwrite\ files
│ │ │ │ -\-c,\ \-\-continue\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ force\ resume\ of\ partially\ downloaded\ files.
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ By\ default,\ youtube\-dl\ will\ resume
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloads\ if\ possible.
│ │ │ │ -\-\-no\-continue\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ resume\ partially\ downloaded\ files
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (restart\ from\ beginning)
│ │ │ │ -\-\-cookies\ FILE\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ file\ to\ read\ cookies\ from\ and\ dump\ cookie
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ jar\ in
│ │ │ │ -\-\-no\-part\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ .part\ files
│ │ │ │ -\-\-no\-mtime\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ use\ the\ Last\-modified\ header\ to\ set
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ file\ modification\ time
│ │ │ │ -\-\-write\-description\ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ description\ to\ a\ .description
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ file
│ │ │ │ -\-\-write\-info\-json\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ metadata\ to\ a\ .info.json\ file
│ │ │ │ -\-\-write\-annotations\ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ video\ annotations\ to\ a\ .annotation
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ file
│ │ │ │ -\-\-write\-thumbnail\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ thumbnail\ image\ to\ disk
│ │ │ │ -\f[]
│ │ │ │ -.fi
│ │ │ │ +.TP
│ │ │ │ +.B \-a, \-\-batch\-file \f[I]FILE\f[]
│ │ │ │ +File containing URLs to download (\[aq]\-\[aq] for stdin)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-id
│ │ │ │ +Use only video ID in file name
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-o, \-\-output \f[I]TEMPLATE\f[]
│ │ │ │ +Output filename template, see the "OUTPUT TEMPLATE" for all the info
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-autonumber\-size \f[I]NUMBER\f[]
│ │ │ │ +Specify the number of digits in %(autonumber)s when it is present in
│ │ │ │ +output filename template or \-\-auto\-number option is given (default is
│ │ │ │ +5)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-autonumber\-start \f[I]NUMBER\f[]
│ │ │ │ +Specify the start value for %(autonumber)s (default is 1)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-restrict\-filenames
│ │ │ │ +Restrict filenames to only ASCII characters, and avoid "&" and spaces in
│ │ │ │ +filenames
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-A, \-\-auto\-number
│ │ │ │ +[deprecated; use \-o "%(autonumber)s\-%(title)s.%(ext)s" ] Number
│ │ │ │ +downloaded files starting from 00000
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-t, \-\-title
│ │ │ │ +[deprecated] Use title in file name (default)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-l, \-\-literal
│ │ │ │ +[deprecated] Alias of \-\-title
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-w, \-\-no\-overwrites
│ │ │ │ +Do not overwrite files
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-c, \-\-continue
│ │ │ │ +Force resume of partially downloaded files.
│ │ │ │ +By default, youtube\-dl will resume downloads if possible.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-continue
│ │ │ │ +Do not resume partially downloaded files (restart from beginning)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-part
│ │ │ │ +Do not use .part files \- write directly into output file
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-mtime
│ │ │ │ +Do not use the Last\-modified header to set the file modification time
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-description
│ │ │ │ +Write video description to a .description file
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-info\-json
│ │ │ │ +Write video metadata to a .info.json file
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-annotations
│ │ │ │ +Write video annotations to a .annotations.xml file
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-load\-info\-json \f[I]FILE\f[]
│ │ │ │ +JSON file containing the video information (created with the
│ │ │ │ +"\-\-write\-info\-json" option)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-cookies \f[I]FILE\f[]
│ │ │ │ +File to read cookies from and dump cookie jar in
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-cache\-dir \f[I]DIR\f[]
│ │ │ │ +Location in the filesystem where youtube\-dl can store some downloaded
│ │ │ │ +information permanently.
│ │ │ │ +By default $XDG_CACHE_HOME/youtube\-dl or ~/.cache/youtube\-dl .
│ │ │ │ +At the moment, only YouTube player files (for videos with obfuscated
│ │ │ │ +signatures) are cached, but that may change.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-cache\-dir
│ │ │ │ +Disable filesystem caching
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-rm\-cache\-dir
│ │ │ │ +Delete all filesystem cache files
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Thumbnail images:
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-thumbnail
│ │ │ │ +Write thumbnail image to disk
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-all\-thumbnails
│ │ │ │ +Write all thumbnail image formats to disk
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-list\-thumbnails
│ │ │ │ +Simulate and list all available thumbnail formats
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ .SS Verbosity / Simulation Options:
│ │ │ │ -.IP
│ │ │ │ -.nf
│ │ │ │ -\f[C]
│ │ │ │ -\-q,\ \-\-quiet\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ activates\ quiet\ mode
│ │ │ │ -\-\-no\-warnings\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Ignore\ warnings
│ │ │ │ -\-s,\ \-\-simulate\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video\ and\ do\ not\ write
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ anything\ to\ disk
│ │ │ │ -\-\-skip\-download\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ download\ the\ video
│ │ │ │ -\-g,\ \-\-get\-url\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ URL
│ │ │ │ -\-e,\ \-\-get\-title\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ title
│ │ │ │ -\-\-get\-id\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ id
│ │ │ │ -\-\-get\-thumbnail\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ thumbnail\ URL
│ │ │ │ -\-\-get\-description\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ video\ description
│ │ │ │ -\-\-get\-duration\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ video\ length
│ │ │ │ -\-\-get\-filename\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ filename
│ │ │ │ -\-\-get\-format\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ output\ format
│ │ │ │ -\-j,\ \-\-dump\-json\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ simulate,\ quiet\ but\ print\ JSON\ information.
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ See\ \-\-output\ for\ a\ description\ of\ available
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ keys.
│ │ │ │ -\-\-newline\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ output\ progress\ bar\ as\ new\ lines
│ │ │ │ -\-\-no\-progress\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ print\ progress\ bar
│ │ │ │ -\-\-console\-title\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ display\ progress\ in\ console\ titlebar
│ │ │ │ -\-v,\ \-\-verbose\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ print\ various\ debugging\ information
│ │ │ │ -\-\-dump\-intermediate\-pages\ \ \ \ \ \ \ \ print\ downloaded\ pages\ to\ debug\ problems
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (very\ verbose)
│ │ │ │ -\-\-write\-pages\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Write\ downloaded\ intermediary\ pages\ to
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ files\ in\ the\ current\ directory\ to\ debug
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ problems
│ │ │ │ -\-\-print\-traffic\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Display\ sent\ and\ read\ HTTP\ traffic
│ │ │ │ -\f[]
│ │ │ │ -.fi
│ │ │ │ +.TP
│ │ │ │ +.B \-q, \-\-quiet
│ │ │ │ +Activate quiet mode
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-warnings
│ │ │ │ +Ignore warnings
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-s, \-\-simulate
│ │ │ │ +Do not download the video and do not write anything to disk
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-skip\-download
│ │ │ │ +Do not download the video
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-g, \-\-get\-url
│ │ │ │ +Simulate, quiet but print URL
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-e, \-\-get\-title
│ │ │ │ +Simulate, quiet but print title
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-get\-id
│ │ │ │ +Simulate, quiet but print id
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-get\-thumbnail
│ │ │ │ +Simulate, quiet but print thumbnail URL
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-get\-description
│ │ │ │ +Simulate, quiet but print video description
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-get\-duration
│ │ │ │ +Simulate, quiet but print video length
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-get\-filename
│ │ │ │ +Simulate, quiet but print output filename
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-get\-format
│ │ │ │ +Simulate, quiet but print output format
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-j, \-\-dump\-json
│ │ │ │ +Simulate, quiet but print JSON information.
│ │ │ │ +See \-\-output for a description of available keys.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-J, \-\-dump\-single\-json
│ │ │ │ +Simulate, quiet but print JSON information for each command\-line
│ │ │ │ +argument.
│ │ │ │ +If the URL refers to a playlist, dump the whole playlist information in
│ │ │ │ +a single line.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-print\-json
│ │ │ │ +Be quiet and print the video information as JSON (video is still being
│ │ │ │ +downloaded).
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-newline
│ │ │ │ +Output progress bar as new lines
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-progress
│ │ │ │ +Do not print progress bar
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-console\-title
│ │ │ │ +Display progress in console titlebar
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-v, \-\-verbose
│ │ │ │ +Print various debugging information
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-dump\-pages
│ │ │ │ +Print downloaded pages encoded using base64 to debug problems (very
│ │ │ │ +verbose)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-pages
│ │ │ │ +Write downloaded intermediary pages to files in the current directory to
│ │ │ │ +debug problems
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-print\-traffic
│ │ │ │ +Display sent and read HTTP traffic
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-C, \-\-call\-home
│ │ │ │ +Contact the youtube\-dl server for debugging
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-call\-home
│ │ │ │ +Do NOT contact the youtube\-dl server for debugging
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Workarounds:
│ │ │ │ +.TP
│ │ │ │ +.B \-\-encoding \f[I]ENCODING\f[]
│ │ │ │ +Force the specified encoding (experimental)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-check\-certificate
│ │ │ │ +Suppress HTTPS certificate validation
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-prefer\-insecure
│ │ │ │ +Use an unencrypted connection to retrieve information about the video.
│ │ │ │ +(Currently supported only for YouTube)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-user\-agent \f[I]UA\f[]
│ │ │ │ +Specify a custom user agent
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-referer \f[I]URL\f[]
│ │ │ │ +Specify a custom referer, use if the video access is restricted to one
│ │ │ │ +domain
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-add\-header \f[I]FIELD:VALUE\f[]
│ │ │ │ +Specify a custom HTTP header and its value, separated by a colon
│ │ │ │ +\[aq]:\[aq].
│ │ │ │ +You can use this option multiple times
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-bidi\-workaround
│ │ │ │ +Work around terminals that lack bidirectional text support.
│ │ │ │ +Requires bidiv or fribidi executable in PATH
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-sleep\-interval \f[I]SECONDS\f[]
│ │ │ │ +Number of seconds to sleep before each download when used alone or a
│ │ │ │ +lower bound of a range for randomized sleep before each download
│ │ │ │ +(minimum possible number of seconds to sleep) when used along with
│ │ │ │ +\-\-max\-sleep\-interval.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-max\-sleep\-interval \f[I]SECONDS\f[]
│ │ │ │ +Upper bound of a range for randomized sleep before each download
│ │ │ │ +(maximum possible number of seconds to sleep).
│ │ │ │ +Must only be used along with \-\-min\-sleep\-interval.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ .SS Video Format Options:
│ │ │ │ +.TP
│ │ │ │ +.B \-f, \-\-format \f[I]FORMAT\f[]
│ │ │ │ +Video format code, see the "FORMAT SELECTION" for all the info
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-all\-formats
│ │ │ │ +Download all available video formats
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-prefer\-free\-formats
│ │ │ │ +Prefer free video formats unless a specific one is requested
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-F, \-\-list\-formats
│ │ │ │ +List all available formats of requested videos
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-youtube\-skip\-dash\-manifest
│ │ │ │ +Do not download the DASH manifests and related data on YouTube videos
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-merge\-output\-format \f[I]FORMAT\f[]
│ │ │ │ +If a merge is required (e.g.
│ │ │ │ +bestvideo+bestaudio), output to given container format.
│ │ │ │ +One of mkv, mp4, ogg, webm, flv.
│ │ │ │ +Ignored if no merge is required
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Subtitle Options:
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-sub
│ │ │ │ +Write subtitle file
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-write\-auto\-sub
│ │ │ │ +Write automatically generated subtitle file (YouTube only)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-all\-subs
│ │ │ │ +Download all the available subtitles of the video
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-list\-subs
│ │ │ │ +List all available subtitles for the video
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-sub\-format \f[I]FORMAT\f[]
│ │ │ │ +Subtitle format, accepts formats preference, for example: "srt" or
│ │ │ │ +"ass/srt/best"
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-sub\-lang \f[I]LANGS\f[]
│ │ │ │ +Languages of the subtitles to download (optional) separated by commas,
│ │ │ │ +use \-\-list\- subs for available language tags
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Authentication Options:
│ │ │ │ +.TP
│ │ │ │ +.B \-u, \-\-username \f[I]USERNAME\f[]
│ │ │ │ +Login with this account ID
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-p, \-\-password \f[I]PASSWORD\f[]
│ │ │ │ +Account password.
│ │ │ │ +If this option is left out, youtube\-dl will ask interactively.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-2, \-\-twofactor \f[I]TWOFACTOR\f[]
│ │ │ │ +Two\-factor authentication code
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-n, \-\-netrc
│ │ │ │ +Use .netrc authentication data
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-video\-password \f[I]PASSWORD\f[]
│ │ │ │ +Video password (vimeo, smotri, youku)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Adobe Pass Options:
│ │ │ │ +.TP
│ │ │ │ +.B \-\-ap\-mso \f[I]MSO\f[]
│ │ │ │ +Adobe Pass multiple\-system operator (TV provider) identifier, use
│ │ │ │ +\-\-ap\-list\-mso for a list of available MSOs
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-ap\-username \f[I]USERNAME\f[]
│ │ │ │ +Multiple\-system operator account login
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-ap\-password \f[I]PASSWORD\f[]
│ │ │ │ +Multiple\-system operator account password.
│ │ │ │ +If this option is left out, youtube\-dl will ask interactively.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-ap\-list\-mso
│ │ │ │ +List all supported multiple\-system operators
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SS Post\-processing Options:
│ │ │ │ +.TP
│ │ │ │ +.B \-x, \-\-extract\-audio
│ │ │ │ +Convert video files to audio\-only files (requires ffmpeg or avconv and
│ │ │ │ +ffprobe or avprobe)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-audio\-format \f[I]FORMAT\f[]
│ │ │ │ +Specify audio format: "best", "aac", "vorbis", "mp3", "m4a", "opus", or
│ │ │ │ +"wav"; "best" by default; No effect without \-x
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-audio\-quality \f[I]QUALITY\f[]
│ │ │ │ +Specify ffmpeg/avconv audio quality, insert a value between 0 (better)
│ │ │ │ +and 9 (worse) for VBR or a specific bitrate like 128K (default 5)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-recode\-video \f[I]FORMAT\f[]
│ │ │ │ +Encode the video to another format if necessary (currently supported:
│ │ │ │ +mp4|flv|ogg|webm|mkv|avi)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-postprocessor\-args \f[I]ARGS\f[]
│ │ │ │ +Give these arguments to the postprocessor
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-k, \-\-keep\-video
│ │ │ │ +Keep the video file on disk after the post\- processing; the video is
│ │ │ │ +erased by default
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-no\-post\-overwrites
│ │ │ │ +Do not overwrite post\-processed files; the post\-processed files are
│ │ │ │ +overwritten by default
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-embed\-subs
│ │ │ │ +Embed subtitles in the video (only for mp4, webm and mkv videos)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-embed\-thumbnail
│ │ │ │ +Embed thumbnail in the audio as cover art
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-add\-metadata
│ │ │ │ +Write metadata to the video file
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-metadata\-from\-title \f[I]FORMAT\f[]
│ │ │ │ +Parse additional metadata like song title / artist from the video title.
│ │ │ │ +The format syntax is the same as \-\-output, the parsed parameters
│ │ │ │ +replace existing values.
│ │ │ │ +Additional templates: %(album)s, %(artist)s.
│ │ │ │ +Example: \-\-metadata\-from\-title "%(artist)s \- %(title)s" matches a
│ │ │ │ +title like "Coldplay \- Paradise"
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-xattrs
│ │ │ │ +Write metadata to the video file\[aq]s xattrs (using dublin core and xdg
│ │ │ │ +standards)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-fixup \f[I]POLICY\f[]
│ │ │ │ +Automatically correct known faults of the file.
│ │ │ │ +One of never (do nothing), warn (only emit a warning), detect_or_warn
│ │ │ │ +(the default; fix file if we can, warn otherwise)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-prefer\-avconv
│ │ │ │ +Prefer avconv over ffmpeg for running the postprocessors (default)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-prefer\-ffmpeg
│ │ │ │ +Prefer ffmpeg over avconv for running the postprocessors
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-ffmpeg\-location \f[I]PATH\f[]
│ │ │ │ +Location of the ffmpeg/avconv binary; either the path to the binary or
│ │ │ │ +its containing directory.
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-exec \f[I]CMD\f[]
│ │ │ │ +Execute a command on the file after downloading, similar to find\[aq]s
│ │ │ │ +\-exec syntax.
│ │ │ │ +Example: \-\-exec \[aq]adb push {} /sdcard/Music/ && rm {}\[aq]
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.TP
│ │ │ │ +.B \-\-convert\-subs \f[I]FORMAT\f[]
│ │ │ │ +Convert the subtitles to other format (currently supported: srt|ass|vtt)
│ │ │ │ +.RS
│ │ │ │ +.RE
│ │ │ │ +.SH CONFIGURATION
│ │ │ │ +.PP
│ │ │ │ +You can configure youtube\-dl by placing any supported command line
│ │ │ │ +option to a configuration file.
│ │ │ │ +On Linux and OS X, the system wide configuration file is located at
│ │ │ │ +\f[C]/etc/youtube\-dl.conf\f[] and the user wide configuration file at
│ │ │ │ +\f[C]~/.config/youtube\-dl/config\f[].
│ │ │ │ +On Windows, the user wide configuration file locations are
│ │ │ │ +\f[C]%APPDATA%\\youtube\-dl\\config.txt\f[] or
│ │ │ │ +\f[C]C:\\Users\\<user\ name>\\youtube\-dl.conf\f[].
│ │ │ │ +Note that by default configuration file may not exist so you may need to
│ │ │ │ +create it yourself.
│ │ │ │ +.PP
│ │ │ │ +For example, with the following configuration file youtube\-dl will
│ │ │ │ +always extract the audio, not copy the mtime, use a proxy and save all
│ │ │ │ +videos under \f[C]Movies\f[] directory in your home directory:
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ -\-f,\ \-\-format\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ \ \ video\ format\ code,\ specify\ the\ order\ of
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ preference\ using\ slashes:\ "\-f\ 22/17/18".
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "\-f\ mp4"\ and\ "\-f\ flv"\ are\ also\ supported.
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ You\ can\ also\ use\ the\ special\ names\ "best",
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "bestvideo",\ "bestaudio",\ "worst",
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "worstvideo"\ and\ "worstaudio".\ By\ default,
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ youtube\-dl\ will\ pick\ the\ best\ quality.
│ │ │ │ -\-\-all\-formats\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ download\ all\ available\ video\ formats
│ │ │ │ -\-\-prefer\-free\-formats\ \ \ \ \ \ \ \ \ \ \ \ prefer\ free\ video\ formats\ unless\ a\ specific
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ one\ is\ requested
│ │ │ │ -\-\-max\-quality\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ \ highest\ quality\ format\ to\ download
│ │ │ │ -\-F,\ \-\-list\-formats\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ list\ all\ available\ formats
│ │ │ │ +#\ Lines\ starting\ with\ #\ are\ comments
│ │ │ │ +
│ │ │ │ +#\ Always\ extract\ audio
│ │ │ │ +\-x
│ │ │ │ +
│ │ │ │ +#\ Do\ not\ copy\ the\ mtime
│ │ │ │ +\-\-no\-mtime
│ │ │ │ +
│ │ │ │ +#\ Use\ this\ proxy
│ │ │ │ +\-\-proxy\ 127.0.0.1:3128
│ │ │ │ +
│ │ │ │ +#\ Save\ all\ videos\ under\ Movies\ directory\ in\ your\ home\ directory
│ │ │ │ +\-o\ ~/Movies/%(title)s.%(ext)s
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ -.SS Subtitle Options:
│ │ │ │ +.PP
│ │ │ │ +Note that options in configuration file are just the same options aka
│ │ │ │ +switches used in regular command line calls thus there \f[B]must be no
│ │ │ │ +whitespace\f[] after \f[C]\-\f[] or \f[C]\-\-\f[], e.g.
│ │ │ │ +\f[C]\-o\f[] or \f[C]\-\-proxy\f[] but not \f[C]\-\ o\f[] or
│ │ │ │ +\f[C]\-\-\ proxy\f[].
│ │ │ │ +.PP
│ │ │ │ +You can use \f[C]\-\-ignore\-config\f[] if you want to disable the
│ │ │ │ +configuration file for a particular youtube\-dl run.
│ │ │ │ +.PP
│ │ │ │ +You can also use \f[C]\-\-config\-location\f[] if you want to use custom
│ │ │ │ +configuration file for a particular youtube\-dl run.
│ │ │ │ +.SS Authentication with \f[C]\&.netrc\f[] file
│ │ │ │ +.PP
│ │ │ │ +You may also want to configure automatic credentials storage for
│ │ │ │ +extractors that support authentication (by providing login and password
│ │ │ │ +with \f[C]\-\-username\f[] and \f[C]\-\-password\f[]) in order not to
│ │ │ │ +pass credentials as command line arguments on every youtube\-dl
│ │ │ │ +execution and prevent tracking plain text passwords in the shell command
│ │ │ │ +history.
│ │ │ │ +You can achieve this using a \f[C]\&.netrc\f[]
│ │ │ │ +file (http://stackoverflow.com/tags/.netrc/info) on a per extractor
│ │ │ │ +basis.
│ │ │ │ +For that you will need to create a \f[C]\&.netrc\f[] file in your
│ │ │ │ +\f[C]$HOME\f[] and restrict permissions to read/write by only you:
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ -\-\-write\-sub\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ subtitle\ file
│ │ │ │ -\-\-write\-auto\-sub\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ automatic\ subtitle\ file\ (youtube
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ only)
│ │ │ │ -\-\-all\-subs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ downloads\ all\ the\ available\ subtitles\ of
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ the\ video
│ │ │ │ -\-\-list\-subs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ lists\ all\ available\ subtitles\ for\ the\ video
│ │ │ │ -\-\-sub\-format\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ \ \ subtitle\ format\ (default=srt)\ ([sbv/vtt]
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ youtube\ only)
│ │ │ │ -\-\-sub\-lang\ LANGS\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ languages\ of\ the\ subtitles\ to\ download
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (optional)\ separated\ by\ commas,\ use\ IETF
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ language\ tags\ like\ \[aq]en,pt\[aq]
│ │ │ │ +touch\ $HOME/.netrc
│ │ │ │ +chmod\ a\-rwx,u+rw\ $HOME/.netrc
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ -.SS Authentication Options:
│ │ │ │ +.PP
│ │ │ │ +After that you can add credentials for an extractor in the following
│ │ │ │ +format, where \f[I]extractor\f[] is the name of the extractor in
│ │ │ │ +lowercase:
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ -\-u,\ \-\-username\ USERNAME\ \ \ \ \ \ \ \ \ \ account\ username
│ │ │ │ -\-p,\ \-\-password\ PASSWORD\ \ \ \ \ \ \ \ \ \ account\ password
│ │ │ │ -\-n,\ \-\-netrc\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ use\ .netrc\ authentication\ data
│ │ │ │ -\-\-video\-password\ PASSWORD\ \ \ \ \ \ \ \ video\ password\ (vimeo,\ smotri)
│ │ │ │ +machine\ <extractor>\ login\ <login>\ password\ <password>
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ -.SS Post\-processing Options:
│ │ │ │ +.PP
│ │ │ │ +For example:
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ -\-x,\ \-\-extract\-audio\ \ \ \ \ \ \ \ \ \ \ \ \ \ convert\ video\ files\ to\ audio\-only\ files
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (requires\ ffmpeg\ or\ avconv\ and\ ffprobe\ or
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ avprobe)
│ │ │ │ -\-\-audio\-format\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ "best",\ "aac",\ "vorbis",\ "mp3",\ "m4a",
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "opus",\ or\ "wav";\ best\ by\ default
│ │ │ │ -\-\-audio\-quality\ QUALITY\ \ \ \ \ \ \ \ \ \ ffmpeg/avconv\ audio\ quality\ specification,
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ insert\ a\ value\ between\ 0\ (better)\ and\ 9
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (worse)\ for\ VBR\ or\ a\ specific\ bitrate\ like
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 128K\ (default\ 5)
│ │ │ │ -\-\-recode\-video\ FORMAT\ \ \ \ \ \ \ \ \ \ \ \ Encode\ the\ video\ to\ another\ format\ if
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ necessary\ (currently\ supported:
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ mp4|flv|ogg|webm|mkv)
│ │ │ │ -\-k,\ \-\-keep\-video\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ keeps\ the\ video\ file\ on\ disk\ after\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ post\-processing;\ the\ video\ is\ erased\ by
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ default
│ │ │ │ -\-\-no\-post\-overwrites\ \ \ \ \ \ \ \ \ \ \ \ \ do\ not\ overwrite\ post\-processed\ files;\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ post\-processed\ files\ are\ overwritten\ by
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ default
│ │ │ │ -\-\-embed\-subs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ embed\ subtitles\ in\ the\ video\ (only\ for\ mp4
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ videos)
│ │ │ │ -\-\-embed\-thumbnail\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ embed\ thumbnail\ in\ the\ audio\ as\ cover\ art
│ │ │ │ -\-\-add\-metadata\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ metadata\ to\ the\ video\ file
│ │ │ │ -\-\-xattrs\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ write\ metadata\ to\ the\ video\ file\[aq]s\ xattrs
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (using\ dublin\ core\ and\ xdg\ standards)
│ │ │ │ -\-\-prefer\-avconv\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Prefer\ avconv\ over\ ffmpeg\ for\ running\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ postprocessors\ (default)
│ │ │ │ -\-\-prefer\-ffmpeg\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Prefer\ ffmpeg\ over\ avconv\ for\ running\ the
│ │ │ │ -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ postprocessors
│ │ │ │ +machine\ youtube\ login\ myaccount\@gmail.com\ password\ my_youtube_password
│ │ │ │ +machine\ twitch\ login\ my_twitch_account_name\ password\ my_twitch_password
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ -.SH CONFIGURATION
│ │ │ │ .PP
│ │ │ │ -You can configure youtube\-dl by placing default arguments (such as
│ │ │ │ -\f[C]\-\-extract\-audio\ \-\-no\-mtime\f[] to always extract the audio
│ │ │ │ -and not copy the mtime) into \f[C]/etc/youtube\-dl.conf\f[] and/or
│ │ │ │ -\f[C]~/.config/youtube\-dl/config\f[].
│ │ │ │ -On Windows, the configuration file locations are
│ │ │ │ -\f[C]%APPDATA%\\youtube\-dl\\config.txt\f[] and
│ │ │ │ -\f[C]C:\\Users\\<Yourname>\\youtube\-dl.conf\f[].
│ │ │ │ +To activate authentication with the \f[C]\&.netrc\f[] file you should
│ │ │ │ +pass \f[C]\-\-netrc\f[] to youtube\-dl or place it in the configuration
│ │ │ │ +file (#configuration).
│ │ │ │ +.PP
│ │ │ │ +On Windows you may also need to setup the \f[C]%HOME%\f[] environment
│ │ │ │ +variable manually.
│ │ │ │ .SH OUTPUT TEMPLATE
│ │ │ │ .PP
│ │ │ │ The \f[C]\-o\f[] option allows users to indicate a template for the
│ │ │ │ output file names.
│ │ │ │ +.PP
│ │ │ │ +\f[B]tl;dr:\f[] navigate me to examples (#output-template-examples).
│ │ │ │ +.PP
│ │ │ │ The basic usage is not to set any template arguments when downloading a
│ │ │ │ single file, like in
│ │ │ │ \f[C]youtube\-dl\ \-o\ funny_video.flv\ "http://some/video"\f[].
│ │ │ │ However, it may contain special sequences that will be replaced when
│ │ │ │ downloading each video.
│ │ │ │ The special sequences have the format \f[C]%(NAME)s\f[].
│ │ │ │ -To clarify, that is a percent symbol followed by a name in parenthesis,
│ │ │ │ +To clarify, that is a percent symbol followed by a name in parentheses,
│ │ │ │ followed by a lowercase S.
│ │ │ │ Allowed names are:
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]id\f[]: The sequence will be replaced by the video identifier.
│ │ │ │ +\f[C]id\f[]: Video identifier
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]title\f[]: Video title
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]url\f[]: Video URL
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]ext\f[]: Video filename extension
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]alt_title\f[]: A secondary title of the video
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]display_id\f[]: An alternative identifier for the video
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]uploader\f[]: Full name of the video uploader
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]license\f[]: License name the video is licensed under
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]creator\f[]: The creator of the video
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]release_date\f[]: The date (YYYYMMDD) when the video was released
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]timestamp\f[]: UNIX timestamp of the moment the video became
│ │ │ │ +available
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]upload_date\f[]: Video upload date (YYYYMMDD)
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]uploader_id\f[]: Nickname or id of the video uploader
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]location\f[]: Physical location where the video was filmed
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]duration\f[]: Length of the video in seconds
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]view_count\f[]: How many users have watched the video on the
│ │ │ │ +platform
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]like_count\f[]: Number of positive ratings of the video
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]dislike_count\f[]: Number of negative ratings of the video
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]url\f[]: The sequence will be replaced by the video URL.
│ │ │ │ +\f[C]repost_count\f[]: Number of reposts of the video
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]uploader\f[]: The sequence will be replaced by the nickname of the
│ │ │ │ -person who uploaded the video.
│ │ │ │ +\f[C]average_rating\f[]: Average rating give by users, the scale used
│ │ │ │ +depends on the webpage
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]upload_date\f[]: The sequence will be replaced by the upload date
│ │ │ │ -in YYYYMMDD format.
│ │ │ │ +\f[C]comment_count\f[]: Number of comments on the video
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]title\f[]: The sequence will be replaced by the video title.
│ │ │ │ +\f[C]age_limit\f[]: Age restriction for the video (years)
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]ext\f[]: The sequence will be replaced by the appropriate extension
│ │ │ │ -(like flv or mp4).
│ │ │ │ +\f[C]format\f[]: A human\-readable description of the format
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]epoch\f[]: The sequence will be replaced by the Unix epoch when
│ │ │ │ -creating the file.
│ │ │ │ +\f[C]format_id\f[]: Format code specified by \f[C]\-\-format\f[]
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]autonumber\f[]: The sequence will be replaced by a five\-digit
│ │ │ │ -number that will be increased with each download, starting at zero.
│ │ │ │ +\f[C]format_note\f[]: Additional info about the format
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]playlist\f[]: The name or the id of the playlist that contains the
│ │ │ │ -video.
│ │ │ │ +\f[C]width\f[]: Width of the video
│ │ │ │ .IP \[bu] 2
│ │ │ │ -\f[C]playlist_index\f[]: The index of the video in the playlist, a
│ │ │ │ -five\-digit number.
│ │ │ │ +\f[C]height\f[]: Height of the video
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]resolution\f[]: Textual description of width and height
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]tbr\f[]: Average bitrate of audio and video in KBit/s
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]abr\f[]: Average audio bitrate in KBit/s
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]acodec\f[]: Name of the audio codec in use
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]asr\f[]: Audio sampling rate in Hertz
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]vbr\f[]: Average video bitrate in KBit/s
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]fps\f[]: Frame rate
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]vcodec\f[]: Name of the video codec in use
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]container\f[]: Name of the container format
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]filesize\f[]: The number of bytes, if known in advance
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]filesize_approx\f[]: An estimate for the number of bytes
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]protocol\f[]: The protocol that will be used for the actual
│ │ │ │ +download
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]extractor\f[]: Name of the extractor
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]extractor_key\f[]: Key name of the extractor
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]epoch\f[]: Unix epoch when creating the file
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]autonumber\f[]: Five\-digit number that will be increased with each
│ │ │ │ +download, starting at zero
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]playlist\f[]: Name or id of the playlist that contains the video
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]playlist_index\f[]: Index of the video in the playlist padded with
│ │ │ │ +leading zeros according to the total length of the playlist
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]playlist_id\f[]: Playlist identifier
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]playlist_title\f[]: Playlist title
│ │ │ │ +.PP
│ │ │ │ +Available for the video that belongs to some logical chapter or section:
│ │ │ │ +\- \f[C]chapter\f[]: Name or title of the chapter the video belongs to
│ │ │ │ +\- \f[C]chapter_number\f[]: Number of the chapter the video belongs to
│ │ │ │ +\- \f[C]chapter_id\f[]: Id of the chapter the video belongs to
│ │ │ │ +.PP
│ │ │ │ +Available for the video that is an episode of some series or programme:
│ │ │ │ +\- \f[C]series\f[]: Title of the series or programme the video episode
│ │ │ │ +belongs to \- \f[C]season\f[]: Title of the season the video episode
│ │ │ │ +belongs to \- \f[C]season_number\f[]: Number of the season the video
│ │ │ │ +episode belongs to \- \f[C]season_id\f[]: Id of the season the video
│ │ │ │ +episode belongs to \- \f[C]episode\f[]: Title of the video episode \-
│ │ │ │ +\f[C]episode_number\f[]: Number of the video episode within a season \-
│ │ │ │ +\f[C]episode_id\f[]: Id of the video episode
│ │ │ │ +.PP
│ │ │ │ +Available for the media that is a track or a part of a music album: \-
│ │ │ │ +\f[C]track\f[]: Title of the track \- \f[C]track_number\f[]: Number of
│ │ │ │ +the track within an album or a disc \- \f[C]track_id\f[]: Id of the
│ │ │ │ +track \- \f[C]artist\f[]: Artist(s) of the track \- \f[C]genre\f[]:
│ │ │ │ +Genre(s) of the track \- \f[C]album\f[]: Title of the album the track
│ │ │ │ +belongs to \- \f[C]album_type\f[]: Type of the album \-
│ │ │ │ +\f[C]album_artist\f[]: List of all artists appeared on the album \-
│ │ │ │ +\f[C]disc_number\f[]: Number of the disc or other physical medium the
│ │ │ │ +track belongs to \- \f[C]release_year\f[]: Year (YYYY) when the album
│ │ │ │ +was released
│ │ │ │ +.PP
│ │ │ │ +Each aforementioned sequence when referenced in an output template will
│ │ │ │ +be replaced by the actual value corresponding to the sequence name.
│ │ │ │ +Note that some of the sequences are not guaranteed to be present since
│ │ │ │ +they depend on the metadata obtained by a particular extractor.
│ │ │ │ +Such sequences will be replaced with \f[C]NA\f[].
│ │ │ │ +.PP
│ │ │ │ +For example for \f[C]\-o\ %(title)s\-%(id)s.%(ext)s\f[] and an mp4 video
│ │ │ │ +with title \f[C]youtube\-dl\ test\ video\f[] and id
│ │ │ │ +\f[C]BaW_jenozKcj\f[], this will result in a
│ │ │ │ +\f[C]youtube\-dl\ test\ video\-BaW_jenozKcj.mp4\f[] file created in the
│ │ │ │ +current directory.
│ │ │ │ +.PP
│ │ │ │ +Output templates can also contain arbitrary hierarchical path, e.g.
│ │ │ │ +\f[C]\-o\ \[aq]%(playlist)s/%(playlist_index)s\ \-\ %(title)s.%(ext)s\[aq]\f[]
│ │ │ │ +which will result in downloading each video in a directory corresponding
│ │ │ │ +to this path template.
│ │ │ │ +Any missing directory will be automatically created for you.
│ │ │ │ +.PP
│ │ │ │ +To use percent literals in an output template use \f[C]%%\f[].
│ │ │ │ +To output to stdout use \f[C]\-o\ \-\f[].
│ │ │ │ .PP
│ │ │ │ The current default template is \f[C]%(title)s\-%(id)s.%(ext)s\f[].
│ │ │ │ .PP
│ │ │ │ In some cases, you don\[aq]t want special characters such as 中, spaces,
│ │ │ │ or &, such as when transferring the downloaded filename to a Windows
│ │ │ │ system or the filename through an 8bit\-unsafe channel.
│ │ │ │ In these cases, add the \f[C]\-\-restrict\-filenames\f[] flag to get a
│ │ │ │ shorter title:
│ │ │ │ +.SS Output template and Windows batch files
│ │ │ │ +.PP
│ │ │ │ +If you are using an output template inside a Windows batch file then you
│ │ │ │ +must escape plain percent characters (\f[C]%\f[]) by doubling, so that
│ │ │ │ +\f[C]\-o\ "%(title)s\-%(id)s.%(ext)s"\f[] should become
│ │ │ │ +\f[C]\-o\ "%%(title)s\-%%(id)s.%%(ext)s"\f[].
│ │ │ │ +However you should not touch \f[C]%\f[]\[aq]s that are not plain
│ │ │ │ +characters, e.g.
│ │ │ │ +environment variables for expansion should stay intact:
│ │ │ │ +\f[C]\-o\ "C:\\%HOMEPATH%\\Desktop\\%%(title)s.%%(ext)s"\f[].
│ │ │ │ +.SS Output template examples
│ │ │ │ +.PP
│ │ │ │ +Note on Windows you may need to use double quotes instead of single.
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ -$\ youtube\-dl\ \-\-get\-filename\ \-o\ "%(title)s.%(ext)s"\ BaW_jenozKc
│ │ │ │ +$\ youtube\-dl\ \-\-get\-filename\ \-o\ \[aq]%(title)s.%(ext)s\[aq]\ BaW_jenozKc
│ │ │ │ youtube\-dl\ test\ video\ \[aq]\[aq]_ä↭𝕐.mp4\ \ \ \ #\ All\ kinds\ of\ weird\ characters
│ │ │ │ -$\ youtube\-dl\ \-\-get\-filename\ \-o\ "%(title)s.%(ext)s"\ BaW_jenozKc\ \-\-restrict\-filenames
│ │ │ │ +
│ │ │ │ +$\ youtube\-dl\ \-\-get\-filename\ \-o\ \[aq]%(title)s.%(ext)s\[aq]\ BaW_jenozKc\ \-\-restrict\-filenames
│ │ │ │ youtube\-dl_test_video_.mp4\ \ \ \ \ \ \ \ \ \ #\ A\ simple\ file\ name
│ │ │ │ +
│ │ │ │ +#\ Download\ YouTube\ playlist\ videos\ in\ separate\ directory\ indexed\ by\ video\ order\ in\ a\ playlist
│ │ │ │ +$\ youtube\-dl\ \-o\ \[aq]%(playlist)s/%(playlist_index)s\ \-\ %(title)s.%(ext)s\[aq]\ https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re
│ │ │ │ +
│ │ │ │ +#\ Download\ all\ playlists\ of\ YouTube\ channel/user\ keeping\ each\ playlist\ in\ separate\ directory:
│ │ │ │ +$\ youtube\-dl\ \-o\ \[aq]%(uploader)s/%(playlist)s/%(playlist_index)s\ \-\ %(title)s.%(ext)s\[aq]\ https://www.youtube.com/user/TheLinuxFoundation/playlists
│ │ │ │ +
│ │ │ │ +#\ Download\ Udemy\ course\ keeping\ each\ chapter\ in\ separate\ directory\ under\ MyVideos\ directory\ in\ your\ home
│ │ │ │ +$\ youtube\-dl\ \-u\ user\ \-p\ password\ \-o\ \[aq]~/MyVideos/%(playlist)s/%(chapter_number)s\ \-\ %(chapter)s/%(title)s.%(ext)s\[aq]\ https://www.udemy.com/java\-tutorial/
│ │ │ │ +
│ │ │ │ +#\ Download\ entire\ series\ season\ keeping\ each\ series\ and\ each\ season\ in\ separate\ directory\ under\ C:/MyVideos
│ │ │ │ +$\ youtube\-dl\ \-o\ "C:/MyVideos/%(series)s/%(season_number)s\ \-\ %(season)s/%(episode_number)s\ \-\ %(episode)s.%(ext)s"\ http://videomore.ru/kino_v_detalayah/5_sezon/367617
│ │ │ │ +
│ │ │ │ +#\ Stream\ the\ video\ being\ downloaded\ to\ stdout
│ │ │ │ +$\ youtube\-dl\ \-o\ \-\ BaW_jenozKc
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.SH FORMAT SELECTION
│ │ │ │ +.PP
│ │ │ │ +By default youtube\-dl tries to download the best available quality,
│ │ │ │ +i.e.
│ │ │ │ +if you want the best quality you \f[B]don\[aq]t need\f[] to pass any
│ │ │ │ +special options, youtube\-dl will guess it for you by \f[B]default\f[].
│ │ │ │ +.PP
│ │ │ │ +But sometimes you may want to download in a different format, for
│ │ │ │ +example when you are on a slow or intermittent connection.
│ │ │ │ +The key mechanism for achieving this is so\-called \f[I]format
│ │ │ │ +selection\f[] based on which you can explicitly specify desired format,
│ │ │ │ +select formats based on some criterion or criteria, setup precedence and
│ │ │ │ +much more.
│ │ │ │ +.PP
│ │ │ │ +The general syntax for format selection is \f[C]\-\-format\ FORMAT\f[]
│ │ │ │ +or shorter \f[C]\-f\ FORMAT\f[] where \f[C]FORMAT\f[] is a \f[I]selector
│ │ │ │ +expression\f[], i.e.
│ │ │ │ +an expression that describes format or formats you would like to
│ │ │ │ +download.
│ │ │ │ +.PP
│ │ │ │ +\f[B]tl;dr:\f[] navigate me to examples (#format-selection-examples).
│ │ │ │ +.PP
│ │ │ │ +The simplest case is requesting a specific format, for example with
│ │ │ │ +\f[C]\-f\ 22\f[] you can download the format with format code equal to
│ │ │ │ +22.
│ │ │ │ +You can get the list of available format codes for particular video
│ │ │ │ +using \f[C]\-\-list\-formats\f[] or \f[C]\-F\f[].
│ │ │ │ +Note that these format codes are extractor specific.
│ │ │ │ +.PP
│ │ │ │ +You can also use a file extension (currently \f[C]3gp\f[], \f[C]aac\f[],
│ │ │ │ +\f[C]flv\f[], \f[C]m4a\f[], \f[C]mp3\f[], \f[C]mp4\f[], \f[C]ogg\f[],
│ │ │ │ +\f[C]wav\f[], \f[C]webm\f[] are supported) to download the best quality
│ │ │ │ +format of a particular file extension served as a single file, e.g.
│ │ │ │ +\f[C]\-f\ webm\f[] will download the best quality format with the
│ │ │ │ +\f[C]webm\f[] extension served as a single file.
│ │ │ │ +.PP
│ │ │ │ +You can also use special names to select particular edge case formats:
│ │ │ │ +\- \f[C]best\f[]: Select the best quality format represented by a single
│ │ │ │ +file with video and audio.
│ │ │ │ +\- \f[C]worst\f[]: Select the worst quality format represented by a
│ │ │ │ +single file with video and audio.
│ │ │ │ +\- \f[C]bestvideo\f[]: Select the best quality video\-only format (e.g.
│ │ │ │ +DASH video).
│ │ │ │ +May not be available.
│ │ │ │ +\- \f[C]worstvideo\f[]: Select the worst quality video\-only format.
│ │ │ │ +May not be available.
│ │ │ │ +\- \f[C]bestaudio\f[]: Select the best quality audio only\-format.
│ │ │ │ +May not be available.
│ │ │ │ +\- \f[C]worstaudio\f[]: Select the worst quality audio only\-format.
│ │ │ │ +May not be available.
│ │ │ │ +.PP
│ │ │ │ +For example, to download the worst quality video\-only format you can
│ │ │ │ +use \f[C]\-f\ worstvideo\f[].
│ │ │ │ +.PP
│ │ │ │ +If you want to download multiple videos and they don\[aq]t have the same
│ │ │ │ +formats available, you can specify the order of preference using
│ │ │ │ +slashes.
│ │ │ │ +Note that slash is left\-associative, i.e.
│ │ │ │ +formats on the left hand side are preferred, for example
│ │ │ │ +\f[C]\-f\ 22/17/18\f[] will download format 22 if it\[aq]s available,
│ │ │ │ +otherwise it will download format 17 if it\[aq]s available, otherwise it
│ │ │ │ +will download format 18 if it\[aq]s available, otherwise it will
│ │ │ │ +complain that no suitable formats are available for download.
│ │ │ │ +.PP
│ │ │ │ +If you want to download several formats of the same video use a comma as
│ │ │ │ +a separator, e.g.
│ │ │ │ +\f[C]\-f\ 22,17,18\f[] will download all these three formats, of course
│ │ │ │ +if they are available.
│ │ │ │ +Or a more sophisticated example combined with the precedence feature:
│ │ │ │ +\f[C]\-f\ 136/137/mp4/bestvideo,140/m4a/bestaudio\f[].
│ │ │ │ +.PP
│ │ │ │ +You can also filter the video formats by putting a condition in
│ │ │ │ +brackets, as in \f[C]\-f\ "best[height=720]"\f[] (or
│ │ │ │ +\f[C]\-f\ "[filesize>10M]"\f[]).
│ │ │ │ +.PP
│ │ │ │ +The following numeric meta fields can be used with comparisons
│ │ │ │ +\f[C]<\f[], \f[C]<=\f[], \f[C]>\f[], \f[C]>=\f[], \f[C]=\f[] (equals),
│ │ │ │ +\f[C]!=\f[] (not equals): \- \f[C]filesize\f[]: The number of bytes, if
│ │ │ │ +known in advance \- \f[C]width\f[]: Width of the video, if known \-
│ │ │ │ +\f[C]height\f[]: Height of the video, if known \- \f[C]tbr\f[]: Average
│ │ │ │ +bitrate of audio and video in KBit/s \- \f[C]abr\f[]: Average audio
│ │ │ │ +bitrate in KBit/s \- \f[C]vbr\f[]: Average video bitrate in KBit/s \-
│ │ │ │ +\f[C]asr\f[]: Audio sampling rate in Hertz \- \f[C]fps\f[]: Frame rate
│ │ │ │ +.PP
│ │ │ │ +Also filtering work for comparisons \f[C]=\f[] (equals), \f[C]!=\f[]
│ │ │ │ +(not equals), \f[C]^=\f[] (begins with), \f[C]$=\f[] (ends with),
│ │ │ │ +\f[C]*=\f[] (contains) and following string meta fields: \-
│ │ │ │ +\f[C]ext\f[]: File extension \- \f[C]acodec\f[]: Name of the audio codec
│ │ │ │ +in use \- \f[C]vcodec\f[]: Name of the video codec in use \-
│ │ │ │ +\f[C]container\f[]: Name of the container format \- \f[C]protocol\f[]:
│ │ │ │ +The protocol that will be used for the actual download, lower\-case
│ │ │ │ +(\f[C]http\f[], \f[C]https\f[], \f[C]rtsp\f[], \f[C]rtmp\f[],
│ │ │ │ +\f[C]rtmpe\f[], \f[C]mms\f[], \f[C]f4m\f[], \f[C]ism\f[], \f[C]m3u8\f[],
│ │ │ │ +or \f[C]m3u8_native\f[]) \- \f[C]format_id\f[]: A short description of
│ │ │ │ +the format
│ │ │ │ +.PP
│ │ │ │ +Note that none of the aforementioned meta fields are guaranteed to be
│ │ │ │ +present since this solely depends on the metadata obtained by particular
│ │ │ │ +extractor, i.e.
│ │ │ │ +the metadata offered by the video hoster.
│ │ │ │ +.PP
│ │ │ │ +Formats for which the value is not known are excluded unless you put a
│ │ │ │ +question mark (\f[C]?\f[]) after the operator.
│ │ │ │ +You can combine format filters, so
│ │ │ │ +\f[C]\-f\ "[height\ <=?\ 720][tbr>500]"\f[] selects up to 720p videos
│ │ │ │ +(or videos where the height is not known) with a bitrate of at least 500
│ │ │ │ +KBit/s.
│ │ │ │ +.PP
│ │ │ │ +You can merge the video and audio of two formats into a single file
│ │ │ │ +using \f[C]\-f\ <video\-format>+<audio\-format>\f[] (requires ffmpeg or
│ │ │ │ +avconv installed), for example \f[C]\-f\ bestvideo+bestaudio\f[] will
│ │ │ │ +download the best video\-only format, the best audio\-only format and
│ │ │ │ +mux them together with ffmpeg/avconv.
│ │ │ │ +.PP
│ │ │ │ +Format selectors can also be grouped using parentheses, for example if
│ │ │ │ +you want to download the best mp4 and webm formats with a height lower
│ │ │ │ +than 480 you can use \f[C]\-f\ \[aq](mp4,webm)[height<480]\[aq]\f[].
│ │ │ │ +.PP
│ │ │ │ +Since the end of April 2015 and version 2015.04.26, youtube\-dl uses
│ │ │ │ +\f[C]\-f\ bestvideo+bestaudio/best\f[] as the default format selection
│ │ │ │ +(see #5447 (https://github.com/rg3/youtube-dl/issues/5447),
│ │ │ │ +#5456 (https://github.com/rg3/youtube-dl/issues/5456)).
│ │ │ │ +If ffmpeg or avconv are installed this results in downloading
│ │ │ │ +\f[C]bestvideo\f[] and \f[C]bestaudio\f[] separately and muxing them
│ │ │ │ +together into a single file giving the best overall quality available.
│ │ │ │ +Otherwise it falls back to \f[C]best\f[] and results in downloading the
│ │ │ │ +best available quality served as a single file.
│ │ │ │ +\f[C]best\f[] is also needed for videos that don\[aq]t come from YouTube
│ │ │ │ +because they don\[aq]t provide the audio and video in two different
│ │ │ │ +files.
│ │ │ │ +If you want to only download some DASH formats (for example if you are
│ │ │ │ +not interested in getting videos with a resolution higher than 1080p),
│ │ │ │ +you can add \f[C]\-f\ bestvideo[height<=?1080]+bestaudio/best\f[] to
│ │ │ │ +your configuration file.
│ │ │ │ +Note that if you use youtube\-dl to stream to \f[C]stdout\f[] (and most
│ │ │ │ +likely to pipe it to your media player then), i.e.
│ │ │ │ +you explicitly specify output template as \f[C]\-o\ \-\f[], youtube\-dl
│ │ │ │ +still uses \f[C]\-f\ best\f[] format selection in order to start content
│ │ │ │ +delivery immediately to your player and not to wait until
│ │ │ │ +\f[C]bestvideo\f[] and \f[C]bestaudio\f[] are downloaded and muxed.
│ │ │ │ +.PP
│ │ │ │ +If you want to preserve the old format selection behavior (prior to
│ │ │ │ +youtube\-dl 2015.04.26), i.e.
│ │ │ │ +you want to download the best available quality media served as a single
│ │ │ │ +file, you should explicitly specify your choice with \f[C]\-f\ best\f[].
│ │ │ │ +You may want to add it to the configuration file (#configuration) in
│ │ │ │ +order not to type it every time you run youtube\-dl.
│ │ │ │ +.SS Format selection examples
│ │ │ │ +.PP
│ │ │ │ +Note on Windows you may need to use double quotes instead of single.
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +#\ Download\ best\ mp4\ format\ available\ or\ any\ other\ best\ if\ no\ mp4\ available
│ │ │ │ +$\ youtube\-dl\ \-f\ \[aq]bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best\[aq]
│ │ │ │ +
│ │ │ │ +#\ Download\ best\ format\ available\ but\ not\ better\ that\ 480p
│ │ │ │ +$\ youtube\-dl\ \-f\ \[aq]bestvideo[height<=480]+bestaudio/best[height<=480]\[aq]
│ │ │ │ +
│ │ │ │ +#\ Download\ best\ video\ only\ format\ but\ no\ bigger\ than\ 50\ MB
│ │ │ │ +$\ youtube\-dl\ \-f\ \[aq]best[filesize<50M]\[aq]
│ │ │ │ +
│ │ │ │ +#\ Download\ best\ format\ available\ via\ direct\ link\ over\ HTTP/HTTPS\ protocol
│ │ │ │ +$\ youtube\-dl\ \-f\ \[aq](bestvideo+bestaudio/best)[protocol^=http]\[aq]
│ │ │ │ +
│ │ │ │ +#\ Download\ the\ best\ video\ format\ and\ the\ best\ audio\ format\ without\ merging\ them
│ │ │ │ +$\ youtube\-dl\ \-f\ \[aq]bestvideo,bestaudio\[aq]\ \-o\ \[aq]%(title)s.f%(format_id)s.%(ext)s\[aq]
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ +.PP
│ │ │ │ +Note that in the last example, an output template is recommended as
│ │ │ │ +bestvideo and bestaudio may have the same file name.
│ │ │ │ .SH VIDEO SELECTION
│ │ │ │ .PP
│ │ │ │ Videos can be filtered by their upload date using the options
│ │ │ │ -\f[C]\-\-date\f[], \f[C]\-\-datebefore\f[] or \f[C]\-\-dateafter\f[],
│ │ │ │ -they accept dates in two formats:
│ │ │ │ +\f[C]\-\-date\f[], \f[C]\-\-datebefore\f[] or \f[C]\-\-dateafter\f[].
│ │ │ │ +They accept dates in two formats:
│ │ │ │ .IP \[bu] 2
│ │ │ │ Absolute dates: Dates in the format \f[C]YYYYMMDD\f[].
│ │ │ │ .IP \[bu] 2
│ │ │ │ Relative dates: Dates in the format
│ │ │ │ \f[C](now|today)[+\-][0\-9](day|week|month|year)(s)?\f[]
│ │ │ │ .PP
│ │ │ │ Examples:
│ │ │ │ @@ -380,20 +1383,104 @@
│ │ │ │ \f[C]
│ │ │ │ #\ Download\ only\ the\ videos\ uploaded\ in\ the\ last\ 6\ months
│ │ │ │ $\ youtube\-dl\ \-\-dateafter\ now\-6months
│ │ │ │
│ │ │ │ #\ Download\ only\ the\ videos\ uploaded\ on\ January\ 1,\ 1970
│ │ │ │ $\ youtube\-dl\ \-\-date\ 19700101
│ │ │ │
│ │ │ │ -$\ #\ will\ only\ download\ the\ videos\ uploaded\ in\ the\ 200x\ decade
│ │ │ │ +$\ #\ Download\ only\ the\ videos\ uploaded\ in\ the\ 200x\ decade
│ │ │ │ $\ youtube\-dl\ \-\-dateafter\ 20000101\ \-\-datebefore\ 20091231
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ .SH FAQ
│ │ │ │ -.SS Can you please put the \-b option back?
│ │ │ │ +.SS How do I update youtube\-dl?
│ │ │ │ +.PP
│ │ │ │ +If you\[aq]ve followed our manual installation
│ │ │ │ +instructions (http://rg3.github.io/youtube-dl/download.html), you can
│ │ │ │ +simply run \f[C]youtube\-dl\ \-U\f[] (or, on Linux,
│ │ │ │ +\f[C]sudo\ youtube\-dl\ \-U\f[]).
│ │ │ │ +.PP
│ │ │ │ +If you have used pip, a simple
│ │ │ │ +\f[C]sudo\ pip\ install\ \-U\ youtube\-dl\f[] is sufficient to update.
│ │ │ │ +.PP
│ │ │ │ +If you have installed youtube\-dl using a package manager like
│ │ │ │ +\f[I]apt\-get\f[] or \f[I]yum\f[], use the standard system update
│ │ │ │ +mechanism to update.
│ │ │ │ +Note that distribution packages are often outdated.
│ │ │ │ +As a rule of thumb, youtube\-dl releases at least once a month, and
│ │ │ │ +often weekly or even daily.
│ │ │ │ +Simply go to http://yt\-dl.org/ to find out the current version.
│ │ │ │ +Unfortunately, there is nothing we youtube\-dl developers can do if your
│ │ │ │ +distribution serves a really outdated version.
│ │ │ │ +You can (and should) complain to your distribution in their bugtracker
│ │ │ │ +or support forum.
│ │ │ │ +.PP
│ │ │ │ +As a last resort, you can also uninstall the version installed by your
│ │ │ │ +package manager and follow our manual installation instructions.
│ │ │ │ +For that, remove the distribution\[aq]s package, with a line like
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +sudo\ apt\-get\ remove\ \-y\ youtube\-dl
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Afterwards, simply follow our manual installation
│ │ │ │ +instructions (http://rg3.github.io/youtube-dl/download.html):
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +sudo\ wget\ https://yt\-dl.org/latest/youtube\-dl\ \-O\ /usr/local/bin/youtube\-dl
│ │ │ │ +sudo\ chmod\ a+x\ /usr/local/bin/youtube\-dl
│ │ │ │ +hash\ \-r
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Again, from then on you\[aq]ll be able to update with
│ │ │ │ +\f[C]sudo\ youtube\-dl\ \-U\f[].
│ │ │ │ +.SS youtube\-dl is extremely slow to start on Windows
│ │ │ │ +.PP
│ │ │ │ +Add a file exclusion for \f[C]youtube\-dl.exe\f[] in Windows Defender
│ │ │ │ +settings.
│ │ │ │ +.SS I\[aq]m getting an error
│ │ │ │ +\f[C]Unable\ to\ extract\ OpenGraph\ title\f[] on YouTube playlists
│ │ │ │ +.PP
│ │ │ │ +YouTube changed their playlist format in March 2014 and later on, so
│ │ │ │ +you\[aq]ll need at least youtube\-dl 2014.07.25 to download all YouTube
│ │ │ │ +videos.
│ │ │ │ +.PP
│ │ │ │ +If you have installed youtube\-dl with a package manager, pip, setup.py
│ │ │ │ +or a tarball, please use that to update.
│ │ │ │ +Note that Ubuntu packages do not seem to get updated anymore.
│ │ │ │ +Since we are not affiliated with Ubuntu, there is little we can do.
│ │ │ │ +Feel free to report
│ │ │ │ +bugs (https://bugs.launchpad.net/ubuntu/+source/youtube-dl/+filebug) to
│ │ │ │ +the Ubuntu packaging
│ │ │ │ +people (mailto:ubuntu-motu at lists.ubuntu.com?subject=outdated%20version%20of%20youtube-dl)
│ │ │ │ +\- all they have to do is update the package to a somewhat recent
│ │ │ │ +version.
│ │ │ │ +See above for a way to update.
│ │ │ │ +.SS I\[aq]m getting an error when trying to use output template:
│ │ │ │ +\f[C]error:\ using\ output\ template\ conflicts\ with\ using\ title,\ video\ ID\ or\ auto\ number\f[]
│ │ │ │ +.PP
│ │ │ │ +Make sure you are not using \f[C]\-o\f[] with any of these options
│ │ │ │ +\f[C]\-t\f[], \f[C]\-\-title\f[], \f[C]\-\-id\f[], \f[C]\-A\f[] or
│ │ │ │ +\f[C]\-\-auto\-number\f[] set in command line or in a configuration
│ │ │ │ +file.
│ │ │ │ +Remove the latter if any.
│ │ │ │ +.SS Do I always have to pass \f[C]\-citw\f[]?
│ │ │ │ +.PP
│ │ │ │ +By default, youtube\-dl intends to have the best options (incidentally,
│ │ │ │ +if you have a convincing case that these should be different, please
│ │ │ │ +file an issue where you explain that (https://yt-dl.org/bug)).
│ │ │ │ +Therefore, it is unnecessary and sometimes harmful to copy long option
│ │ │ │ +strings from webpages.
│ │ │ │ +In particular, the only option out of \f[C]\-citw\f[] that is regularly
│ │ │ │ +useful is \f[C]\-i\f[].
│ │ │ │ +.SS Can you please put the \f[C]\-b\f[] option back?
│ │ │ │ .PP
│ │ │ │ Most people asking this question are not aware that youtube\-dl now
│ │ │ │ defaults to downloading the highest available quality as reported by
│ │ │ │ YouTube, which will be 1080p or 720p in some cases, so you no longer
│ │ │ │ need the \f[C]\-b\f[] option.
│ │ │ │ For some specific videos, maybe YouTube does not report them to be
│ │ │ │ available in a specific high quality format you\[aq]re interested in.
│ │ │ │ @@ -402,38 +1489,114 @@
│ │ │ │ .SS I get HTTP error 402 when trying to download a video. What\[aq]s
│ │ │ │ this?
│ │ │ │ .PP
│ │ │ │ Apparently YouTube requires you to pass a CAPTCHA test if you download
│ │ │ │ too much.
│ │ │ │ We\[aq]re considering to provide a way to let you solve the
│ │ │ │ CAPTCHA (https://github.com/rg3/youtube-dl/issues/154), but at the
│ │ │ │ -moment, your best course of action is pointing a webbrowser to the
│ │ │ │ +moment, your best course of action is pointing a web browser to the
│ │ │ │ youtube URL, solving the CAPTCHA, and restart youtube\-dl.
│ │ │ │ +.SS Do I need any other programs?
│ │ │ │ +.PP
│ │ │ │ +youtube\-dl works fine on its own on most sites.
│ │ │ │ +However, if you want to convert video/audio, you\[aq]ll need
│ │ │ │ +avconv (https://libav.org/) or ffmpeg (https://www.ffmpeg.org/).
│ │ │ │ +On some sites \- most notably YouTube \- videos can be retrieved in a
│ │ │ │ +higher quality format without sound.
│ │ │ │ +youtube\-dl will detect whether avconv/ffmpeg is present and
│ │ │ │ +automatically pick the best option.
│ │ │ │ +.PP
│ │ │ │ +Videos or video formats streamed via RTMP protocol can only be
│ │ │ │ +downloaded when rtmpdump (https://rtmpdump.mplayerhq.hu/) is installed.
│ │ │ │ +Downloading MMS and RTSP videos requires either
│ │ │ │ +mplayer (http://mplayerhq.hu/) or mpv (https://mpv.io/) to be installed.
│ │ │ │ .SS I have downloaded a video but how can I play it?
│ │ │ │ .PP
│ │ │ │ Once the video is fully downloaded, use any video player, such as
│ │ │ │ -vlc (http://www.videolan.org) or mplayer (http://www.mplayerhq.hu/).
│ │ │ │ -.SS The links provided by youtube\-dl \-g are not working anymore
│ │ │ │ -.PP
│ │ │ │ -The URLs youtube\-dl outputs require the downloader to have the correct
│ │ │ │ -cookies.
│ │ │ │ +mpv (https://mpv.io/), vlc (http://www.videolan.org/) or
│ │ │ │ +mplayer (http://www.mplayerhq.hu/).
│ │ │ │ +.SS I extracted a video URL with \f[C]\-g\f[], but it does not play on
│ │ │ │ +another machine / in my web browser.
│ │ │ │ +.PP
│ │ │ │ +It depends a lot on the service.
│ │ │ │ +In many cases, requests for the video (to download/play it) must come
│ │ │ │ +from the same IP address and with the same cookies and/or HTTP headers.
│ │ │ │ Use the \f[C]\-\-cookies\f[] option to write the required cookies into a
│ │ │ │ file, and advise your downloader to read cookies from that file.
│ │ │ │ Some sites also require a common user agent to be used, use
│ │ │ │ \f[C]\-\-dump\-user\-agent\f[] to see the one in use by youtube\-dl.
│ │ │ │ +You can also get necessary cookies and HTTP headers from JSON output
│ │ │ │ +obtained with \f[C]\-\-dump\-json\f[].
│ │ │ │ +.PP
│ │ │ │ +It may be beneficial to use IPv6; in some cases, the restrictions are
│ │ │ │ +only applied to IPv4.
│ │ │ │ +Some services (sometimes only for a subset of videos) do not restrict
│ │ │ │ +the video URL by IP address, cookie, or user\-agent, but these are the
│ │ │ │ +exception rather than the rule.
│ │ │ │ +.PP
│ │ │ │ +Please bear in mind that some URL protocols are \f[B]not\f[] supported
│ │ │ │ +by browsers out of the box, including RTMP.
│ │ │ │ +If you are using \f[C]\-g\f[], your own downloader must support these as
│ │ │ │ +well.
│ │ │ │ +.PP
│ │ │ │ +If you want to play the video on a machine that is not running
│ │ │ │ +youtube\-dl, you can relay the video content from the machine that runs
│ │ │ │ +youtube\-dl.
│ │ │ │ +You can use \f[C]\-o\ \-\f[] to let youtube\-dl stream a video to
│ │ │ │ +stdout, or simply allow the player to download the files written by
│ │ │ │ +youtube\-dl in turn.
│ │ │ │ .SS ERROR: no fmt_url_map or conn information found in video info
│ │ │ │ .PP
│ │ │ │ -youtube has switched to a new video info format in July 2011 which is
│ │ │ │ +YouTube has switched to a new video info format in July 2011 which is
│ │ │ │ not supported by old versions of youtube\-dl.
│ │ │ │ -You can update youtube\-dl with \f[C]sudo\ youtube\-dl\ \-\-update\f[].
│ │ │ │ +See above (#how-do-i-update-youtube-dl) for how to update youtube\-dl.
│ │ │ │ .SS ERROR: unable to download video
│ │ │ │ .PP
│ │ │ │ -youtube requires an additional signature since September 2012 which is
│ │ │ │ +YouTube requires an additional signature since September 2012 which is
│ │ │ │ not supported by old versions of youtube\-dl.
│ │ │ │ -You can update youtube\-dl with \f[C]sudo\ youtube\-dl\ \-\-update\f[].
│ │ │ │ +See above (#how-do-i-update-youtube-dl) for how to update youtube\-dl.
│ │ │ │ +.SS Video URL contains an ampersand and I\[aq]m getting some strange
│ │ │ │ +output \f[C][1]\ 2839\f[] or
│ │ │ │ +\f[C]\[aq]v\[aq]\ is\ not\ recognized\ as\ an\ internal\ or\ external\ command\f[]
│ │ │ │ +.PP
│ │ │ │ +That\[aq]s actually the output from your shell.
│ │ │ │ +Since ampersand is one of the special shell characters it\[aq]s
│ │ │ │ +interpreted by the shell preventing you from passing the whole URL to
│ │ │ │ +youtube\-dl.
│ │ │ │ +To disable your shell from interpreting the ampersands (or any other
│ │ │ │ +special characters) you have to either put the whole URL in quotes or
│ │ │ │ +escape them with a backslash (which approach will work depends on your
│ │ │ │ +shell).
│ │ │ │ +.PP
│ │ │ │ +For example if your URL is
│ │ │ │ +https://www.youtube.com/watch?t=4&v=BaW_jenozKc you should end up with
│ │ │ │ +following command:
│ │ │ │ +.PP
│ │ │ │ +\f[C]youtube\-dl\ \[aq]https://www.youtube.com/watch?t=4&v=BaW_jenozKc\[aq]\f[]
│ │ │ │ +.PP
│ │ │ │ +or
│ │ │ │ +.PP
│ │ │ │ +\f[C]youtube\-dl\ https://www.youtube.com/watch?t=4\\&v=BaW_jenozKc\f[]
│ │ │ │ +.PP
│ │ │ │ +For Windows you have to use the double quotes:
│ │ │ │ +.PP
│ │ │ │ +\f[C]youtube\-dl\ "https://www.youtube.com/watch?t=4&v=BaW_jenozKc"\f[]
│ │ │ │ +.SS ExtractorError: Could not find JS function u\[aq]OF\[aq]
│ │ │ │ +.PP
│ │ │ │ +In February 2015, the new YouTube player contained a character sequence
│ │ │ │ +in a string that was misinterpreted by old versions of youtube\-dl.
│ │ │ │ +See above (#how-do-i-update-youtube-dl) for how to update youtube\-dl.
│ │ │ │ +.SS HTTP Error 429: Too Many Requests or 402: Payment Required
│ │ │ │ +.PP
│ │ │ │ +These two error codes indicate that the service is blocking your IP
│ │ │ │ +address because of overuse.
│ │ │ │ +Contact the service and ask them to unblock your IP address, or \- if
│ │ │ │ +you have acquired a whitelisted IP address already \- use the
│ │ │ │ +\f[C]\-\-proxy\f[] or \f[C]\-\-source\-address\f[]
│ │ │ │ +options (#network-options) to select another IP address.
│ │ │ │ .SS SyntaxError: Non\-ASCII character
│ │ │ │ .PP
│ │ │ │ The error
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ File\ "youtube\-dl",\ line\ 2
│ │ │ │ @@ -441,25 +1604,261 @@
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ .PP
│ │ │ │ means you\[aq]re using an outdated version of Python.
│ │ │ │ Please update to Python 2.6 or 2.7.
│ │ │ │ .SS What is this binary file? Where has the code gone?
│ │ │ │ .PP
│ │ │ │ -Since June 2012 (#342) youtube\-dl is packed as an executable zipfile,
│ │ │ │ -simply unzip it (might need renaming to \f[C]youtube\-dl.zip\f[] first
│ │ │ │ -on some systems) or clone the git repository, as laid out above.
│ │ │ │ +Since June 2012 (#342 (https://github.com/rg3/youtube-dl/issues/342))
│ │ │ │ +youtube\-dl is packed as an executable zipfile, simply unzip it (might
│ │ │ │ +need renaming to \f[C]youtube\-dl.zip\f[] first on some systems) or
│ │ │ │ +clone the git repository, as laid out above.
│ │ │ │ If you modify the code, you can run it by executing the
│ │ │ │ \f[C]__main__.py\f[] file.
│ │ │ │ To recompile the executable, run \f[C]make\ youtube\-dl\f[].
│ │ │ │ -.SS The exe throws a \f[I]Runtime error from Visual C++\f[]
│ │ │ │ +.SS The exe throws an error due to missing \f[C]MSVCR100.dll\f[]
│ │ │ │ +.PP
│ │ │ │ +To run the exe you need to install first the Microsoft Visual C++ 2010
│ │ │ │ +Redistributable Package
│ │ │ │ +(x86) (https://www.microsoft.com/en-US/download/details.aspx?id=5555).
│ │ │ │ +.SS On Windows, how should I set up ffmpeg and youtube\-dl? Where should
│ │ │ │ +I put the exe files?
│ │ │ │ +.PP
│ │ │ │ +If you put youtube\-dl and ffmpeg in the same directory that you\[aq]re
│ │ │ │ +running the command from, it will work, but that\[aq]s rather
│ │ │ │ +cumbersome.
│ │ │ │ +.PP
│ │ │ │ +To make a different directory work \- either for ffmpeg, or for
│ │ │ │ +youtube\-dl, or for both \- simply create the directory (say,
│ │ │ │ +\f[C]C:\\bin\f[], or \f[C]C:\\Users\\<User\ name>\\bin\f[]), put all the
│ │ │ │ +executables directly in there, and then set your PATH environment
│ │ │ │ +variable (https://www.java.com/en/download/help/path.xml) to include
│ │ │ │ +that directory.
│ │ │ │ +.PP
│ │ │ │ +From then on, after restarting your shell, you will be able to access
│ │ │ │ +both youtube\-dl and ffmpeg (and youtube\-dl will be able to find
│ │ │ │ +ffmpeg) by simply typing \f[C]youtube\-dl\f[] or \f[C]ffmpeg\f[], no
│ │ │ │ +matter what directory you\[aq]re in.
│ │ │ │ +.SS How do I put downloads into a specific folder?
│ │ │ │ +.PP
│ │ │ │ +Use the \f[C]\-o\f[] to specify an output template (#output-template),
│ │ │ │ +for example \f[C]\-o\ "/home/user/videos/%(title)s\-%(id)s.%(ext)s"\f[].
│ │ │ │ +If you want this for all of your downloads, put the option into your
│ │ │ │ +configuration file (#configuration).
│ │ │ │ +.SS How do I download a video starting with a \f[C]\-\f[]?
│ │ │ │ +.PP
│ │ │ │ +Either prepend \f[C]http://www.youtube.com/watch?v=\f[] or separate the
│ │ │ │ +ID from the options with \f[C]\-\-\f[]:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +youtube\-dl\ \-\-\ \-wNyEUrxzFU
│ │ │ │ +youtube\-dl\ "http://www.youtube.com/watch?v=\-wNyEUrxzFU"
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.SS How do I pass cookies to youtube\-dl?
│ │ │ │ +.PP
│ │ │ │ +Use the \f[C]\-\-cookies\f[] option, for example
│ │ │ │ +\f[C]\-\-cookies\ /path/to/cookies/file.txt\f[].
│ │ │ │ +.PP
│ │ │ │ +In order to extract cookies from browser use any conforming browser
│ │ │ │ +extension for exporting cookies.
│ │ │ │ +For example,
│ │ │ │ +cookies.txt (https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg)
│ │ │ │ +(for Chrome) or Export
│ │ │ │ +Cookies (https://addons.mozilla.org/en-US/firefox/addon/export-cookies/)
│ │ │ │ +(for Firefox).
│ │ │ │ +.PP
│ │ │ │ +Note that the cookies file must be in Mozilla/Netscape format and the
│ │ │ │ +first line of the cookies file must be either
│ │ │ │ +\f[C]#\ HTTP\ Cookie\ File\f[] or
│ │ │ │ +\f[C]#\ Netscape\ HTTP\ Cookie\ File\f[].
│ │ │ │ +Make sure you have correct newline
│ │ │ │ +format (https://en.wikipedia.org/wiki/Newline) in the cookies file and
│ │ │ │ +convert newlines if necessary to correspond with your OS, namely
│ │ │ │ +\f[C]CRLF\f[] (\f[C]\\r\\n\f[]) for Windows and \f[C]LF\f[]
│ │ │ │ +(\f[C]\\n\f[]) for Unix and Unix\-like systems (Linux, Mac OS, etc.).
│ │ │ │ +\f[C]HTTP\ Error\ 400:\ Bad\ Request\f[] when using \f[C]\-\-cookies\f[]
│ │ │ │ +is a good sign of invalid newline format.
│ │ │ │ +.PP
│ │ │ │ +Passing cookies to youtube\-dl is a good way to workaround login when a
│ │ │ │ +particular extractor does not implement it explicitly.
│ │ │ │ +Another use case is working around
│ │ │ │ +CAPTCHA (https://en.wikipedia.org/wiki/CAPTCHA) some websites require
│ │ │ │ +you to solve in particular cases in order to get access (e.g.
│ │ │ │ +YouTube, CloudFlare).
│ │ │ │ +.SS How do I stream directly to media player?
│ │ │ │ +.PP
│ │ │ │ +You will first need to tell youtube\-dl to stream media to stdout with
│ │ │ │ +\f[C]\-o\ \-\f[], and also tell your media player to read from stdin (it
│ │ │ │ +must be capable of this for streaming) and then pipe former to latter.
│ │ │ │ +For example, streaming to vlc (http://www.videolan.org/) can be achieved
│ │ │ │ +with:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +youtube\-dl\ \-o\ \-\ "http://www.youtube.com/watch?v=BaW_jenozKcj"\ |\ vlc\ \-
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.SS How do I download only new videos from a playlist?
│ │ │ │ +.PP
│ │ │ │ +Use download\-archive feature.
│ │ │ │ +With this feature you should initially download the complete playlist
│ │ │ │ +with \f[C]\-\-download\-archive\ /path/to/download/archive/file.txt\f[]
│ │ │ │ +that will record identifiers of all the videos in a special file.
│ │ │ │ +Each subsequent run with the same \f[C]\-\-download\-archive\f[] will
│ │ │ │ +download only new videos and skip all videos that have been downloaded
│ │ │ │ +before.
│ │ │ │ +Note that only successful downloads are recorded in the file.
│ │ │ │ +.PP
│ │ │ │ +For example, at first,
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +youtube\-dl\ \-\-download\-archive\ archive.txt\ "https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re"
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +will download the complete \f[C]PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re\f[]
│ │ │ │ +playlist and create a file \f[C]archive.txt\f[].
│ │ │ │ +Each subsequent run will only download new videos if any:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +youtube\-dl\ \-\-download\-archive\ archive.txt\ "https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re"
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.SS Should I add \f[C]\-\-hls\-prefer\-native\f[] into my config?
│ │ │ │ .PP
│ │ │ │ -To run the exe you need to install first the Microsoft Visual C++ 2008
│ │ │ │ -Redistributable
│ │ │ │ -Package (http://www.microsoft.com/en-us/download/details.aspx?id=29).
│ │ │ │ +When youtube\-dl detects an HLS video, it can download it either with
│ │ │ │ +the built\-in downloader or ffmpeg.
│ │ │ │ +Since many HLS streams are slightly invalid and ffmpeg/youtube\-dl each
│ │ │ │ +handle some invalid cases better than the other, there is an option to
│ │ │ │ +switch the downloader if needed.
│ │ │ │ +.PP
│ │ │ │ +When youtube\-dl knows that one particular downloader works better for a
│ │ │ │ +given website, that downloader will be picked.
│ │ │ │ +Otherwise, youtube\-dl will pick the best downloader for general
│ │ │ │ +compatibility, which at the moment happens to be ffmpeg.
│ │ │ │ +This choice may change in future versions of youtube\-dl, with
│ │ │ │ +improvements of the built\-in downloader and/or ffmpeg.
│ │ │ │ +.PP
│ │ │ │ +In particular, the generic extractor (used when your website is not in
│ │ │ │ +the list of supported sites by
│ │ │ │ +youtube\-dl (http://rg3.github.io/youtube-dl/supportedsites.html) cannot
│ │ │ │ +mandate one specific downloader.
│ │ │ │ +.PP
│ │ │ │ +If you put either \f[C]\-\-hls\-prefer\-native\f[] or
│ │ │ │ +\f[C]\-\-hls\-prefer\-ffmpeg\f[] into your configuration, a different
│ │ │ │ +subset of videos will fail to download correctly.
│ │ │ │ +Instead, it is much better to file an issue (https://yt-dl.org/bug) or a
│ │ │ │ +pull request which details why the native or the ffmpeg HLS downloader
│ │ │ │ +is a better choice for your use case.
│ │ │ │ +.SS Can you add support for this anime video site, or site which shows
│ │ │ │ +current movies for free?
│ │ │ │ +.PP
│ │ │ │ +As a matter of policy (as well as legality), youtube\-dl does not
│ │ │ │ +include support for services that specialize in infringing copyright.
│ │ │ │ +As a rule of thumb, if you cannot easily find a video that the service
│ │ │ │ +is quite obviously allowed to distribute (i.e.
│ │ │ │ +that has been uploaded by the creator, the creator\[aq]s distributor, or
│ │ │ │ +is published under a free license), the service is probably unfit for
│ │ │ │ +inclusion to youtube\-dl.
│ │ │ │ +.PP
│ │ │ │ +A note on the service that they don\[aq]t host the infringing content,
│ │ │ │ +but just link to those who do, is evidence that the service should
│ │ │ │ +\f[B]not\f[] be included into youtube\-dl.
│ │ │ │ +The same goes for any DMCA note when the whole front page of the service
│ │ │ │ +is filled with videos they are not allowed to distribute.
│ │ │ │ +A "fair use" note is equally unconvincing if the service shows
│ │ │ │ +copyright\-protected videos in full without authorization.
│ │ │ │ +.PP
│ │ │ │ +Support requests for services that \f[B]do\f[] purchase the rights to
│ │ │ │ +distribute their content are perfectly fine though.
│ │ │ │ +If in doubt, you can simply include a source that mentions the
│ │ │ │ +legitimate purchase of content.
│ │ │ │ +.SS How can I speed up work on my issue?
│ │ │ │ +.PP
│ │ │ │ +(Also known as: Help, my important issue not being solved!) The
│ │ │ │ +youtube\-dl core developer team is quite small.
│ │ │ │ +While we do our best to solve as many issues as possible, sometimes that
│ │ │ │ +can take quite a while.
│ │ │ │ +To speed up your issue, here\[aq]s what you can do:
│ │ │ │ +.PP
│ │ │ │ +First of all, please do report the issue at our issue
│ │ │ │ +tracker (https://yt-dl.org/bugs).
│ │ │ │ +That allows us to coordinate all efforts by users and developers, and
│ │ │ │ +serves as a unified point.
│ │ │ │ +Unfortunately, the youtube\-dl project has grown too large to use
│ │ │ │ +personal email as an effective communication channel.
│ │ │ │ +.PP
│ │ │ │ +Please read the bug reporting instructions (#bugs) below.
│ │ │ │ +A lot of bugs lack all the necessary information.
│ │ │ │ +If you can, offer proxy, VPN, or shell access to the youtube\-dl
│ │ │ │ +developers.
│ │ │ │ +If you are able to, test the issue from multiple computers in multiple
│ │ │ │ +countries to exclude local censorship or misconfiguration issues.
│ │ │ │ +.PP
│ │ │ │ +If nobody is interested in solving your issue, you are welcome to take
│ │ │ │ +matters into your own hands and submit a pull request (or coerce/pay
│ │ │ │ +somebody else to do so).
│ │ │ │ +.PP
│ │ │ │ +Feel free to bump the issue from time to time by writing a small comment
│ │ │ │ +("Issue is still present in youtube\-dl version ...from France, but
│ │ │ │ +fixed from Belgium"), but please not more than once a month.
│ │ │ │ +Please do not declare your issue as \f[C]important\f[] or
│ │ │ │ +\f[C]urgent\f[].
│ │ │ │ +.SS How can I detect whether a given URL is supported by youtube\-dl?
│ │ │ │ +.PP
│ │ │ │ +For one, have a look at the list of supported
│ │ │ │ +sites (docs/supportedsites.md).
│ │ │ │ +Note that it can sometimes happen that the site changes its URL scheme
│ │ │ │ +(say, from http://example.com/video/1234567 to
│ │ │ │ +http://example.com/v/1234567 ) and youtube\-dl reports an URL of a
│ │ │ │ +service in that list as unsupported.
│ │ │ │ +In that case, simply report a bug.
│ │ │ │ +.PP
│ │ │ │ +It is \f[I]not\f[] possible to detect whether a URL is supported or not.
│ │ │ │ +That\[aq]s because youtube\-dl contains a generic extractor which
│ │ │ │ +matches \f[B]all\f[] URLs.
│ │ │ │ +You may be tempted to disable, exclude, or remove the generic extractor,
│ │ │ │ +but the generic extractor not only allows users to extract videos from
│ │ │ │ +lots of websites that embed a video from another service, but may also
│ │ │ │ +be used to extract video from a service that it\[aq]s hosting itself.
│ │ │ │ +Therefore, we neither recommend nor support disabling, excluding, or
│ │ │ │ +removing the generic extractor.
│ │ │ │ +.PP
│ │ │ │ +If you want to find out whether a given URL is supported, simply call
│ │ │ │ +youtube\-dl with it.
│ │ │ │ +If you get no videos back, chances are the URL is either not referring
│ │ │ │ +to a video or unsupported.
│ │ │ │ +You can find out which by examining the output (if you run youtube\-dl
│ │ │ │ +on the console) or catching an \f[C]UnsupportedError\f[] exception if
│ │ │ │ +you run it from a Python program.
│ │ │ │ +.SH Why do I need to go through that much red tape when filing bugs?
│ │ │ │ +.PP
│ │ │ │ +Before we had the issue template, despite our extensive bug reporting
│ │ │ │ +instructions (#bugs), about 80% of the issue reports we got were
│ │ │ │ +useless, for instance because people used ancient versions hundreds of
│ │ │ │ +releases old, because of simple syntactic errors (not in youtube\-dl but
│ │ │ │ +in general shell usage), because the problem was already reported
│ │ │ │ +multiple times before, because people did not actually read an error
│ │ │ │ +message, even if it said "please install ffmpeg", because people did not
│ │ │ │ +mention the URL they were trying to download and many more simple,
│ │ │ │ +easy\-to\-avoid problems, many of whom were totally unrelated to
│ │ │ │ +youtube\-dl.
│ │ │ │ +.PP
│ │ │ │ +youtube\-dl is an open\-source project manned by too few volunteers, so
│ │ │ │ +we\[aq]d rather spend time fixing bugs where we are certain none of
│ │ │ │ +those simple problems apply, and where we can be reasonably confident to
│ │ │ │ +be able to reproduce the issue without asking the reporter repeatedly.
│ │ │ │ +As such, the output of \f[C]youtube\-dl\ \-v\ YOUR_URL_HERE\f[] is
│ │ │ │ +really all that\[aq]s required to file an issue.
│ │ │ │ +The issue template also guides you through some basic steps you can do,
│ │ │ │ +such as checking that your version of youtube\-dl is current.
│ │ │ │ .SH DEVELOPER INSTRUCTIONS
│ │ │ │ .PP
│ │ │ │ Most users do not need to build youtube\-dl and can download the
│ │ │ │ builds (http://rg3.github.io/youtube-dl/download.html) or get them from
│ │ │ │ their distribution.
│ │ │ │ .PP
│ │ │ │ To run youtube\-dl as a developer, you don\[aq]t need to build anything
│ │ │ │ @@ -483,143 +1882,476 @@
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ .PP
│ │ │ │ If you want to create a build of youtube\-dl yourself, you\[aq]ll need
│ │ │ │ .IP \[bu] 2
│ │ │ │ python
│ │ │ │ .IP \[bu] 2
│ │ │ │ -make
│ │ │ │ +make (only GNU make is supported)
│ │ │ │ .IP \[bu] 2
│ │ │ │ pandoc
│ │ │ │ .IP \[bu] 2
│ │ │ │ zip
│ │ │ │ .IP \[bu] 2
│ │ │ │ nosetests
│ │ │ │ .SS Adding support for a new site
│ │ │ │ .PP
│ │ │ │ -If you want to add support for a new site, you can follow this quick
│ │ │ │ -list (assuming your service is called \f[C]yourextractor\f[]):
│ │ │ │ +If you want to add support for a new site, first of all \f[B]make
│ │ │ │ +sure\f[] this site is \f[B]not dedicated to copyright
│ │ │ │ +infringement (README.md#can-you-add-support-for-this-anime-video-site-or-site-which-shows-current-movies-for-free)\f[].
│ │ │ │ +youtube\-dl does \f[B]not support\f[] such sites thus pull requests
│ │ │ │ +adding support for them \f[B]will be rejected\f[].
│ │ │ │ +.PP
│ │ │ │ +After you have ensured this site is distributing its content legally,
│ │ │ │ +you can follow this quick list (assuming your service is called
│ │ │ │ +\f[C]yourextractor\f[]):
│ │ │ │ .IP " 1." 4
│ │ │ │ Fork this repository (https://github.com/rg3/youtube-dl/fork)
│ │ │ │ .IP " 2." 4
│ │ │ │ -Check out the source code with
│ │ │ │ -\f[C]git\ clone\ git\@github.com:YOUR_GITHUB_USERNAME/youtube\-dl.git\f[]
│ │ │ │ +Check out the source code with:
│ │ │ │ +.RS 4
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +git\ clone\ git\@github.com:YOUR_GITHUB_USERNAME/youtube\-dl.git
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.RE
│ │ │ │ .IP " 3." 4
│ │ │ │ Start a new git branch with
│ │ │ │ -\f[C]cd\ youtube\-dl;\ git\ checkout\ \-b\ yourextractor\f[]
│ │ │ │ +.RS 4
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +cd\ youtube\-dl
│ │ │ │ +git\ checkout\ \-b\ yourextractor
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.RE
│ │ │ │ .IP " 4." 4
│ │ │ │ Start with this simple template and save it to
│ │ │ │ \f[C]youtube_dl/extractor/yourextractor.py\f[]:
│ │ │ │ .RS 4
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ #\ coding:\ utf\-8
│ │ │ │ from\ __future__\ import\ unicode_literals
│ │ │ │
│ │ │ │ -import\ re
│ │ │ │ -
│ │ │ │ from\ .common\ import\ InfoExtractor
│ │ │ │
│ │ │ │
│ │ │ │ class\ YourExtractorIE(InfoExtractor):
│ │ │ │ \ \ \ \ _VALID_URL\ =\ r\[aq]https?://(?:www\\.)?yourextractor\\.com/watch/(?P<id>[0\-9]+)\[aq]
│ │ │ │ \ \ \ \ _TEST\ =\ {
│ │ │ │ \ \ \ \ \ \ \ \ \[aq]url\[aq]:\ \[aq]http://yourextractor.com/watch/42\[aq],
│ │ │ │ -\ \ \ \ \ \ \ \ \[aq]md5\[aq]:\ \[aq]TODO:\ md5\ sum\ of\ the\ first\ 10KiB\ of\ the\ video\ file\[aq],
│ │ │ │ +\ \ \ \ \ \ \ \ \[aq]md5\[aq]:\ \[aq]TODO:\ md5\ sum\ of\ the\ first\ 10241\ bytes\ of\ the\ video\ file\ (use\ \-\-test)\[aq],
│ │ │ │ \ \ \ \ \ \ \ \ \[aq]info_dict\[aq]:\ {
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ \[aq]id\[aq]:\ \[aq]42\[aq],
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ \[aq]ext\[aq]:\ \[aq]mp4\[aq],
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ \[aq]title\[aq]:\ \[aq]Video\ title\ goes\ here\[aq],
│ │ │ │ +\ \ \ \ \ \ \ \ \ \ \ \ \[aq]thumbnail\[aq]:\ r\[aq]re:^https?://.*\\.jpg$\[aq],
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ #\ TODO\ more\ properties,\ either\ as:
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ A\ value
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ MD5\ checksum;\ start\ the\ string\ with\ md5:
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ A\ regular\ expression;\ start\ the\ string\ with\ re:
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ #\ *\ Any\ Python\ type\ (for\ example\ int\ or\ float)
│ │ │ │ \ \ \ \ \ \ \ \ }
│ │ │ │ \ \ \ \ }
│ │ │ │
│ │ │ │ \ \ \ \ def\ _real_extract(self,\ url):
│ │ │ │ -\ \ \ \ \ \ \ \ mobj\ =\ re.match(self._VALID_URL,\ url)
│ │ │ │ -\ \ \ \ \ \ \ \ video_id\ =\ mobj.group(\[aq]id\[aq])
│ │ │ │ +\ \ \ \ \ \ \ \ video_id\ =\ self._match_id(url)
│ │ │ │ +\ \ \ \ \ \ \ \ webpage\ =\ self._download_webpage(url,\ video_id)
│ │ │ │
│ │ │ │ \ \ \ \ \ \ \ \ #\ TODO\ more\ code\ goes\ here,\ for\ example\ ...
│ │ │ │ -\ \ \ \ \ \ \ \ webpage\ =\ self._download_webpage(url,\ video_id)
│ │ │ │ -\ \ \ \ \ \ \ \ title\ =\ self._html_search_regex(r\[aq]<h1>(.*?)</h1>\[aq],\ webpage,\ \[aq]title\[aq])
│ │ │ │ +\ \ \ \ \ \ \ \ title\ =\ self._html_search_regex(r\[aq]<h1>(.+?)</h1>\[aq],\ webpage,\ \[aq]title\[aq])
│ │ │ │
│ │ │ │ \ \ \ \ \ \ \ \ return\ {
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ \[aq]id\[aq]:\ video_id,
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ \[aq]title\[aq]:\ title,
│ │ │ │ +\ \ \ \ \ \ \ \ \ \ \ \ \[aq]description\[aq]:\ self._og_search_description(webpage),
│ │ │ │ +\ \ \ \ \ \ \ \ \ \ \ \ \[aq]uploader\[aq]:\ self._search_regex(r\[aq]<div[^>]+id="uploader"[^>]*>([^<]+)<\[aq],\ webpage,\ \[aq]uploader\[aq],\ fatal=False),
│ │ │ │ \ \ \ \ \ \ \ \ \ \ \ \ #\ TODO\ more\ properties\ (see\ youtube_dl/extractor/common.py)
│ │ │ │ \ \ \ \ \ \ \ \ }
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ .RE
│ │ │ │ .IP " 5." 4
│ │ │ │ Add an import in
│ │ │ │ -\f[C]youtube_dl/extractor/__init__.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/__init__.py).
│ │ │ │ +\f[C]youtube_dl/extractor/extractors.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/extractors.py).
│ │ │ │ .IP " 6." 4
│ │ │ │ Run
│ │ │ │ \f[C]python\ test/test_download.py\ TestDownload.test_YourExtractor\f[].
│ │ │ │ This \f[I]should fail\f[] at first, but you can continually re\-run it
│ │ │ │ until you\[aq]re done.
│ │ │ │ +If you decide to add more than one test, then rename \f[C]_TEST\f[] to
│ │ │ │ +\f[C]_TESTS\f[] and make it into a list of dictionaries.
│ │ │ │ +The tests will then be named \f[C]TestDownload.test_YourExtractor\f[],
│ │ │ │ +\f[C]TestDownload.test_YourExtractor_1\f[],
│ │ │ │ +\f[C]TestDownload.test_YourExtractor_2\f[], etc.
│ │ │ │ .IP " 7." 4
│ │ │ │ Have a look at
│ │ │ │ -\f[C]youtube_dl/common/extractor/common.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py)
│ │ │ │ +\f[C]youtube_dl/extractor/common.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py)
│ │ │ │ for possible helper methods and a detailed description of what your
│ │ │ │ -extractor should
│ │ │ │ -return (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py#L38).
│ │ │ │ +extractor should and may
│ │ │ │ +return (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py#L74-L252).
│ │ │ │ Add tests and code for as many as you want.
│ │ │ │ .IP " 8." 4
│ │ │ │ -If you can, check the code with
│ │ │ │ -pyflakes (https://pypi.python.org/pypi/pyflakes) (a good idea) and
│ │ │ │ -pep8 (https://pypi.python.org/pypi/pep8) (optional, ignore E501).
│ │ │ │ +Make sure your code follows youtube\-dl coding
│ │ │ │ +conventions (#youtube-dl-coding-conventions) and check the code with
│ │ │ │ +flake8 (https://pypi.python.org/pypi/flake8).
│ │ │ │ +Also make sure your code works under all Python (http://www.python.org/)
│ │ │ │ +versions claimed supported by youtube\-dl, namely 2.6, 2.7, and 3.2+.
│ │ │ │ .IP " 9." 4
│ │ │ │ -When the tests pass,
│ │ │ │ -add (https://www.kernel.org/pub/software/scm/git/docs/git-add.html) the
│ │ │ │ -new files and
│ │ │ │ -commit (https://www.kernel.org/pub/software/scm/git/docs/git-commit.html)
│ │ │ │ -them and
│ │ │ │ -push (https://www.kernel.org/pub/software/scm/git/docs/git-push.html)
│ │ │ │ -the result, like this:
│ │ │ │ +When the tests pass, add (http://git-scm.com/docs/git-add) the new files
│ │ │ │ +and commit (http://git-scm.com/docs/git-commit) them and
│ │ │ │ +push (http://git-scm.com/docs/git-push) the result, like this:
│ │ │ │ .RS 4
│ │ │ │ .IP
│ │ │ │ .nf
│ │ │ │ \f[C]
│ │ │ │ -$\ git\ add\ youtube_dl/extractor/__init__.py
│ │ │ │ +$\ git\ add\ youtube_dl/extractor/extractors.py
│ │ │ │ $\ git\ add\ youtube_dl/extractor/yourextractor.py
│ │ │ │ $\ git\ commit\ \-m\ \[aq][yourextractor]\ Add\ new\ extractor\[aq]
│ │ │ │ $\ git\ push\ origin\ yourextractor
│ │ │ │ \f[]
│ │ │ │ .fi
│ │ │ │ .RE
│ │ │ │ .IP "10." 4
│ │ │ │ Finally, create a pull
│ │ │ │ request (https://help.github.com/articles/creating-a-pull-request).
│ │ │ │ We\[aq]ll then review and merge it.
│ │ │ │ .PP
│ │ │ │ In any case, thank you very much for your contributions!
│ │ │ │ +.SS youtube\-dl coding conventions
│ │ │ │ +.PP
│ │ │ │ +This section introduces a guide lines for writing idiomatic, robust and
│ │ │ │ +future\-proof extractor code.
│ │ │ │ +.PP
│ │ │ │ +Extractors are very fragile by nature since they depend on the layout of
│ │ │ │ +the source data provided by 3rd party media hosters out of your control
│ │ │ │ +and this layout tends to change.
│ │ │ │ +As an extractor implementer your task is not only to write code that
│ │ │ │ +will extract media links and metadata correctly but also to minimize
│ │ │ │ +dependency on the source\[aq]s layout and even to make the code foresee
│ │ │ │ +potential future changes and be ready for that.
│ │ │ │ +This is important because it will allow the extractor not to break on
│ │ │ │ +minor layout changes thus keeping old youtube\-dl versions working.
│ │ │ │ +Even though this breakage issue is easily fixed by emitting a new
│ │ │ │ +version of youtube\-dl with a fix incorporated, all the previous
│ │ │ │ +versions become broken in all repositories and distros\[aq] packages
│ │ │ │ +that may not be so prompt in fetching the update from us.
│ │ │ │ +Needless to say, some non rolling release distros may never receive an
│ │ │ │ +update at all.
│ │ │ │ +.SS Mandatory and optional metafields
│ │ │ │ +.PP
│ │ │ │ +For extraction to work youtube\-dl relies on metadata your extractor
│ │ │ │ +extracts and provides to youtube\-dl expressed by an information
│ │ │ │ +dictionary (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py#L75-L257)
│ │ │ │ +or simply \f[I]info dict\f[].
│ │ │ │ +Only the following meta fields in the \f[I]info dict\f[] are considered
│ │ │ │ +mandatory for a successful extraction process by youtube\-dl:
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]id\f[] (media identifier)
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]title\f[] (media title)
│ │ │ │ +.IP \[bu] 2
│ │ │ │ +\f[C]url\f[] (media download URL) or \f[C]formats\f[]
│ │ │ │ +.PP
│ │ │ │ +In fact only the last option is technically mandatory (i.e.
│ │ │ │ +if you can\[aq]t figure out the download location of the media the
│ │ │ │ +extraction does not make any sense).
│ │ │ │ +But by convention youtube\-dl also treats \f[C]id\f[] and \f[C]title\f[]
│ │ │ │ +as mandatory.
│ │ │ │ +Thus the aforementioned metafields are the critical data that the
│ │ │ │ +extraction does not make any sense without and if any of them fail to be
│ │ │ │ +extracted then the extractor is considered completely broken.
│ │ │ │ +.PP
│ │ │ │ +Any
│ │ │ │ +field (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py#L149-L257)
│ │ │ │ +apart from the aforementioned ones are considered \f[B]optional\f[].
│ │ │ │ +That means that extraction should be \f[B]tolerant\f[] to situations
│ │ │ │ +when sources for these fields can potentially be unavailable (even if
│ │ │ │ +they are always available at the moment) and \f[B]future\-proof\f[] in
│ │ │ │ +order not to break the extraction of general purpose mandatory fields.
│ │ │ │ +.SS Example
│ │ │ │ +.PP
│ │ │ │ +Say you have some source dictionary \f[C]meta\f[] that you\[aq]ve
│ │ │ │ +fetched as JSON with HTTP request and it has a key \f[C]summary\f[]:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +meta\ =\ self._download_json(url,\ video_id)
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Assume at this point \f[C]meta\f[]\[aq]s layout is:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +{
│ │ │ │ +\ \ \ \ ...
│ │ │ │ +\ \ \ \ "summary":\ "some\ fancy\ summary\ text",
│ │ │ │ +\ \ \ \ ...
│ │ │ │ +}
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Assume you want to extract \f[C]summary\f[] and put it into the
│ │ │ │ +resulting info dict as \f[C]description\f[].
│ │ │ │ +Since \f[C]description\f[] is an optional meta field you should be ready
│ │ │ │ +that this key may be missing from the \f[C]meta\f[] dict, so that you
│ │ │ │ +should extract it like:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +description\ =\ meta.get(\[aq]summary\[aq])\ \ #\ correct
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +and not like:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +description\ =\ meta[\[aq]summary\[aq]]\ \ #\ incorrect
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +The latter will break extraction process with \f[C]KeyError\f[] if
│ │ │ │ +\f[C]summary\f[] disappears from \f[C]meta\f[] at some later time but
│ │ │ │ +with the former approach extraction will just go ahead with
│ │ │ │ +\f[C]description\f[] set to \f[C]None\f[] which is perfectly fine
│ │ │ │ +(remember \f[C]None\f[] is equivalent to the absence of data).
│ │ │ │ +.PP
│ │ │ │ +Similarly, you should pass \f[C]fatal=False\f[] when extracting optional
│ │ │ │ +data from a webpage with \f[C]_search_regex\f[],
│ │ │ │ +\f[C]_html_search_regex\f[] or similar methods, for instance:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +description\ =\ self._search_regex(
│ │ │ │ +\ \ \ \ r\[aq]<span[^>]+id="title"[^>]*>([^<]+)<\[aq],
│ │ │ │ +\ \ \ \ webpage,\ \[aq]description\[aq],\ fatal=False)
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +With \f[C]fatal\f[] set to \f[C]False\f[] if \f[C]_search_regex\f[]
│ │ │ │ +fails to extract \f[C]description\f[] it will emit a warning and
│ │ │ │ +continue extraction.
│ │ │ │ +.PP
│ │ │ │ +You can also pass \f[C]default=<some\ fallback\ value>\f[], for example:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +description\ =\ self._search_regex(
│ │ │ │ +\ \ \ \ r\[aq]<span[^>]+id="title"[^>]*>([^<]+)<\[aq],
│ │ │ │ +\ \ \ \ webpage,\ \[aq]description\[aq],\ default=None)
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +On failure this code will silently continue the extraction with
│ │ │ │ +\f[C]description\f[] set to \f[C]None\f[].
│ │ │ │ +That is useful for metafields that may or may not be present.
│ │ │ │ +.SS Provide fallbacks
│ │ │ │ +.PP
│ │ │ │ +When extracting metadata try to do so from multiple sources.
│ │ │ │ +For example if \f[C]title\f[] is present in several places, try
│ │ │ │ +extracting from at least some of them.
│ │ │ │ +This makes it more future\-proof in case some of the sources become
│ │ │ │ +unavailable.
│ │ │ │ +.SS Example
│ │ │ │ +.PP
│ │ │ │ +Say \f[C]meta\f[] from the previous example has a \f[C]title\f[] and you
│ │ │ │ +are about to extract it.
│ │ │ │ +Since \f[C]title\f[] is a mandatory meta field you should end up with
│ │ │ │ +something like:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +title\ =\ meta[\[aq]title\[aq]]
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +If \f[C]title\f[] disappears from \f[C]meta\f[] in future due to some
│ │ │ │ +changes on the hoster\[aq]s side the extraction would fail since
│ │ │ │ +\f[C]title\f[] is mandatory.
│ │ │ │ +That\[aq]s expected.
│ │ │ │ +.PP
│ │ │ │ +Assume that you have some another source you can extract \f[C]title\f[]
│ │ │ │ +from, for example \f[C]og:title\f[] HTML meta of a \f[C]webpage\f[].
│ │ │ │ +In this case you can provide a fallback scenario:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +title\ =\ meta.get(\[aq]title\[aq])\ or\ self._og_search_title(webpage)
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +This code will try to extract from \f[C]meta\f[] first and if it fails
│ │ │ │ +it will try extracting \f[C]og:title\f[] from a \f[C]webpage\f[].
│ │ │ │ +.SS Make regular expressions flexible
│ │ │ │ +.PP
│ │ │ │ +When using regular expressions try to write them fuzzy and flexible.
│ │ │ │ +.SS Example
│ │ │ │ +.PP
│ │ │ │ +Say you need to extract \f[C]title\f[] from the following HTML code:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +<span\ style="position:\ absolute;\ left:\ 910px;\ width:\ 90px;\ float:\ right;\ z\-index:\ 9999;"\ class="title">some\ fancy\ title</span>
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +The code for that task should look similar to:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +title\ =\ self._search_regex(
│ │ │ │ +\ \ \ \ r\[aq]<span[^>]+class="title"[^>]*>([^<]+)\[aq],\ webpage,\ \[aq]title\[aq])
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Or even better:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +title\ =\ self._search_regex(
│ │ │ │ +\ \ \ \ r\[aq]<span[^>]+class=(["\\\[aq]])title\\1[^>]*>(?P<title>[^<]+)\[aq],
│ │ │ │ +\ \ \ \ webpage,\ \[aq]title\[aq],\ group=\[aq]title\[aq])
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Note how you tolerate potential changes in the \f[C]style\f[]
│ │ │ │ +attribute\[aq]s value or switch from using double quotes to single for
│ │ │ │ +\f[C]class\f[] attribute:
│ │ │ │ +.PP
│ │ │ │ +The code definitely should not look like:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +title\ =\ self._search_regex(
│ │ │ │ +\ \ \ \ r\[aq]<span\ style="position:\ absolute;\ left:\ 910px;\ width:\ 90px;\ float:\ right;\ z\-index:\ 9999;"\ class="title">(.*?)</span>\[aq],
│ │ │ │ +\ \ \ \ webpage,\ \[aq]title\[aq],\ group=\[aq]title\[aq])
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.SS Use safe conversion functions
│ │ │ │ +.PP
│ │ │ │ +Wrap all extracted numeric data into safe functions from \f[C]utils\f[]:
│ │ │ │ +\f[C]int_or_none\f[], \f[C]float_or_none\f[].
│ │ │ │ +Use them for string to number conversions as well.
│ │ │ │ +.SH EMBEDDING YOUTUBE\-DL
│ │ │ │ +.PP
│ │ │ │ +youtube\-dl makes the best effort to be a good command\-line program,
│ │ │ │ +and thus should be callable from any programming language.
│ │ │ │ +If you encounter any problems parsing its output, feel free to create a
│ │ │ │ +report (https://github.com/rg3/youtube-dl/issues/new).
│ │ │ │ +.PP
│ │ │ │ +From a Python program, you can embed youtube\-dl in a more powerful
│ │ │ │ +fashion, like this:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +from\ __future__\ import\ unicode_literals
│ │ │ │ +import\ youtube_dl
│ │ │ │ +
│ │ │ │ +ydl_opts\ =\ {}
│ │ │ │ +with\ youtube_dl.YoutubeDL(ydl_opts)\ as\ ydl:
│ │ │ │ +\ \ \ \ ydl.download([\[aq]http://www.youtube.com/watch?v=BaW_jenozKc\[aq]])
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ +.PP
│ │ │ │ +Most likely, you\[aq]ll want to use various options.
│ │ │ │ +For a list of options available, have a look at
│ │ │ │ +\f[C]youtube_dl/YoutubeDL.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/YoutubeDL.py#L129-L279).
│ │ │ │ +For a start, if you want to intercept youtube\-dl\[aq]s output, set a
│ │ │ │ +\f[C]logger\f[] object.
│ │ │ │ +.PP
│ │ │ │ +Here\[aq]s a more complete example of a program that outputs only errors
│ │ │ │ +(and a short message after the download is finished), and
│ │ │ │ +downloads/converts the video to an mp3 file:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +from\ __future__\ import\ unicode_literals
│ │ │ │ +import\ youtube_dl
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +class\ MyLogger(object):
│ │ │ │ +\ \ \ \ def\ debug(self,\ msg):
│ │ │ │ +\ \ \ \ \ \ \ \ pass
│ │ │ │ +
│ │ │ │ +\ \ \ \ def\ warning(self,\ msg):
│ │ │ │ +\ \ \ \ \ \ \ \ pass
│ │ │ │ +
│ │ │ │ +\ \ \ \ def\ error(self,\ msg):
│ │ │ │ +\ \ \ \ \ \ \ \ print(msg)
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +def\ my_hook(d):
│ │ │ │ +\ \ \ \ if\ d[\[aq]status\[aq]]\ ==\ \[aq]finished\[aq]:
│ │ │ │ +\ \ \ \ \ \ \ \ print(\[aq]Done\ downloading,\ now\ converting\ ...\[aq])
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +ydl_opts\ =\ {
│ │ │ │ +\ \ \ \ \[aq]format\[aq]:\ \[aq]bestaudio/best\[aq],
│ │ │ │ +\ \ \ \ \[aq]postprocessors\[aq]:\ [{
│ │ │ │ +\ \ \ \ \ \ \ \ \[aq]key\[aq]:\ \[aq]FFmpegExtractAudio\[aq],
│ │ │ │ +\ \ \ \ \ \ \ \ \[aq]preferredcodec\[aq]:\ \[aq]mp3\[aq],
│ │ │ │ +\ \ \ \ \ \ \ \ \[aq]preferredquality\[aq]:\ \[aq]192\[aq],
│ │ │ │ +\ \ \ \ }],
│ │ │ │ +\ \ \ \ \[aq]logger\[aq]:\ MyLogger(),
│ │ │ │ +\ \ \ \ \[aq]progress_hooks\[aq]:\ [my_hook],
│ │ │ │ +}
│ │ │ │ +with\ youtube_dl.YoutubeDL(ydl_opts)\ as\ ydl:
│ │ │ │ +\ \ \ \ ydl.download([\[aq]http://www.youtube.com/watch?v=BaW_jenozKc\[aq]])
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ .SH BUGS
│ │ │ │ .PP
│ │ │ │ Bugs and suggestions should be reported at:
│ │ │ │ -<https://github.com/rg3/youtube-dl/issues> .
│ │ │ │ -Unless you were prompted so or there is another pertinent reason (e.g.
│ │ │ │ +<https://github.com/rg3/youtube-dl/issues>.
│ │ │ │ +Unless you were prompted to or there is another pertinent reason (e.g.
│ │ │ │ GitHub fails to accept the bug report), please do not send bug reports
│ │ │ │ via personal email.
│ │ │ │ +For discussions, join us in the IRC channel
│ │ │ │ +#youtube\-dl (irc://chat.freenode.net/#youtube-dl) on freenode
│ │ │ │ +(webchat (http://webchat.freenode.net/?randomnick=1&channels=youtube-dl)).
│ │ │ │ +.PP
│ │ │ │ +\f[B]Please include the full output of youtube\-dl when run with
│ │ │ │ +\f[C]\-v\f[]\f[], i.e.
│ │ │ │ +\f[B]add\f[] \f[C]\-v\f[] flag to \f[B]your command line\f[], copy the
│ │ │ │ +\f[B]whole\f[] output and post it in the issue body wrapped in ``` for
│ │ │ │ +better formatting.
│ │ │ │ +It should look similar to this:
│ │ │ │ +.IP
│ │ │ │ +.nf
│ │ │ │ +\f[C]
│ │ │ │ +$\ youtube\-dl\ \-v\ <your\ command\ line>
│ │ │ │ +[debug]\ System\ config:\ []
│ │ │ │ +[debug]\ User\ config:\ []
│ │ │ │ +[debug]\ Command\-line\ args:\ [u\[aq]\-v\[aq],\ u\[aq]http://www.youtube.com/watch?v=BaW_jenozKcj\[aq]]
│ │ │ │ +[debug]\ Encodings:\ locale\ cp1251,\ fs\ mbcs,\ out\ cp866,\ pref\ cp1251
│ │ │ │ +[debug]\ youtube\-dl\ version\ 2015.12.06
│ │ │ │ +[debug]\ Git\ HEAD:\ 135392e
│ │ │ │ +[debug]\ Python\ version\ 2.6.6\ \-\ Windows\-2003Server\-5.2.3790\-SP2
│ │ │ │ +[debug]\ exe\ versions:\ ffmpeg\ N\-75573\-g1d0487f,\ ffprobe\ N\-75573\-g1d0487f,\ rtmpdump\ 2.4
│ │ │ │ +[debug]\ Proxy\ map:\ {}
│ │ │ │ +\&...
│ │ │ │ +\f[]
│ │ │ │ +.fi
│ │ │ │ .PP
│ │ │ │ -Please include the full output of the command when run with
│ │ │ │ -\f[C]\-\-verbose\f[].
│ │ │ │ -The output (including the first lines) contain important debugging
│ │ │ │ +\f[B]Do not post screenshots of verbose logs; only plain text is
│ │ │ │ +acceptable.\f[]
│ │ │ │ +.PP
│ │ │ │ +The output (including the first lines) contains important debugging
│ │ │ │ information.
│ │ │ │ Issues without the full output are often not reproducible and therefore
│ │ │ │ do not get solved in short order, if ever.
│ │ │ │ .PP
│ │ │ │ -For discussions, join us in the irc channel #youtube\-dl on freenode.
│ │ │ │ -.PP
│ │ │ │ -When you submit a request, please re\-read it once to avoid a couple of
│ │ │ │ +Please re\-read your issue once again to avoid a couple of common
│ │ │ │ mistakes (you can and should use this as a checklist):
│ │ │ │ .SS Is the description of the issue itself sufficient?
│ │ │ │ .PP
│ │ │ │ We often get issue reports that we cannot really decipher.
│ │ │ │ While in most cases we eventually get the required information after
│ │ │ │ asking back multiple times, this poses an unnecessary drain on our
│ │ │ │ resources.
│ │ │ │ @@ -636,53 +2368,64 @@
│ │ │ │ .IP \[bu] 2
│ │ │ │ How your proposed solution would look like
│ │ │ │ .PP
│ │ │ │ If your report is shorter than two lines, it is almost certainly missing
│ │ │ │ some of these, which makes it hard for us to respond to it.
│ │ │ │ We\[aq]re often too polite to close the issue outright, but the missing
│ │ │ │ info makes misinterpretation likely.
│ │ │ │ -As a commiter myself, I often get frustrated by these issues, since the
│ │ │ │ +As a committer myself, I often get frustrated by these issues, since the
│ │ │ │ only possible way for me to move forward on them is to ask for
│ │ │ │ clarification over and over.
│ │ │ │ .PP
│ │ │ │ For bug reports, this means that your report should contain the
│ │ │ │ -\f[I]complete\f[] output of youtube\-dl when called with the \-v flag.
│ │ │ │ +\f[I]complete\f[] output of youtube\-dl when called with the
│ │ │ │ +\f[C]\-v\f[] flag.
│ │ │ │ The error message you get for (most) bugs even says so, but you would
│ │ │ │ not believe how many of our bug reports do not contain this information.
│ │ │ │ .PP
│ │ │ │ -Site support requests \f[B]must contain an example URL\f[].
│ │ │ │ +If your server has multiple IPs or you suspect censorship, adding
│ │ │ │ +\f[C]\-\-call\-home\f[] may be a good idea to get more diagnostics.
│ │ │ │ +If the error is \f[C]ERROR:\ Unable\ to\ extract\ ...\f[] and you cannot
│ │ │ │ +reproduce it from multiple countries, add \f[C]\-\-dump\-pages\f[]
│ │ │ │ +(warning: this will yield a rather large output, redirect it to the file
│ │ │ │ +\f[C]log.txt\f[] by adding \f[C]>log.txt\ 2>&1\f[] to your
│ │ │ │ +command\-line) or upload the \f[C]\&.dump\f[] files you get when you add
│ │ │ │ +\f[C]\-\-write\-pages\f[] somewhere (https://gist.github.com/).
│ │ │ │ +.PP
│ │ │ │ +\f[B]Site support requests must contain an example URL\f[].
│ │ │ │ An example URL is a URL you might want to download, like
│ │ │ │ -http://www.youtube.com/watch?v=BaW_jenozKc .
│ │ │ │ +\f[C]http://www.youtube.com/watch?v=BaW_jenozKc\f[].
│ │ │ │ There should be an obvious video present.
│ │ │ │ Except under very special circumstances, the main page of a video
│ │ │ │ service (e.g.
│ │ │ │ -http://www.youtube.com/ ) is \f[I]not\f[] an example URL.
│ │ │ │ +\f[C]http://www.youtube.com/\f[]) is \f[I]not\f[] an example URL.
│ │ │ │ .SS Are you using the latest version?
│ │ │ │ .PP
│ │ │ │ -Before reporting any issue, type youtube\-dl \-U.
│ │ │ │ +Before reporting any issue, type \f[C]youtube\-dl\ \-U\f[].
│ │ │ │ This should report that you\[aq]re up\-to\-date.
│ │ │ │ About 20% of the reports we receive are already fixed, but people are
│ │ │ │ using outdated versions.
│ │ │ │ This goes for feature requests as well.
│ │ │ │ .SS Is the issue already documented?
│ │ │ │ .PP
│ │ │ │ Make sure that someone has not already opened the issue you\[aq]re
│ │ │ │ trying to open.
│ │ │ │ -Search at the top of the window or at
│ │ │ │ -https://github.com/rg3/youtube\-dl/search?type=Issues .
│ │ │ │ +Search at the top of the window or browse the GitHub
│ │ │ │ +Issues (https://github.com/rg3/youtube-dl/search?type=Issues) of this
│ │ │ │ +repository.
│ │ │ │ If there is an issue, feel free to write something along the lines of
│ │ │ │ "This affects me as well, with version 2015.01.01.
│ │ │ │ Here is some more information on the issue: ...".
│ │ │ │ While some issues may be old, a new post into them often spurs rapid
│ │ │ │ activity.
│ │ │ │ .SS Why are existing options not enough?
│ │ │ │ .PP
│ │ │ │ Before requesting a new feature, please have a quick peek at the list of
│ │ │ │ supported
│ │ │ │ -options (https://github.com/rg3/youtube-dl/blob/master/README.md#synopsis).
│ │ │ │ +options (https://github.com/rg3/youtube-dl/blob/master/README.md#options).
│ │ │ │ Many feature requests are for features that actually exist already!
│ │ │ │ Please, absolutely do show off your work in the issue report and detail
│ │ │ │ how the existing similar options do \f[I]not\f[] solve your problem.
│ │ │ │ .SS Is there enough context in your bug report?
│ │ │ │ .PP
│ │ │ │ People want to solve problems, and often think they do us a favor by
│ │ │ │ breaking down their larger problems (e.g.
│ │ │ │ @@ -711,40 +2454,40 @@
│ │ │ │ Typically, reporting a bunch of issues leads to the ticket lingering
│ │ │ │ since nobody wants to attack that behemoth, until someone mercifully
│ │ │ │ splits the issue into multiple ones.
│ │ │ │ .PP
│ │ │ │ In particular, every site support request issue should only pertain to
│ │ │ │ services at one site (generally under a common domain, but always using
│ │ │ │ the same backend technology).
│ │ │ │ -Do not request support for vimeo user videos, Whitehouse podcasts, and
│ │ │ │ +Do not request support for vimeo user videos, White house podcasts, and
│ │ │ │ Google Plus pages in the same issue.
│ │ │ │ Also, make sure that you don\[aq]t post bug reports alongside feature
│ │ │ │ requests.
│ │ │ │ As a rule of thumb, a feature request does not include outputs of
│ │ │ │ youtube\-dl that are not immediately related to the feature at hand.
│ │ │ │ Do not post reports of a network error alongside the request for a new
│ │ │ │ video service.
│ │ │ │ .SS Is anyone going to need the feature?
│ │ │ │ .PP
│ │ │ │ -Only post features that you (or an incapicated friend you can personally
│ │ │ │ -talk to) require.
│ │ │ │ +Only post features that you (or an incapacitated friend you can
│ │ │ │ +personally talk to) require.
│ │ │ │ Do not post features because they seem like a good idea.
│ │ │ │ If they are really useful, they will be requested by someone who
│ │ │ │ requires them.
│ │ │ │ .SS Is your question about youtube\-dl?
│ │ │ │ .PP
│ │ │ │ It may sound strange, but some bug reports we receive are completely
│ │ │ │ -unrelated to youtube\-dl and relate to a different or even the
│ │ │ │ -reporter\[aq]s own application.
│ │ │ │ +unrelated to youtube\-dl and relate to a different, or even the
│ │ │ │ +reporter\[aq]s own, application.
│ │ │ │ Please make sure that you are actually using youtube\-dl.
│ │ │ │ If you are using a UI for youtube\-dl, report the bug to the maintainer
│ │ │ │ of the actual application providing the UI.
│ │ │ │ On the other hand, if your UI for youtube\-dl fails in some way you
│ │ │ │ believe is related to youtube\-dl, by all means, go ahead and report the
│ │ │ │ bug.
│ │ │ │ .SH COPYRIGHT
│ │ │ │ .PP
│ │ │ │ youtube\-dl is released into the public domain by the copyright holders.
│ │ │ │ .PP
│ │ │ │ -This README file was originally written by Daniel Bolton
│ │ │ │ -(<https://github.com/dbbolton>) and is likewise released into the public
│ │ │ │ -domain.
│ │ │ │ +This README file was originally written by Daniel
│ │ │ │ +Bolton (https://github.com/dbbolton) and is likewise released into the
│ │ │ │ +public domain.
├── ./usr/share/doc/youtube-dl/copyright
│ │ │ @@ -1,24 +1,45 @@
│ │ │ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
│ │ │ Upstream-Name: youtube-dl
│ │ │ Upstream-Contact: https://github.com/rg3/youtube-dl
│ │ │ Source: git://github.com/rg3/youtube-dl.git
│ │ │
│ │ │ Files: *
│ │ │ -Copyright: Not applicable.
│ │ │ -License: Public-domain
│ │ │ +Copyright: none
│ │ │ +License: public-domain
│ │ │ + youtube-dl is released into the public domain by the copyright holders.
│ │ │ + .
│ │ │ + This is free and unencumbered software released into the public domain.
│ │ │ + .
│ │ │ + Anyone is free to copy, modify, publish, use, compile, sell, or
│ │ │ + distribute this software, either in source code form or as a compiled
│ │ │ + binary, for any purpose, commercial or non-commercial, and by any
│ │ │ + means.
│ │ │ + .
│ │ │ + In jurisdictions that recognize copyright laws, the author or authors
│ │ │ + of this software dedicate any and all copyright interest in the
│ │ │ + software to the public domain. We make this dedication for the benefit
│ │ │ + of the public at large and to the detriment of our heirs and
│ │ │ + successors. We intend this dedication to be an overt act of
│ │ │ + relinquishment in perpetuity of all present and future rights to this
│ │ │ + software under copyright law.
│ │ │ + .
│ │ │ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
│ │ │ + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
│ │ │ + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
│ │ │ + IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
│ │ │ + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
│ │ │ + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
│ │ │ + OTHER DEALINGS IN THE SOFTWARE.
│ │ │ + .
│ │ │ + For more information, please refer to <http://unlicense.org/>
│ │ │
│ │ │ Files: debian/*
│ │ │ Copyright: © 2006, Robert S. Edmonds <edmonds at debian.org>.
│ │ │ - © 2009-2012, Rogério Brito <rbrito at ime.usp.br>.
│ │ │ -License: GPL-2+
│ │ │ -
│ │ │ -License: Public-domain
│ │ │ - youtube-dl is released into the public domain by the copyright holders.
│ │ │ -
│ │ │ + © 2009-2015, Rogério Brito <rbrito at ime.usp.br>.
│ │ │ License: GPL-2+
│ │ │ This package is free software; you can redistribute it and/or modify
│ │ │ it under the terms of the GNU General Public License as published by
│ │ │ the Free Software Foundation; either version 2 of the License, or
│ │ │ (at your option) any later version.
│ │ │ .
│ │ │ This package is distributed in the hope that it will be useful,
├── ./usr/share/doc/youtube-dl/NEWS.Debian.gz
│ --- 344-content
├── +++ 746-content
│ │ │ │ @@ -1,7 +1,19 @@
│ │ │ │ +youtube-dl (2015.06.04.1-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + Starting with Debian's version 2015.06.04.1-1, the handling of video
│ │ │ │ + formats has been revamped in youtube-dl. In particular, the option
│ │ │ │ + `--max-quality` doesn't exist anymore. This is likely to break scripts
│ │ │ │ + and/or other programs that use this option.
│ │ │ │ +
│ │ │ │ + Please, refer to the manpage (in particular to the section named
│ │ │ │ + "FORMAT SELECTION") for more details.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Mon, 18 May 2015 08:23:20 -0300
│ │ │ │ +
│ │ │ │ youtube-dl (2014.02.17-1) unstable; urgency=medium
│ │ │ │
│ │ │ │ There are too many goodies that this new release brings us,
│ │ │ │ including that it is possible to combine/merge/multiplex audio and
│ │ │ │ video formats that Youtube now offers separately (See the previous
│ │ │ │ notes about Youtube using DASH for video and audio).
├── ./usr/share/doc/youtube-dl/changelog.Debian.gz
│ --- 345-content
├── +++ 748-content
│ │ │ │ @@ -1,7 +1,182 @@
│ │ │ │ +youtube-dl (2017.02.07-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * New upstream version 2017.02.07
│ │ │ │ + (Closes: #850893, #851157, #854314, #853120)
│ │ │ │ + * debian/upstream/signing-key.asc:
│ │ │ │ + + Add keys for both upstream "releasers". (Addresses: #846495)
│ │ │ │ + * debian/watch: Simplify the watch file and make it work.
│ │ │ │ + Thanks to "user" for the warning. (Closes: #846495)
│ │ │ │ + * debian/control:
│ │ │ │ + + Update list of supported sites. People keep complaining that it is not
│ │ │ │ + up-to-date.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Thu, 09 Feb 2017 05:39:37 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2016.12.01-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + [ Rogério Brito ]
│ │ │ │ + * Revert "debian/watch: Add back pgpsigurlmangle."
│ │ │ │ + * Imported Upstream version 2016.08.17
│ │ │ │ + * debian/patches: Remove unneeded patches.
│ │ │ │ +
│ │ │ │ + [ Carlos Maddela ]
│ │ │ │ + * Tidy up cleanup rule and keep lintian happy.
│ │ │ │ + * Rebuild with only Python 3 support. (Closes: #723990)
│ │ │ │ + * Update Standards-Version to 3.9.8 (no changes required).
│ │ │ │ + * Add support for zsh completion. (Closes: #816412)
│ │ │ │ + * debian/patches:
│ │ │ │ + + skip_support_file_installation.patch: Install support files via
│ │ │ │ + debhelper instead of setup.py.
│ │ │ │ + + fix_libav_compat_outdated.patch: Stop libav compatibility links from
│ │ │ │ + being considered as genuine. (Closes: #798936)
│ │ │ │ +
│ │ │ │ + [ Rogério Brito ]
│ │ │ │ + * New upstream version 2016.12.01 (Closes: #753309, #781180, #841156, #840839)
│ │ │ │ + * debian/watch:
│ │ │ │ + + Re-enable signature checking.
│ │ │ │ + * debian/control:
│ │ │ │ + + Remove mplayer2 from recommends. (Closes: #841187)
│ │ │ │ + + Rerun wrap-and-sort.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Thu, 01 Dec 2016 01:18:00 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2016.06.25-2) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * The "The next upload will only support Python 3" release.
│ │ │ │ + * debian/control:
│ │ │ │ + + Add B-D on pandoc and zip. (Closes: #828905)
│ │ │ │ + Thanks to Chris Lamb (for the report) and Logan Rosen from Ubuntu
│ │ │ │ + (for a patch).
│ │ │ │ + + Add recommends on ca-certificates. (Closes: 819759)
│ │ │ │ + * debian/watch: Add back pgpsigurlmangle.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Wed, 17 Aug 2016 07:39:54 -0300
│ │ │ │ +
│ │ │ │ +youtube-dl (2016.06.25-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2016.06.25 (Closes: #824799)
│ │ │ │ + * debian/watch:
│ │ │ │ + + Update for version 4.
│ │ │ │ + + Skip pgpsigurlmangle for the moment.
│ │ │ │ + * debian/patch: Add patch to update list of supported sites
│ │ │ │ + * debian/rules:
│ │ │ │ + + Adapt to new upstream build system.
│ │ │ │ + + Add commented snippet for conffile removal.
│ │ │ │ + + Ignore tests temporarily.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Sat, 25 Jun 2016 15:06:41 -0300
│ │ │ │ +
│ │ │ │ +youtube-dl (2016.02.22-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * ACK NMU. Thanks Wookey! (Closes: #809454)
│ │ │ │ + * Imported Upstream version 2016.02.22.
│ │ │ │ + (Closes: #808423, #809454, #808468, #721317)
│ │ │ │ + * debian/patches: Removed, they came from upstream.
│ │ │ │ + * debian/control:
│ │ │ │ + + Make all URLs use HTTPS.
│ │ │ │ + + Update list of supported sites.
│ │ │ │ + + The package complies with policy 3.9.7.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Thu, 25 Feb 2016 00:38:12 -0300
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.11.27.1-1.1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Non-maintainer upload.
│ │ │ │ + * Fix for youtube failure #809454
│ │ │ │ +
│ │ │ │ + -- Wookey <wookey at debian.org> Fri, 08 Jan 2016 01:48:02 +0000
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.11.27.1-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2015.11.27.1 (Closes: #806559).
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Mon, 30 Nov 2015 01:39:56 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.11.10-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2015.07.21 (Closes: #735012, #736151)
│ │ │ │ + * Imported Upstream version 2015.11.10 (Closes: #796035, #804724, #801491).
│ │ │ │ + * debian/control:
│ │ │ │ + + Drop really ancient Recommends to have ffprobe.
│ │ │ │ + + Prefer ffmpeg to libav-tools in Recommends.
│ │ │ │ + + Prefer mplayer to mplayer2 in Recommends. (Closes: #796227).
│ │ │ │ + Note: I'm still leaving mplayer2 to ease the life of backporters.
│ │ │ │ + + Prefer mpv to mplayer in Recommends.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Wed, 11 Nov 2015 12:23:08 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.06.04.1-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2015.05.15 (Closes: #784322, #783093, #785335)
│ │ │ │ + * Imported Upstream version 2015.06.04.1
│ │ │ │ + * debian/README.source: Adapt according to changes in git-builpackage.
│ │ │ │ + * debian/copyright:
│ │ │ │ + + Update my copyright years.
│ │ │ │ + + Fix lintian's dep5-copyright-license-name-not-unique.
│ │ │ │ + * debian/gbp.conf: Change to new git-buildpackage syntax.
│ │ │ │ + * debian/NEWS:
│ │ │ │ + + Document that the --max-quality option is gone.
│ │ │ │ + + Update with version to be uploaded.
│ │ │ │ + * debian/control:
│ │ │ │ + + Add build-dependency on dh-python as per warning from dh_python2.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Sat, 13 Jun 2015 17:41:32 -0300
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.02.28-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2015.02.28. Closes: #778765.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Sun, 01 Mar 2015 02:12:13 -0300
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.02.06-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2015.02.06
│ │ │ │ + * debian/control:
│ │ │ │ + + Update list of supported sites.
│ │ │ │ + + Add recommends on "aria2 | wget | curl" to use the new external
│ │ │ │ + downloaders feature.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Mon, 09 Feb 2015 01:37:50 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2015.01.16-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2015.01.16. Highlight:
│ │ │ │ + + Fix changes with Youtube changing the signature algorithm.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Fri, 16 Jan 2015 16:08:59 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2014.12.01-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2014.11.21
│ │ │ │ + * Imported Upstream version 2014.11.23
│ │ │ │ + * Imported Upstream version 2014.12.01.
│ │ │ │ + Closes: #771316, #769602.
│ │ │ │ + * debian/copyright:
│ │ │ │ + + Record the explicit provenance of public domain status.
│ │ │ │ + Thanks Ben Finney for the patch. Closes: #770249.
│ │ │ │ + + Fix missing-license-paragraph-in-dep5-copyright.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Tue, 02 Dec 2014 21:25:47 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2014.10.30-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2014.10.30.
│ │ │ │ + Closes: #765997, #762046.
│ │ │ │ + * debian/control: Confirm that the package conforms to policy 3.9.6.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Fri, 31 Oct 2014 18:57:02 -0200
│ │ │ │ +
│ │ │ │ +youtube-dl (2014.08.05-1) unstable; urgency=medium
│ │ │ │ +
│ │ │ │ + * Imported Upstream version 2014.08.05.
│ │ │ │ + Closes: #756246, #756371, #756493.
│ │ │ │ +
│ │ │ │ + -- Rogério Brito <rbrito at ime.usp.br> Wed, 06 Aug 2014 15:43:31 -0300
│ │ │ │ +
│ │ │ │ youtube-dl (2014.07.15-1) unstable; urgency=medium
│ │ │ │
│ │ │ │ * Imported Upstream version 2014.07.15. Closes: #754919.
│ │ │ │
│ │ │ │ -- Rogério Brito <rbrito at ime.usp.br> Tue, 15 Jul 2014 22:32:37 -0300
│ │ │ │
│ │ │ │ youtube-dl (2014.07.11-1) unstable; urgency=medium
├── ./usr/share/doc/youtube-dl/README.txt.gz
│ --- 346-content
├── +++ 747-content
│ │ │ │ @@ -1,384 +1,930 @@
│ │ │ │ youtube-dl - download videos from youtube.com or other video platforms
│ │ │ │
│ │ │ │ -SYNOPSIS
│ │ │ │ -========
│ │ │ │ +- INSTALLATION
│ │ │ │ +- DESCRIPTION
│ │ │ │ +- OPTIONS
│ │ │ │ +- CONFIGURATION
│ │ │ │ +- OUTPUT TEMPLATE
│ │ │ │ +- FORMAT SELECTION
│ │ │ │ +- VIDEO SELECTION
│ │ │ │ +- FAQ
│ │ │ │ +- DEVELOPER INSTRUCTIONS
│ │ │ │ +- EMBEDDING YOUTUBE-DL
│ │ │ │ +- BUGS
│ │ │ │ +- COPYRIGHT
│ │ │ │ +
│ │ │ │
│ │ │ │ -youtube-dl OPTIONS URL [URL...]
│ │ │ │
│ │ │ │ INSTALLATION
│ │ │ │ -============
│ │ │ │ +
│ │ │ │
│ │ │ │ To install it right away for all UNIX users (Linux, OS X, etc.), type:
│ │ │ │
│ │ │ │ - sudo curl https://yt-dl.org/latest/youtube-dl -o /usr/local/bin/youtube-dl
│ │ │ │ - sudo chmod a+x /usr/local/bin/youtube-dl
│ │ │ │ + sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
│ │ │ │ + sudo chmod a+rx /usr/local/bin/youtube-dl
│ │ │ │
│ │ │ │ If you do not have curl, you can alternatively use a recent wget:
│ │ │ │
│ │ │ │ - sudo wget https://yt-dl.org/downloads/2014.05.13/youtube-dl -O /usr/local/bin/youtube-dl
│ │ │ │ - sudo chmod a+x /usr/local/bin/youtube-dl
│ │ │ │ + sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
│ │ │ │ + sudo chmod a+rx /usr/local/bin/youtube-dl
│ │ │ │ +
│ │ │ │ +Windows users can download an .exe file and place it in any location on
│ │ │ │ +their PATH except for %SYSTEMROOT%\System32 (e.g. DO NOT put in
│ │ │ │ +C:\Windows\System32).
│ │ │ │ +
│ │ │ │ +You can also use pip:
│ │ │ │ +
│ │ │ │ + sudo -H pip install --upgrade youtube-dl
│ │ │ │ +
│ │ │ │ +This command will update youtube-dl if you have already installed it.
│ │ │ │ +See the pypi page for more information.
│ │ │ │ +
│ │ │ │ +OS X users can install youtube-dl with Homebrew:
│ │ │ │ +
│ │ │ │ + brew install youtube-dl
│ │ │ │ +
│ │ │ │ +Or with MacPorts:
│ │ │ │ +
│ │ │ │ + sudo port install youtube-dl
│ │ │ │ +
│ │ │ │ +Alternatively, refer to the developer instructions for how to check out
│ │ │ │ +and work with the git repository. For further options, including PGP
│ │ │ │ +signatures, see the youtube-dl Download Page.
│ │ │ │
│ │ │ │ -Windows users can download a .exe file and place it in their home
│ │ │ │ -directory or any other location on their PATH.
│ │ │ │
│ │ │ │ -Alternatively, refer to the developer instructions below for how to
│ │ │ │ -check out and work with the git repository. For further options,
│ │ │ │ -including PGP signatures, see
│ │ │ │ -https://rg3.github.io/youtube-dl/download.html .
│ │ │ │
│ │ │ │ DESCRIPTION
│ │ │ │ -===========
│ │ │ │
│ │ │ │ -youtube-dl is a small command-line program to download videos from
│ │ │ │ -YouTube.com and a few more sites. It requires the Python interpreter,
│ │ │ │ -version 2.6, 2.7, or 3.3+, and it is not platform specific. It should
│ │ │ │ -work on your Unix box, on Windows or on Mac OS X. It is released to the
│ │ │ │ -public domain, which means you can modify it, redistribute it or use it
│ │ │ │ -however you like.
│ │ │ │ +
│ │ │ │ +YOUTUBE-DL is a command-line program to download videos from YouTube.com
│ │ │ │ +and a few more sites. It requires the Python interpreter, version 2.6,
│ │ │ │ +2.7, or 3.2+, and it is not platform specific. It should work on your
│ │ │ │ +Unix box, on Windows or on Mac OS X. It is released to the public
│ │ │ │ +domain, which means you can modify it, redistribute it or use it however
│ │ │ │ +you like.
│ │ │ │ +
│ │ │ │ + youtube-dl [OPTIONS] URL [URL...]
│ │ │ │ +
│ │ │ │ +
│ │ │ │
│ │ │ │ OPTIONS
│ │ │ │ -=======
│ │ │ │
│ │ │ │ - -h, --help print this help text and exit
│ │ │ │ - --version print program version and exit
│ │ │ │ - -U, --update update this program to latest version. Make
│ │ │ │ +
│ │ │ │ + -h, --help Print this help text and exit
│ │ │ │ + --version Print program version and exit
│ │ │ │ + -U, --update Update this program to latest version. Make
│ │ │ │ sure that you have sufficient permissions
│ │ │ │ (run with sudo if needed)
│ │ │ │ - -i, --ignore-errors continue on download errors, for example to
│ │ │ │ + -i, --ignore-errors Continue on download errors, for example to
│ │ │ │ skip unavailable videos in a playlist
│ │ │ │ --abort-on-error Abort downloading of further videos (in the
│ │ │ │ playlist or the command line) if an error
│ │ │ │ occurs
│ │ │ │ - --dump-user-agent display the current browser identification
│ │ │ │ - --user-agent UA specify a custom user agent
│ │ │ │ - --referer REF specify a custom referer, use if the video
│ │ │ │ - access is restricted to one domain
│ │ │ │ - --add-header FIELD:VALUE specify a custom HTTP header and its value,
│ │ │ │ - separated by a colon ':'. You can use this
│ │ │ │ - option multiple times
│ │ │ │ - --list-extractors List all supported extractors and the URLs
│ │ │ │ - they would handle
│ │ │ │ + --dump-user-agent Display the current browser identification
│ │ │ │ + --list-extractors List all supported extractors
│ │ │ │ --extractor-descriptions Output descriptions of all supported
│ │ │ │ extractors
│ │ │ │ - --proxy URL Use the specified HTTP/HTTPS proxy. Pass in
│ │ │ │ - an empty string (--proxy "") for direct
│ │ │ │ - connection
│ │ │ │ - --no-check-certificate Suppress HTTPS certificate validation.
│ │ │ │ - --prefer-insecure Use an unencrypted connection to retrieve
│ │ │ │ - information about the video. (Currently
│ │ │ │ - supported only for YouTube)
│ │ │ │ - --cache-dir DIR Location in the filesystem where youtube-dl
│ │ │ │ - can store some downloaded information
│ │ │ │ - permanently. By default $XDG_CACHE_HOME
│ │ │ │ - /youtube-dl or ~/.cache/youtube-dl . At the
│ │ │ │ - moment, only YouTube player files (for
│ │ │ │ - videos with obfuscated signatures) are
│ │ │ │ - cached, but that may change.
│ │ │ │ - --no-cache-dir Disable filesystem caching
│ │ │ │ - --socket-timeout None Time to wait before giving up, in seconds
│ │ │ │ - --bidi-workaround Work around terminals that lack
│ │ │ │ - bidirectional text support. Requires bidiv
│ │ │ │ - or fribidi executable in PATH
│ │ │ │ + --force-generic-extractor Force extraction to use the generic
│ │ │ │ + extractor
│ │ │ │ --default-search PREFIX Use this prefix for unqualified URLs. For
│ │ │ │ example "gvsearch2:" downloads two videos
│ │ │ │ - from google videos for youtube-dl "large
│ │ │ │ + from google videos for youtube-dl "large
│ │ │ │ apple". Use the value "auto" to let
│ │ │ │ - youtube-dl guess. The default value "error"
│ │ │ │ - just throws an error.
│ │ │ │ + youtube-dl guess ("auto_warning" to emit a
│ │ │ │ + warning when guessing). "error" just throws
│ │ │ │ + an error. The default value "fixup_error"
│ │ │ │ + repairs broken URLs, but emits an error if
│ │ │ │ + this is not possible instead of searching.
│ │ │ │ --ignore-config Do not read configuration files. When given
│ │ │ │ - in the global configuration file /etc
│ │ │ │ - /youtube-dl.conf: do not read the user
│ │ │ │ - configuration in ~/.config/youtube-dl.conf
│ │ │ │ - (%APPDATA%/youtube-dl/config.txt on
│ │ │ │ - Windows)
│ │ │ │ - --encoding ENCODING Force the specified encoding (experimental)
│ │ │ │ + in the global configuration file
│ │ │ │ + /etc/youtube-dl.conf: Do not read the user
│ │ │ │ + configuration in ~/.config/youtube-
│ │ │ │ + dl/config (%APPDATA%/youtube-dl/config.txt
│ │ │ │ + on Windows)
│ │ │ │ + --config-location PATH Location of the configuration file; either
│ │ │ │ + the path to the config or its containing
│ │ │ │ + directory.
│ │ │ │ + --flat-playlist Do not extract the videos of a playlist,
│ │ │ │ + only list them.
│ │ │ │ + --mark-watched Mark videos watched (YouTube only)
│ │ │ │ + --no-mark-watched Do not mark videos watched (YouTube only)
│ │ │ │ + --no-color Do not emit color codes in output
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +Network Options:
│ │ │ │ +
│ │ │ │ + --proxy URL Use the specified HTTP/HTTPS/SOCKS proxy.
│ │ │ │ + To enable experimental SOCKS proxy, specify
│ │ │ │ + a proper scheme. For example
│ │ │ │ + socks5://127.0.0.1:1080/. Pass in an empty
│ │ │ │ + string (--proxy "") for direct connection
│ │ │ │ + --socket-timeout SECONDS Time to wait before giving up, in seconds
│ │ │ │ + --source-address IP Client-side IP address to bind to
│ │ │ │ + -4, --force-ipv4 Make all connections via IPv4
│ │ │ │ + -6, --force-ipv6 Make all connections via IPv6
│ │ │ │ + --geo-verification-proxy URL Use this proxy to verify the IP address for
│ │ │ │ + some geo-restricted sites. The default
│ │ │ │ + proxy specified by --proxy (or none, if the
│ │ │ │ + options is not present) is used for the
│ │ │ │ + actual downloading.
│ │ │ │ +
│ │ │ │
│ │ │ │ Video Selection:
│ │ │ │ -----------------
│ │ │ │
│ │ │ │ - --playlist-start NUMBER playlist video to start at (default is 1)
│ │ │ │ - --playlist-end NUMBER playlist video to end at (default is last)
│ │ │ │ - --match-title REGEX download only matching titles (regex or
│ │ │ │ + --playlist-start NUMBER Playlist video to start at (default is 1)
│ │ │ │ + --playlist-end NUMBER Playlist video to end at (default is last)
│ │ │ │ + --playlist-items ITEM_SPEC Playlist video items to download. Specify
│ │ │ │ + indices of the videos in the playlist
│ │ │ │ + separated by commas like: "--playlist-items
│ │ │ │ + 1,2,5,8" if you want to download videos
│ │ │ │ + indexed 1, 2, 5, 8 in the playlist. You can
│ │ │ │ + specify range: "--playlist-items
│ │ │ │ + 1-3,7,10-13", it will download the videos
│ │ │ │ + at index 1, 2, 3, 7, 10, 11, 12 and 13.
│ │ │ │ + --match-title REGEX Download only matching titles (regex or
│ │ │ │ caseless sub-string)
│ │ │ │ - --reject-title REGEX skip download for matching titles (regex or
│ │ │ │ + --reject-title REGEX Skip download for matching titles (regex or
│ │ │ │ caseless sub-string)
│ │ │ │ --max-downloads NUMBER Abort after downloading NUMBER files
│ │ │ │ --min-filesize SIZE Do not download any videos smaller than
│ │ │ │ SIZE (e.g. 50k or 44.6m)
│ │ │ │ --max-filesize SIZE Do not download any videos larger than SIZE
│ │ │ │ (e.g. 50k or 44.6m)
│ │ │ │ - --date DATE download only videos uploaded in this date
│ │ │ │ - --datebefore DATE download only videos uploaded on or before
│ │ │ │ + --date DATE Download only videos uploaded in this date
│ │ │ │ + --datebefore DATE Download only videos uploaded on or before
│ │ │ │ this date (i.e. inclusive)
│ │ │ │ - --dateafter DATE download only videos uploaded on or after
│ │ │ │ + --dateafter DATE Download only videos uploaded on or after
│ │ │ │ this date (i.e. inclusive)
│ │ │ │ --min-views COUNT Do not download any videos with less than
│ │ │ │ COUNT views
│ │ │ │ --max-views COUNT Do not download any videos with more than
│ │ │ │ COUNT views
│ │ │ │ - --no-playlist download only the currently playing video
│ │ │ │ - --age-limit YEARS download only videos suitable for the given
│ │ │ │ + --match-filter FILTER Generic video filter. Specify any key (see
│ │ │ │ + help for -o for a list of available keys)
│ │ │ │ + to match if the key is present, !key to
│ │ │ │ + check if the key is not present,key >
│ │ │ │ + NUMBER (like "comment_count > 12", also
│ │ │ │ + works with >=, <, <=, !=, =) to compare
│ │ │ │ + against a number, and & to require multiple
│ │ │ │ + matches. Values which are not known are
│ │ │ │ + excluded unless you put a question mark (?)
│ │ │ │ + after the operator.For example, to only
│ │ │ │ + match videos that have been liked more than
│ │ │ │ + 100 times and disliked less than 50 times
│ │ │ │ + (or the dislike functionality is not
│ │ │ │ + available at the given service), but who
│ │ │ │ + also have a description, use --match-filter
│ │ │ │ + "like_count > 100 & dislike_count <? 50 &
│ │ │ │ + description" .
│ │ │ │ + --no-playlist Download only the video, if the URL refers
│ │ │ │ + to a video and a playlist.
│ │ │ │ + --yes-playlist Download the playlist, if the URL refers to
│ │ │ │ + a video and a playlist.
│ │ │ │ + --age-limit YEARS Download only videos suitable for the given
│ │ │ │ age
│ │ │ │ --download-archive FILE Download only videos not listed in the
│ │ │ │ archive file. Record the IDs of all
│ │ │ │ downloaded videos in it.
│ │ │ │ --include-ads Download advertisements as well
│ │ │ │ (experimental)
│ │ │ │ - --youtube-include-dash-manifest Try to download the DASH manifest on
│ │ │ │ - YouTube videos (experimental)
│ │ │ │ +
│ │ │ │
│ │ │ │ Download Options:
│ │ │ │ ------------------
│ │ │ │
│ │ │ │ - -r, --rate-limit LIMIT maximum download rate in bytes per second
│ │ │ │ + -r, --limit-rate RATE Maximum download rate in bytes per second
│ │ │ │ (e.g. 50K or 4.2M)
│ │ │ │ - -R, --retries RETRIES number of retries (default is 10)
│ │ │ │ - --buffer-size SIZE size of download buffer (e.g. 1024 or 16K)
│ │ │ │ + -R, --retries RETRIES Number of retries (default is 10), or
│ │ │ │ + "infinite".
│ │ │ │ + --fragment-retries RETRIES Number of retries for a fragment (default
│ │ │ │ + is 10), or "infinite" (DASH and hlsnative
│ │ │ │ + only)
│ │ │ │ + --skip-unavailable-fragments Skip unavailable fragments (DASH and
│ │ │ │ + hlsnative only)
│ │ │ │ + --abort-on-unavailable-fragment Abort downloading when some fragment is not
│ │ │ │ + available
│ │ │ │ + --buffer-size SIZE Size of download buffer (e.g. 1024 or 16K)
│ │ │ │ (default is 1024)
│ │ │ │ - --no-resize-buffer do not automatically adjust the buffer
│ │ │ │ + --no-resize-buffer Do not automatically adjust the buffer
│ │ │ │ size. By default, the buffer size is
│ │ │ │ automatically resized from an initial value
│ │ │ │ of SIZE.
│ │ │ │ + --playlist-reverse Download playlist videos in reverse order
│ │ │ │ + --playlist-random Download playlist videos in random order
│ │ │ │ + --xattr-set-filesize Set file xattribute ytdl.filesize with
│ │ │ │ + expected file size (experimental)
│ │ │ │ + --hls-prefer-native Use the native HLS downloader instead of
│ │ │ │ + ffmpeg
│ │ │ │ + --hls-prefer-ffmpeg Use ffmpeg instead of the native HLS
│ │ │ │ + downloader
│ │ │ │ + --hls-use-mpegts Use the mpegts container for HLS videos,
│ │ │ │ + allowing to play the video while
│ │ │ │ + downloading (some players may not be able
│ │ │ │ + to play it)
│ │ │ │ + --external-downloader COMMAND Use the specified external downloader.
│ │ │ │ + Currently supports
│ │ │ │ + aria2c,avconv,axel,curl,ffmpeg,httpie,wget
│ │ │ │ + --external-downloader-args ARGS Give these arguments to the external
│ │ │ │ + downloader
│ │ │ │ +
│ │ │ │
│ │ │ │ Filesystem Options:
│ │ │ │ --------------------
│ │ │ │
│ │ │ │ - -t, --title use title in file name (default)
│ │ │ │ - --id use only video ID in file name
│ │ │ │ - -l, --literal [deprecated] alias of --title
│ │ │ │ - -A, --auto-number number downloaded files starting from 00000
│ │ │ │ - -o, --output TEMPLATE output filename template. Use %(title)s to
│ │ │ │ - get the title, %(uploader)s for the
│ │ │ │ - uploader name, %(uploader_id)s for the
│ │ │ │ - uploader nickname if different,
│ │ │ │ - %(autonumber)s to get an automatically
│ │ │ │ - incremented number, %(ext)s for the
│ │ │ │ - filename extension, %(format)s for the
│ │ │ │ - format description (like "22 - 1280x720" or
│ │ │ │ - "HD"), %(format_id)s for the unique id of
│ │ │ │ - the format (like Youtube's itags: "137"),
│ │ │ │ - %(upload_date)s for the upload date
│ │ │ │ - (YYYYMMDD), %(extractor)s for the provider
│ │ │ │ - (youtube, metacafe, etc), %(id)s for the
│ │ │ │ - video id, %(playlist)s for the playlist the
│ │ │ │ - video is in, %(playlist_index)s for the
│ │ │ │ - position in the playlist and %% for a
│ │ │ │ - literal percent. %(height)s and %(width)s
│ │ │ │ - for the width and height of the video
│ │ │ │ - format. %(resolution)s for a textual
│ │ │ │ - description of the resolution of the video
│ │ │ │ - format. Use - to output to stdout. Can also
│ │ │ │ - be used to download to a different
│ │ │ │ - directory, for example with -o '/my/downloa
│ │ │ │ - ds/%(uploader)s/%(title)s-%(id)s.%(ext)s' .
│ │ │ │ - --autonumber-size NUMBER Specifies the number of digits in
│ │ │ │ + -a, --batch-file FILE File containing URLs to download ('-' for
│ │ │ │ + stdin)
│ │ │ │ + --id Use only video ID in file name
│ │ │ │ + -o, --output TEMPLATE Output filename template, see the "OUTPUT
│ │ │ │ + TEMPLATE" for all the info
│ │ │ │ + --autonumber-size NUMBER Specify the number of digits in
│ │ │ │ %(autonumber)s when it is present in output
│ │ │ │ filename template or --auto-number option
│ │ │ │ - is given
│ │ │ │ + is given (default is 5)
│ │ │ │ + --autonumber-start NUMBER Specify the start value for %(autonumber)s
│ │ │ │ + (default is 1)
│ │ │ │ --restrict-filenames Restrict filenames to only ASCII
│ │ │ │ characters, and avoid "&" and spaces in
│ │ │ │ filenames
│ │ │ │ - -a, --batch-file FILE file containing URLs to download ('-' for
│ │ │ │ - stdin)
│ │ │ │ - --load-info FILE json file containing the video information
│ │ │ │ - (created with the "--write-json" option)
│ │ │ │ - -w, --no-overwrites do not overwrite files
│ │ │ │ - -c, --continue force resume of partially downloaded files.
│ │ │ │ + -A, --auto-number [deprecated; use -o
│ │ │ │ + "%(autonumber)s-%(title)s.%(ext)s" ] Number
│ │ │ │ + downloaded files starting from 00000
│ │ │ │ + -t, --title [deprecated] Use title in file name
│ │ │ │ + (default)
│ │ │ │ + -l, --literal [deprecated] Alias of --title
│ │ │ │ + -w, --no-overwrites Do not overwrite files
│ │ │ │ + -c, --continue Force resume of partially downloaded files.
│ │ │ │ By default, youtube-dl will resume
│ │ │ │ downloads if possible.
│ │ │ │ - --no-continue do not resume partially downloaded files
│ │ │ │ + --no-continue Do not resume partially downloaded files
│ │ │ │ (restart from beginning)
│ │ │ │ - --cookies FILE file to read cookies from and dump cookie
│ │ │ │ - jar in
│ │ │ │ - --no-part do not use .part files
│ │ │ │ - --no-mtime do not use the Last-modified header to set
│ │ │ │ + --no-part Do not use .part files - write directly
│ │ │ │ + into output file
│ │ │ │ + --no-mtime Do not use the Last-modified header to set
│ │ │ │ the file modification time
│ │ │ │ - --write-description write video description to a .description
│ │ │ │ + --write-description Write video description to a .description
│ │ │ │ file
│ │ │ │ - --write-info-json write video metadata to a .info.json file
│ │ │ │ - --write-annotations write video annotations to a .annotation
│ │ │ │ - file
│ │ │ │ - --write-thumbnail write thumbnail image to disk
│ │ │ │ + --write-info-json Write video metadata to a .info.json file
│ │ │ │ + --write-annotations Write video annotations to a
│ │ │ │ + .annotations.xml file
│ │ │ │ + --load-info-json FILE JSON file containing the video information
│ │ │ │ + (created with the "--write-info-json"
│ │ │ │ + option)
│ │ │ │ + --cookies FILE File to read cookies from and dump cookie
│ │ │ │ + jar in
│ │ │ │ + --cache-dir DIR Location in the filesystem where youtube-dl
│ │ │ │ + can store some downloaded information
│ │ │ │ + permanently. By default
│ │ │ │ + $XDG_CACHE_HOME/youtube-dl or
│ │ │ │ + ~/.cache/youtube-dl . At the moment, only
│ │ │ │ + YouTube player files (for videos with
│ │ │ │ + obfuscated signatures) are cached, but that
│ │ │ │ + may change.
│ │ │ │ + --no-cache-dir Disable filesystem caching
│ │ │ │ + --rm-cache-dir Delete all filesystem cache files
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +Thumbnail images:
│ │ │ │ +
│ │ │ │ + --write-thumbnail Write thumbnail image to disk
│ │ │ │ + --write-all-thumbnails Write all thumbnail image formats to disk
│ │ │ │ + --list-thumbnails Simulate and list all available thumbnail
│ │ │ │ + formats
│ │ │ │ +
│ │ │ │
│ │ │ │ Verbosity / Simulation Options:
│ │ │ │ --------------------------------
│ │ │ │
│ │ │ │ - -q, --quiet activates quiet mode
│ │ │ │ + -q, --quiet Activate quiet mode
│ │ │ │ --no-warnings Ignore warnings
│ │ │ │ - -s, --simulate do not download the video and do not write
│ │ │ │ + -s, --simulate Do not download the video and do not write
│ │ │ │ anything to disk
│ │ │ │ - --skip-download do not download the video
│ │ │ │ - -g, --get-url simulate, quiet but print URL
│ │ │ │ - -e, --get-title simulate, quiet but print title
│ │ │ │ - --get-id simulate, quiet but print id
│ │ │ │ - --get-thumbnail simulate, quiet but print thumbnail URL
│ │ │ │ - --get-description simulate, quiet but print video description
│ │ │ │ - --get-duration simulate, quiet but print video length
│ │ │ │ - --get-filename simulate, quiet but print output filename
│ │ │ │ - --get-format simulate, quiet but print output format
│ │ │ │ - -j, --dump-json simulate, quiet but print JSON information.
│ │ │ │ + --skip-download Do not download the video
│ │ │ │ + -g, --get-url Simulate, quiet but print URL
│ │ │ │ + -e, --get-title Simulate, quiet but print title
│ │ │ │ + --get-id Simulate, quiet but print id
│ │ │ │ + --get-thumbnail Simulate, quiet but print thumbnail URL
│ │ │ │ + --get-description Simulate, quiet but print video description
│ │ │ │ + --get-duration Simulate, quiet but print video length
│ │ │ │ + --get-filename Simulate, quiet but print output filename
│ │ │ │ + --get-format Simulate, quiet but print output format
│ │ │ │ + -j, --dump-json Simulate, quiet but print JSON information.
│ │ │ │ See --output for a description of available
│ │ │ │ keys.
│ │ │ │ - --newline output progress bar as new lines
│ │ │ │ - --no-progress do not print progress bar
│ │ │ │ - --console-title display progress in console titlebar
│ │ │ │ - -v, --verbose print various debugging information
│ │ │ │ - --dump-intermediate-pages print downloaded pages to debug problems
│ │ │ │ - (very verbose)
│ │ │ │ + -J, --dump-single-json Simulate, quiet but print JSON information
│ │ │ │ + for each command-line argument. If the URL
│ │ │ │ + refers to a playlist, dump the whole
│ │ │ │ + playlist information in a single line.
│ │ │ │ + --print-json Be quiet and print the video information as
│ │ │ │ + JSON (video is still being downloaded).
│ │ │ │ + --newline Output progress bar as new lines
│ │ │ │ + --no-progress Do not print progress bar
│ │ │ │ + --console-title Display progress in console titlebar
│ │ │ │ + -v, --verbose Print various debugging information
│ │ │ │ + --dump-pages Print downloaded pages encoded using base64
│ │ │ │ + to debug problems (very verbose)
│ │ │ │ --write-pages Write downloaded intermediary pages to
│ │ │ │ files in the current directory to debug
│ │ │ │ problems
│ │ │ │ --print-traffic Display sent and read HTTP traffic
│ │ │ │ + -C, --call-home Contact the youtube-dl server for debugging
│ │ │ │ + --no-call-home Do NOT contact the youtube-dl server for
│ │ │ │ + debugging
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +Workarounds:
│ │ │ │ +
│ │ │ │ + --encoding ENCODING Force the specified encoding (experimental)
│ │ │ │ + --no-check-certificate Suppress HTTPS certificate validation
│ │ │ │ + --prefer-insecure Use an unencrypted connection to retrieve
│ │ │ │ + information about the video. (Currently
│ │ │ │ + supported only for YouTube)
│ │ │ │ + --user-agent UA Specify a custom user agent
│ │ │ │ + --referer URL Specify a custom referer, use if the video
│ │ │ │ + access is restricted to one domain
│ │ │ │ + --add-header FIELD:VALUE Specify a custom HTTP header and its value,
│ │ │ │ + separated by a colon ':'. You can use this
│ │ │ │ + option multiple times
│ │ │ │ + --bidi-workaround Work around terminals that lack
│ │ │ │ + bidirectional text support. Requires bidiv
│ │ │ │ + or fribidi executable in PATH
│ │ │ │ + --sleep-interval SECONDS Number of seconds to sleep before each
│ │ │ │ + download when used alone or a lower bound
│ │ │ │ + of a range for randomized sleep before each
│ │ │ │ + download (minimum possible number of
│ │ │ │ + seconds to sleep) when used along with
│ │ │ │ + --max-sleep-interval.
│ │ │ │ + --max-sleep-interval SECONDS Upper bound of a range for randomized sleep
│ │ │ │ + before each download (maximum possible
│ │ │ │ + number of seconds to sleep). Must only be
│ │ │ │ + used along with --min-sleep-interval.
│ │ │ │ +
│ │ │ │
│ │ │ │ Video Format Options:
│ │ │ │ ----------------------
│ │ │ │
│ │ │ │ - -f, --format FORMAT video format code, specify the order of
│ │ │ │ - preference using slashes: "-f 22/17/18".
│ │ │ │ - "-f mp4" and "-f flv" are also supported.
│ │ │ │ - You can also use the special names "best",
│ │ │ │ - "bestvideo", "bestaudio", "worst",
│ │ │ │ - "worstvideo" and "worstaudio". By default,
│ │ │ │ - youtube-dl will pick the best quality.
│ │ │ │ - --all-formats download all available video formats
│ │ │ │ - --prefer-free-formats prefer free video formats unless a specific
│ │ │ │ + -f, --format FORMAT Video format code, see the "FORMAT
│ │ │ │ + SELECTION" for all the info
│ │ │ │ + --all-formats Download all available video formats
│ │ │ │ + --prefer-free-formats Prefer free video formats unless a specific
│ │ │ │ one is requested
│ │ │ │ - --max-quality FORMAT highest quality format to download
│ │ │ │ - -F, --list-formats list all available formats
│ │ │ │ + -F, --list-formats List all available formats of requested
│ │ │ │ + videos
│ │ │ │ + --youtube-skip-dash-manifest Do not download the DASH manifests and
│ │ │ │ + related data on YouTube videos
│ │ │ │ + --merge-output-format FORMAT If a merge is required (e.g.
│ │ │ │ + bestvideo+bestaudio), output to given
│ │ │ │ + container format. One of mkv, mp4, ogg,
│ │ │ │ + webm, flv. Ignored if no merge is required
│ │ │ │ +
│ │ │ │
│ │ │ │ Subtitle Options:
│ │ │ │ ------------------
│ │ │ │
│ │ │ │ - --write-sub write subtitle file
│ │ │ │ - --write-auto-sub write automatic subtitle file (youtube
│ │ │ │ - only)
│ │ │ │ - --all-subs downloads all the available subtitles of
│ │ │ │ - the video
│ │ │ │ - --list-subs lists all available subtitles for the video
│ │ │ │ - --sub-format FORMAT subtitle format (default=srt) ([sbv/vtt]
│ │ │ │ - youtube only)
│ │ │ │ - --sub-lang LANGS languages of the subtitles to download
│ │ │ │ - (optional) separated by commas, use IETF
│ │ │ │ - language tags like 'en,pt'
│ │ │ │ + --write-sub Write subtitle file
│ │ │ │ + --write-auto-sub Write automatically generated subtitle file
│ │ │ │ + (YouTube only)
│ │ │ │ + --all-subs Download all the available subtitles of the
│ │ │ │ + video
│ │ │ │ + --list-subs List all available subtitles for the video
│ │ │ │ + --sub-format FORMAT Subtitle format, accepts formats
│ │ │ │ + preference, for example: "srt" or
│ │ │ │ + "ass/srt/best"
│ │ │ │ + --sub-lang LANGS Languages of the subtitles to download
│ │ │ │ + (optional) separated by commas, use --list-
│ │ │ │ + subs for available language tags
│ │ │ │ +
│ │ │ │
│ │ │ │ Authentication Options:
│ │ │ │ ------------------------
│ │ │ │
│ │ │ │ - -u, --username USERNAME account username
│ │ │ │ - -p, --password PASSWORD account password
│ │ │ │ - -n, --netrc use .netrc authentication data
│ │ │ │ - --video-password PASSWORD video password (vimeo, smotri)
│ │ │ │ + -u, --username USERNAME Login with this account ID
│ │ │ │ + -p, --password PASSWORD Account password. If this option is left
│ │ │ │ + out, youtube-dl will ask interactively.
│ │ │ │ + -2, --twofactor TWOFACTOR Two-factor authentication code
│ │ │ │ + -n, --netrc Use .netrc authentication data
│ │ │ │ + --video-password PASSWORD Video password (vimeo, smotri, youku)
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +Adobe Pass Options:
│ │ │ │ +
│ │ │ │ + --ap-mso MSO Adobe Pass multiple-system operator (TV
│ │ │ │ + provider) identifier, use --ap-list-mso for
│ │ │ │ + a list of available MSOs
│ │ │ │ + --ap-username USERNAME Multiple-system operator account login
│ │ │ │ + --ap-password PASSWORD Multiple-system operator account password.
│ │ │ │ + If this option is left out, youtube-dl will
│ │ │ │ + ask interactively.
│ │ │ │ + --ap-list-mso List all supported multiple-system
│ │ │ │ + operators
│ │ │ │ +
│ │ │ │
│ │ │ │ Post-processing Options:
│ │ │ │ -------------------------
│ │ │ │
│ │ │ │ - -x, --extract-audio convert video files to audio-only files
│ │ │ │ + -x, --extract-audio Convert video files to audio-only files
│ │ │ │ (requires ffmpeg or avconv and ffprobe or
│ │ │ │ avprobe)
│ │ │ │ - --audio-format FORMAT "best", "aac", "vorbis", "mp3", "m4a",
│ │ │ │ - "opus", or "wav"; best by default
│ │ │ │ - --audio-quality QUALITY ffmpeg/avconv audio quality specification,
│ │ │ │ - insert a value between 0 (better) and 9
│ │ │ │ - (worse) for VBR or a specific bitrate like
│ │ │ │ - 128K (default 5)
│ │ │ │ + --audio-format FORMAT Specify audio format: "best", "aac",
│ │ │ │ + "vorbis", "mp3", "m4a", "opus", or "wav";
│ │ │ │ + "best" by default; No effect without -x
│ │ │ │ + --audio-quality QUALITY Specify ffmpeg/avconv audio quality, insert
│ │ │ │ + a value between 0 (better) and 9 (worse)
│ │ │ │ + for VBR or a specific bitrate like 128K
│ │ │ │ + (default 5)
│ │ │ │ --recode-video FORMAT Encode the video to another format if
│ │ │ │ necessary (currently supported:
│ │ │ │ - mp4|flv|ogg|webm|mkv)
│ │ │ │ - -k, --keep-video keeps the video file on disk after the
│ │ │ │ - post-processing; the video is erased by
│ │ │ │ - default
│ │ │ │ - --no-post-overwrites do not overwrite post-processed files; the
│ │ │ │ + mp4|flv|ogg|webm|mkv|avi)
│ │ │ │ + --postprocessor-args ARGS Give these arguments to the postprocessor
│ │ │ │ + -k, --keep-video Keep the video file on disk after the post-
│ │ │ │ + processing; the video is erased by default
│ │ │ │ + --no-post-overwrites Do not overwrite post-processed files; the
│ │ │ │ post-processed files are overwritten by
│ │ │ │ default
│ │ │ │ - --embed-subs embed subtitles in the video (only for mp4
│ │ │ │ - videos)
│ │ │ │ - --embed-thumbnail embed thumbnail in the audio as cover art
│ │ │ │ - --add-metadata write metadata to the video file
│ │ │ │ - --xattrs write metadata to the video file's xattrs
│ │ │ │ + --embed-subs Embed subtitles in the video (only for mp4,
│ │ │ │ + webm and mkv videos)
│ │ │ │ + --embed-thumbnail Embed thumbnail in the audio as cover art
│ │ │ │ + --add-metadata Write metadata to the video file
│ │ │ │ + --metadata-from-title FORMAT Parse additional metadata like song title /
│ │ │ │ + artist from the video title. The format
│ │ │ │ + syntax is the same as --output, the parsed
│ │ │ │ + parameters replace existing values.
│ │ │ │ + Additional templates: %(album)s,
│ │ │ │ + %(artist)s. Example: --metadata-from-title
│ │ │ │ + "%(artist)s - %(title)s" matches a title
│ │ │ │ + like "Coldplay - Paradise"
│ │ │ │ + --xattrs Write metadata to the video file's xattrs
│ │ │ │ (using dublin core and xdg standards)
│ │ │ │ + --fixup POLICY Automatically correct known faults of the
│ │ │ │ + file. One of never (do nothing), warn (only
│ │ │ │ + emit a warning), detect_or_warn (the
│ │ │ │ + default; fix file if we can, warn
│ │ │ │ + otherwise)
│ │ │ │ --prefer-avconv Prefer avconv over ffmpeg for running the
│ │ │ │ postprocessors (default)
│ │ │ │ --prefer-ffmpeg Prefer ffmpeg over avconv for running the
│ │ │ │ postprocessors
│ │ │ │ + --ffmpeg-location PATH Location of the ffmpeg/avconv binary;
│ │ │ │ + either the path to the binary or its
│ │ │ │ + containing directory.
│ │ │ │ + --exec CMD Execute a command on the file after
│ │ │ │ + downloading, similar to find's -exec
│ │ │ │ + syntax. Example: --exec 'adb push {}
│ │ │ │ + /sdcard/Music/ && rm {}'
│ │ │ │ + --convert-subs FORMAT Convert the subtitles to other format
│ │ │ │ + (currently supported: srt|ass|vtt)
│ │ │ │ +
│ │ │ │ +
│ │ │ │
│ │ │ │ CONFIGURATION
│ │ │ │ -=============
│ │ │ │
│ │ │ │ -You can configure youtube-dl by placing default arguments (such as
│ │ │ │ ---extract-audio --no-mtime to always extract the audio and not copy the
│ │ │ │ -mtime) into /etc/youtube-dl.conf and/or ~/.config/youtube-dl/config. On
│ │ │ │ -Windows, the configuration file locations are
│ │ │ │ -%APPDATA%\youtube-dl\config.txt and C:\Users\<Yourname>\youtube-dl.conf.
│ │ │ │ +
│ │ │ │ +You can configure youtube-dl by placing any supported command line
│ │ │ │ +option to a configuration file. On Linux and OS X, the system wide
│ │ │ │ +configuration file is located at /etc/youtube-dl.conf and the user wide
│ │ │ │ +configuration file at ~/.config/youtube-dl/config. On Windows, the user
│ │ │ │ +wide configuration file locations are %APPDATA%\youtube-dl\config.txt or
│ │ │ │ +C:\Users\<user name>\youtube-dl.conf. Note that by default configuration
│ │ │ │ +file may not exist so you may need to create it yourself.
│ │ │ │ +
│ │ │ │ +For example, with the following configuration file youtube-dl will
│ │ │ │ +always extract the audio, not copy the mtime, use a proxy and save all
│ │ │ │ +videos under Movies directory in your home directory:
│ │ │ │ +
│ │ │ │ + # Lines starting with # are comments
│ │ │ │ +
│ │ │ │ + # Always extract audio
│ │ │ │ + -x
│ │ │ │ +
│ │ │ │ + # Do not copy the mtime
│ │ │ │ + --no-mtime
│ │ │ │ +
│ │ │ │ + # Use this proxy
│ │ │ │ + --proxy 127.0.0.1:3128
│ │ │ │ +
│ │ │ │ + # Save all videos under Movies directory in your home directory
│ │ │ │ + -o ~/Movies/%(title)s.%(ext)s
│ │ │ │ +
│ │ │ │ +Note that options in configuration file are just the same options aka
│ │ │ │ +switches used in regular command line calls thus there MUST BE NO
│ │ │ │ +WHITESPACE after - or --, e.g. -o or --proxy but not - o or -- proxy.
│ │ │ │ +
│ │ │ │ +You can use --ignore-config if you want to disable the configuration
│ │ │ │ +file for a particular youtube-dl run.
│ │ │ │ +
│ │ │ │ +You can also use --config-location if you want to use custom
│ │ │ │ +configuration file for a particular youtube-dl run.
│ │ │ │ +
│ │ │ │ +Authentication with .netrc file
│ │ │ │ +
│ │ │ │ +You may also want to configure automatic credentials storage for
│ │ │ │ +extractors that support authentication (by providing login and password
│ │ │ │ +with --username and --password) in order not to pass credentials as
│ │ │ │ +command line arguments on every youtube-dl execution and prevent
│ │ │ │ +tracking plain text passwords in the shell command history. You can
│ │ │ │ +achieve this using a .netrc file on a per extractor basis. For that you
│ │ │ │ +will need to create a .netrc file in your $HOME and restrict permissions
│ │ │ │ +to read/write by only you:
│ │ │ │ +
│ │ │ │ + touch $HOME/.netrc
│ │ │ │ + chmod a-rwx,u+rw $HOME/.netrc
│ │ │ │ +
│ │ │ │ +After that you can add credentials for an extractor in the following
│ │ │ │ +format, where _extractor_ is the name of the extractor in lowercase:
│ │ │ │ +
│ │ │ │ + machine <extractor> login <login> password <password>
│ │ │ │ +
│ │ │ │ +For example:
│ │ │ │ +
│ │ │ │ + machine youtube login myaccount at gmail.com password my_youtube_password
│ │ │ │ + machine twitch login my_twitch_account_name password my_twitch_password
│ │ │ │ +
│ │ │ │ +To activate authentication with the .netrc file you should pass --netrc
│ │ │ │ +to youtube-dl or place it in the configuration file.
│ │ │ │ +
│ │ │ │ +On Windows you may also need to setup the %HOME% environment variable
│ │ │ │ +manually.
│ │ │ │ +
│ │ │ │ +
│ │ │ │
│ │ │ │ OUTPUT TEMPLATE
│ │ │ │ -===============
│ │ │ │ +
│ │ │ │
│ │ │ │ The -o option allows users to indicate a template for the output file
│ │ │ │ -names. The basic usage is not to set any template arguments when
│ │ │ │ -downloading a single file, like in
│ │ │ │ -youtube-dl -o funny_video.flv "http://some/video". However, it may
│ │ │ │ -contain special sequences that will be replaced when downloading each
│ │ │ │ -video. The special sequences have the format %(NAME)s. To clarify, that
│ │ │ │ -is a percent symbol followed by a name in parenthesis, followed by a
│ │ │ │ -lowercase S. Allowed names are:
│ │ │ │ -
│ │ │ │ -- id: The sequence will be replaced by the video identifier.
│ │ │ │ -- url: The sequence will be replaced by the video URL.
│ │ │ │ -- uploader: The sequence will be replaced by the nickname of the
│ │ │ │ - person who uploaded the video.
│ │ │ │ -- upload_date: The sequence will be replaced by the upload date in
│ │ │ │ - YYYYMMDD format.
│ │ │ │ -- title: The sequence will be replaced by the video title.
│ │ │ │ -- ext: The sequence will be replaced by the appropriate extension
│ │ │ │ - (like flv or mp4).
│ │ │ │ -- epoch: The sequence will be replaced by the Unix epoch when creating
│ │ │ │ - the file.
│ │ │ │ -- autonumber: The sequence will be replaced by a five-digit number
│ │ │ │ - that will be increased with each download, starting at zero.
│ │ │ │ -- playlist: The name or the id of the playlist that contains the
│ │ │ │ - video.
│ │ │ │ -- playlist_index: The index of the video in the playlist, a five-digit
│ │ │ │ - number.
│ │ │ │ +names.
│ │ │ │ +
│ │ │ │ +TL;DR: navigate me to examples.
│ │ │ │ +
│ │ │ │ +The basic usage is not to set any template arguments when downloading a
│ │ │ │ +single file, like in youtube-dl -o funny_video.flv "http://some/video".
│ │ │ │ +However, it may contain special sequences that will be replaced when
│ │ │ │ +downloading each video. The special sequences have the format %(NAME)s.
│ │ │ │ +To clarify, that is a percent symbol followed by a name in parentheses,
│ │ │ │ +followed by a lowercase S. Allowed names are:
│ │ │ │ +
│ │ │ │ +- id: Video identifier
│ │ │ │ +- title: Video title
│ │ │ │ +- url: Video URL
│ │ │ │ +- ext: Video filename extension
│ │ │ │ +- alt_title: A secondary title of the video
│ │ │ │ +- display_id: An alternative identifier for the video
│ │ │ │ +- uploader: Full name of the video uploader
│ │ │ │ +- license: License name the video is licensed under
│ │ │ │ +- creator: The creator of the video
│ │ │ │ +- release_date: The date (YYYYMMDD) when the video was released
│ │ │ │ +- timestamp: UNIX timestamp of the moment the video became available
│ │ │ │ +- upload_date: Video upload date (YYYYMMDD)
│ │ │ │ +- uploader_id: Nickname or id of the video uploader
│ │ │ │ +- location: Physical location where the video was filmed
│ │ │ │ +- duration: Length of the video in seconds
│ │ │ │ +- view_count: How many users have watched the video on the platform
│ │ │ │ +- like_count: Number of positive ratings of the video
│ │ │ │ +- dislike_count: Number of negative ratings of the video
│ │ │ │ +- repost_count: Number of reposts of the video
│ │ │ │ +- average_rating: Average rating give by users, the scale used depends
│ │ │ │ + on the webpage
│ │ │ │ +- comment_count: Number of comments on the video
│ │ │ │ +- age_limit: Age restriction for the video (years)
│ │ │ │ +- format: A human-readable description of the format
│ │ │ │ +- format_id: Format code specified by --format
│ │ │ │ +- format_note: Additional info about the format
│ │ │ │ +- width: Width of the video
│ │ │ │ +- height: Height of the video
│ │ │ │ +- resolution: Textual description of width and height
│ │ │ │ +- tbr: Average bitrate of audio and video in KBit/s
│ │ │ │ +- abr: Average audio bitrate in KBit/s
│ │ │ │ +- acodec: Name of the audio codec in use
│ │ │ │ +- asr: Audio sampling rate in Hertz
│ │ │ │ +- vbr: Average video bitrate in KBit/s
│ │ │ │ +- fps: Frame rate
│ │ │ │ +- vcodec: Name of the video codec in use
│ │ │ │ +- container: Name of the container format
│ │ │ │ +- filesize: The number of bytes, if known in advance
│ │ │ │ +- filesize_approx: An estimate for the number of bytes
│ │ │ │ +- protocol: The protocol that will be used for the actual download
│ │ │ │ +- extractor: Name of the extractor
│ │ │ │ +- extractor_key: Key name of the extractor
│ │ │ │ +- epoch: Unix epoch when creating the file
│ │ │ │ +- autonumber: Five-digit number that will be increased with each
│ │ │ │ + download, starting at zero
│ │ │ │ +- playlist: Name or id of the playlist that contains the video
│ │ │ │ +- playlist_index: Index of the video in the playlist padded with
│ │ │ │ + leading zeros according to the total length of the playlist
│ │ │ │ +- playlist_id: Playlist identifier
│ │ │ │ +- playlist_title: Playlist title
│ │ │ │ +
│ │ │ │ +Available for the video that belongs to some logical chapter or section:
│ │ │ │ +- chapter: Name or title of the chapter the video belongs to -
│ │ │ │ +chapter_number: Number of the chapter the video belongs to - chapter_id:
│ │ │ │ +Id of the chapter the video belongs to
│ │ │ │ +
│ │ │ │ +Available for the video that is an episode of some series or programme:
│ │ │ │ +- series: Title of the series or programme the video episode belongs to
│ │ │ │ +- season: Title of the season the video episode belongs to -
│ │ │ │ +season_number: Number of the season the video episode belongs to -
│ │ │ │ +season_id: Id of the season the video episode belongs to - episode:
│ │ │ │ +Title of the video episode - episode_number: Number of the video episode
│ │ │ │ +within a season - episode_id: Id of the video episode
│ │ │ │ +
│ │ │ │ +Available for the media that is a track or a part of a music album: -
│ │ │ │ +track: Title of the track - track_number: Number of the track within an
│ │ │ │ +album or a disc - track_id: Id of the track - artist: Artist(s) of the
│ │ │ │ +track - genre: Genre(s) of the track - album: Title of the album the
│ │ │ │ +track belongs to - album_type: Type of the album - album_artist: List of
│ │ │ │ +all artists appeared on the album - disc_number: Number of the disc or
│ │ │ │ +other physical medium the track belongs to - release_year: Year (YYYY)
│ │ │ │ +when the album was released
│ │ │ │ +
│ │ │ │ +Each aforementioned sequence when referenced in an output template will
│ │ │ │ +be replaced by the actual value corresponding to the sequence name. Note
│ │ │ │ +that some of the sequences are not guaranteed to be present since they
│ │ │ │ +depend on the metadata obtained by a particular extractor. Such
│ │ │ │ +sequences will be replaced with NA.
│ │ │ │ +
│ │ │ │ +For example for -o %(title)s-%(id)s.%(ext)s and an mp4 video with title
│ │ │ │ +youtube-dl test video and id BaW_jenozKcj, this will result in a
│ │ │ │ +youtube-dl test video-BaW_jenozKcj.mp4 file created in the current
│ │ │ │ +directory.
│ │ │ │ +
│ │ │ │ +Output templates can also contain arbitrary hierarchical path, e.g.
│ │ │ │ +-o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' which will
│ │ │ │ +result in downloading each video in a directory corresponding to this
│ │ │ │ +path template. Any missing directory will be automatically created for
│ │ │ │ +you.
│ │ │ │ +
│ │ │ │ +To use percent literals in an output template use %%. To output to
│ │ │ │ +stdout use -o -.
│ │ │ │
│ │ │ │ The current default template is %(title)s-%(id)s.%(ext)s.
│ │ │ │
│ │ │ │ In some cases, you don't want special characters such as 中, spaces, or
│ │ │ │ &, such as when transferring the downloaded filename to a Windows system
│ │ │ │ or the filename through an 8bit-unsafe channel. In these cases, add the
│ │ │ │ --restrict-filenames flag to get a shorter title:
│ │ │ │
│ │ │ │ - $ youtube-dl --get-filename -o "%(title)s.%(ext)s" BaW_jenozKc
│ │ │ │ +Output template and Windows batch files
│ │ │ │ +
│ │ │ │ +If you are using an output template inside a Windows batch file then you
│ │ │ │ +must escape plain percent characters (%) by doubling, so that
│ │ │ │ +-o "%(title)s-%(id)s.%(ext)s" should become
│ │ │ │ +-o "%%(title)s-%%(id)s.%%(ext)s". However you should not touch %'s that
│ │ │ │ +are not plain characters, e.g. environment variables for expansion
│ │ │ │ +should stay intact: -o "C:\%HOMEPATH%\Desktop\%%(title)s.%%(ext)s".
│ │ │ │ +
│ │ │ │ +Output template examples
│ │ │ │ +
│ │ │ │ +Note on Windows you may need to use double quotes instead of single.
│ │ │ │ +
│ │ │ │ + $ youtube-dl --get-filename -o '%(title)s.%(ext)s' BaW_jenozKc
│ │ │ │ youtube-dl test video ''_ä↭𝕐.mp4 # All kinds of weird characters
│ │ │ │ - $ youtube-dl --get-filename -o "%(title)s.%(ext)s" BaW_jenozKc --restrict-filenames
│ │ │ │ +
│ │ │ │ + $ youtube-dl --get-filename -o '%(title)s.%(ext)s' BaW_jenozKc --restrict-filenames
│ │ │ │ youtube-dl_test_video_.mp4 # A simple file name
│ │ │ │
│ │ │ │ + # Download YouTube playlist videos in separate directory indexed by video order in a playlist
│ │ │ │ + $ youtube-dl -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re
│ │ │ │ +
│ │ │ │ + # Download all playlists of YouTube channel/user keeping each playlist in separate directory:
│ │ │ │ + $ youtube-dl -o '%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/user/TheLinuxFoundation/playlists
│ │ │ │ +
│ │ │ │ + # Download Udemy course keeping each chapter in separate directory under MyVideos directory in your home
│ │ │ │ + $ youtube-dl -u user -p password -o '~/MyVideos/%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s' https://www.udemy.com/java-tutorial/
│ │ │ │ +
│ │ │ │ + # Download entire series season keeping each series and each season in separate directory under C:/MyVideos
│ │ │ │ + $ youtube-dl -o "C:/MyVideos/%(series)s/%(season_number)s - %(season)s/%(episode_number)s - %(episode)s.%(ext)s" http://videomore.ru/kino_v_detalayah/5_sezon/367617
│ │ │ │ +
│ │ │ │ + # Stream the video being downloaded to stdout
│ │ │ │ + $ youtube-dl -o - BaW_jenozKc
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +FORMAT SELECTION
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +By default youtube-dl tries to download the best available quality, i.e.
│ │ │ │ +if you want the best quality you DON'T NEED to pass any special options,
│ │ │ │ +youtube-dl will guess it for you by DEFAULT.
│ │ │ │ +
│ │ │ │ +But sometimes you may want to download in a different format, for
│ │ │ │ +example when you are on a slow or intermittent connection. The key
│ │ │ │ +mechanism for achieving this is so-called _format selection_ based on
│ │ │ │ +which you can explicitly specify desired format, select formats based on
│ │ │ │ +some criterion or criteria, setup precedence and much more.
│ │ │ │ +
│ │ │ │ +The general syntax for format selection is --format FORMAT or shorter
│ │ │ │ +-f FORMAT where FORMAT is a _selector expression_, i.e. an expression
│ │ │ │ +that describes format or formats you would like to download.
│ │ │ │ +
│ │ │ │ +TL;DR: navigate me to examples.
│ │ │ │ +
│ │ │ │ +The simplest case is requesting a specific format, for example with
│ │ │ │ +-f 22 you can download the format with format code equal to 22. You can
│ │ │ │ +get the list of available format codes for particular video using
│ │ │ │ +--list-formats or -F. Note that these format codes are extractor
│ │ │ │ +specific.
│ │ │ │ +
│ │ │ │ +You can also use a file extension (currently 3gp, aac, flv, m4a, mp3,
│ │ │ │ +mp4, ogg, wav, webm are supported) to download the best quality format
│ │ │ │ +of a particular file extension served as a single file, e.g. -f webm
│ │ │ │ +will download the best quality format with the webm extension served as
│ │ │ │ +a single file.
│ │ │ │ +
│ │ │ │ +You can also use special names to select particular edge case formats: -
│ │ │ │ +best: Select the best quality format represented by a single file with
│ │ │ │ +video and audio. - worst: Select the worst quality format represented by
│ │ │ │ +a single file with video and audio. - bestvideo: Select the best quality
│ │ │ │ +video-only format (e.g. DASH video). May not be available. - worstvideo:
│ │ │ │ +Select the worst quality video-only format. May not be available. -
│ │ │ │ +bestaudio: Select the best quality audio only-format. May not be
│ │ │ │ +available. - worstaudio: Select the worst quality audio only-format. May
│ │ │ │ +not be available.
│ │ │ │ +
│ │ │ │ +For example, to download the worst quality video-only format you can use
│ │ │ │ +-f worstvideo.
│ │ │ │ +
│ │ │ │ +If you want to download multiple videos and they don't have the same
│ │ │ │ +formats available, you can specify the order of preference using
│ │ │ │ +slashes. Note that slash is left-associative, i.e. formats on the left
│ │ │ │ +hand side are preferred, for example -f 22/17/18 will download format 22
│ │ │ │ +if it's available, otherwise it will download format 17 if it's
│ │ │ │ +available, otherwise it will download format 18 if it's available,
│ │ │ │ +otherwise it will complain that no suitable formats are available for
│ │ │ │ +download.
│ │ │ │ +
│ │ │ │ +If you want to download several formats of the same video use a comma as
│ │ │ │ +a separator, e.g. -f 22,17,18 will download all these three formats, of
│ │ │ │ +course if they are available. Or a more sophisticated example combined
│ │ │ │ +with the precedence feature: -f 136/137/mp4/bestvideo,140/m4a/bestaudio.
│ │ │ │ +
│ │ │ │ +You can also filter the video formats by putting a condition in
│ │ │ │ +brackets, as in -f "best[height=720]" (or -f "[filesize>10M]").
│ │ │ │ +
│ │ │ │ +The following numeric meta fields can be used with comparisons <, <=, >,
│ │ │ │ +>=, = (equals), != (not equals): - filesize: The number of bytes, if
│ │ │ │ +known in advance - width: Width of the video, if known - height: Height
│ │ │ │ +of the video, if known - tbr: Average bitrate of audio and video in
│ │ │ │ +KBit/s - abr: Average audio bitrate in KBit/s - vbr: Average video
│ │ │ │ +bitrate in KBit/s - asr: Audio sampling rate in Hertz - fps: Frame rate
│ │ │ │ +
│ │ │ │ +Also filtering work for comparisons = (equals), != (not equals), ^=
│ │ │ │ +(begins with), $= (ends with), *= (contains) and following string meta
│ │ │ │ +fields: - ext: File extension - acodec: Name of the audio codec in use -
│ │ │ │ +vcodec: Name of the video codec in use - container: Name of the
│ │ │ │ +container format - protocol: The protocol that will be used for the
│ │ │ │ +actual download, lower-case (http, https, rtsp, rtmp, rtmpe, mms, f4m,
│ │ │ │ +ism, m3u8, or m3u8_native) - format_id: A short description of the
│ │ │ │ +format
│ │ │ │ +
│ │ │ │ +Note that none of the aforementioned meta fields are guaranteed to be
│ │ │ │ +present since this solely depends on the metadata obtained by particular
│ │ │ │ +extractor, i.e. the metadata offered by the video hoster.
│ │ │ │ +
│ │ │ │ +Formats for which the value is not known are excluded unless you put a
│ │ │ │ +question mark (?) after the operator. You can combine format filters, so
│ │ │ │ +-f "[height <=? 720][tbr>500]" selects up to 720p videos (or videos
│ │ │ │ +where the height is not known) with a bitrate of at least 500 KBit/s.
│ │ │ │ +
│ │ │ │ +You can merge the video and audio of two formats into a single file
│ │ │ │ +using -f <video-format>+<audio-format> (requires ffmpeg or avconv
│ │ │ │ +installed), for example -f bestvideo+bestaudio will download the best
│ │ │ │ +video-only format, the best audio-only format and mux them together with
│ │ │ │ +ffmpeg/avconv.
│ │ │ │ +
│ │ │ │ +Format selectors can also be grouped using parentheses, for example if
│ │ │ │ +you want to download the best mp4 and webm formats with a height lower
│ │ │ │ +than 480 you can use -f '(mp4,webm)[height<480]'.
│ │ │ │ +
│ │ │ │ +Since the end of April 2015 and version 2015.04.26, youtube-dl uses
│ │ │ │ +-f bestvideo+bestaudio/best as the default format selection (see #5447,
│ │ │ │ +#5456). If ffmpeg or avconv are installed this results in downloading
│ │ │ │ +bestvideo and bestaudio separately and muxing them together into a
│ │ │ │ +single file giving the best overall quality available. Otherwise it
│ │ │ │ +falls back to best and results in downloading the best available quality
│ │ │ │ +served as a single file. best is also needed for videos that don't come
│ │ │ │ +from YouTube because they don't provide the audio and video in two
│ │ │ │ +different files. If you want to only download some DASH formats (for
│ │ │ │ +example if you are not interested in getting videos with a resolution
│ │ │ │ +higher than 1080p), you can add
│ │ │ │ +-f bestvideo[height<=?1080]+bestaudio/best to your configuration file.
│ │ │ │ +Note that if you use youtube-dl to stream to stdout (and most likely to
│ │ │ │ +pipe it to your media player then), i.e. you explicitly specify output
│ │ │ │ +template as -o -, youtube-dl still uses -f best format selection in
│ │ │ │ +order to start content delivery immediately to your player and not to
│ │ │ │ +wait until bestvideo and bestaudio are downloaded and muxed.
│ │ │ │ +
│ │ │ │ +If you want to preserve the old format selection behavior (prior to
│ │ │ │ +youtube-dl 2015.04.26), i.e. you want to download the best available
│ │ │ │ +quality media served as a single file, you should explicitly specify
│ │ │ │ +your choice with -f best. You may want to add it to the configuration
│ │ │ │ +file in order not to type it every time you run youtube-dl.
│ │ │ │ +
│ │ │ │ +Format selection examples
│ │ │ │ +
│ │ │ │ +Note on Windows you may need to use double quotes instead of single.
│ │ │ │ +
│ │ │ │ + # Download best mp4 format available or any other best if no mp4 available
│ │ │ │ + $ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
│ │ │ │ +
│ │ │ │ + # Download best format available but not better that 480p
│ │ │ │ + $ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
│ │ │ │ +
│ │ │ │ + # Download best video only format but no bigger than 50 MB
│ │ │ │ + $ youtube-dl -f 'best[filesize<50M]'
│ │ │ │ +
│ │ │ │ + # Download best format available via direct link over HTTP/HTTPS protocol
│ │ │ │ + $ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
│ │ │ │ +
│ │ │ │ + # Download the best video format and the best audio format without merging them
│ │ │ │ + $ youtube-dl -f 'bestvideo,bestaudio' -o '%(title)s.f%(format_id)s.%(ext)s'
│ │ │ │ +
│ │ │ │ +Note that in the last example, an output template is recommended as
│ │ │ │ +bestvideo and bestaudio may have the same file name.
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ VIDEO SELECTION
│ │ │ │ -===============
│ │ │ │ +
│ │ │ │
│ │ │ │ Videos can be filtered by their upload date using the options --date,
│ │ │ │ ---datebefore or --dateafter, they accept dates in two formats:
│ │ │ │ +--datebefore or --dateafter. They accept dates in two formats:
│ │ │ │
│ │ │ │ - Absolute dates: Dates in the format YYYYMMDD.
│ │ │ │ - Relative dates: Dates in the format
│ │ │ │ (now|today)[+-][0-9](day|week|month|year)(s)?
│ │ │ │
│ │ │ │ Examples:
│ │ │ │
│ │ │ │ # Download only the videos uploaded in the last 6 months
│ │ │ │ $ youtube-dl --dateafter now-6months
│ │ │ │
│ │ │ │ # Download only the videos uploaded on January 1, 1970
│ │ │ │ $ youtube-dl --date 19700101
│ │ │ │
│ │ │ │ - $ # will only download the videos uploaded in the 200x decade
│ │ │ │ + $ # Download only the videos uploaded in the 200x decade
│ │ │ │ $ youtube-dl --dateafter 20000101 --datebefore 20091231
│ │ │ │
│ │ │ │ +
│ │ │ │ +
│ │ │ │ FAQ
│ │ │ │ -===
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +How do I update youtube-dl?
│ │ │ │ +
│ │ │ │ +If you've followed our manual installation instructions, you can simply
│ │ │ │ +run youtube-dl -U (or, on Linux, sudo youtube-dl -U).
│ │ │ │ +
│ │ │ │ +If you have used pip, a simple sudo pip install -U youtube-dl is
│ │ │ │ +sufficient to update.
│ │ │ │ +
│ │ │ │ +If you have installed youtube-dl using a package manager like _apt-get_
│ │ │ │ +or _yum_, use the standard system update mechanism to update. Note that
│ │ │ │ +distribution packages are often outdated. As a rule of thumb, youtube-dl
│ │ │ │ +releases at least once a month, and often weekly or even daily. Simply
│ │ │ │ +go to http://yt-dl.org/ to find out the current version. Unfortunately,
│ │ │ │ +there is nothing we youtube-dl developers can do if your distribution
│ │ │ │ +serves a really outdated version. You can (and should) complain to your
│ │ │ │ +distribution in their bugtracker or support forum.
│ │ │ │ +
│ │ │ │ +As a last resort, you can also uninstall the version installed by your
│ │ │ │ +package manager and follow our manual installation instructions. For
│ │ │ │ +that, remove the distribution's package, with a line like
│ │ │ │ +
│ │ │ │ + sudo apt-get remove -y youtube-dl
│ │ │ │ +
│ │ │ │ +Afterwards, simply follow our manual installation instructions:
│ │ │ │ +
│ │ │ │ + sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
│ │ │ │ + sudo chmod a+x /usr/local/bin/youtube-dl
│ │ │ │ + hash -r
│ │ │ │ +
│ │ │ │ +Again, from then on you'll be able to update with sudo youtube-dl -U.
│ │ │ │ +
│ │ │ │ +youtube-dl is extremely slow to start on Windows
│ │ │ │ +
│ │ │ │ +Add a file exclusion for youtube-dl.exe in Windows Defender settings.
│ │ │ │ +
│ │ │ │ +I'm getting an error Unable to extract OpenGraph title on YouTube playlists
│ │ │ │ +
│ │ │ │ +YouTube changed their playlist format in March 2014 and later on, so
│ │ │ │ +you'll need at least youtube-dl 2014.07.25 to download all YouTube
│ │ │ │ +videos.
│ │ │ │ +
│ │ │ │ +If you have installed youtube-dl with a package manager, pip, setup.py
│ │ │ │ +or a tarball, please use that to update. Note that Ubuntu packages do
│ │ │ │ +not seem to get updated anymore. Since we are not affiliated with
│ │ │ │ +Ubuntu, there is little we can do. Feel free to report bugs to the
│ │ │ │ +Ubuntu packaging people - all they have to do is update the package to a
│ │ │ │ +somewhat recent version. See above for a way to update.
│ │ │ │ +
│ │ │ │ +I'm getting an error when trying to use output template: error: using output template conflicts with using title, video ID or auto number
│ │ │ │ +
│ │ │ │ +Make sure you are not using -o with any of these options -t, --title,
│ │ │ │ +--id, -A or --auto-number set in command line or in a configuration
│ │ │ │ +file. Remove the latter if any.
│ │ │ │ +
│ │ │ │ +Do I always have to pass -citw?
│ │ │ │ +
│ │ │ │ +By default, youtube-dl intends to have the best options (incidentally,
│ │ │ │ +if you have a convincing case that these should be different, please
│ │ │ │ +file an issue where you explain that). Therefore, it is unnecessary and
│ │ │ │ +sometimes harmful to copy long option strings from webpages. In
│ │ │ │ +particular, the only option out of -citw that is regularly useful is -i.
│ │ │ │
│ │ │ │ Can you please put the -b option back?
│ │ │ │
│ │ │ │ Most people asking this question are not aware that youtube-dl now
│ │ │ │ defaults to downloading the highest available quality as reported by
│ │ │ │ YouTube, which will be 1080p or 720p in some cases, so you no longer
│ │ │ │ need the -b option. For some specific videos, maybe YouTube does not
│ │ │ │ @@ -386,42 +932,108 @@
│ │ │ │ interested in. In that case, simply request it with the -f option and
│ │ │ │ youtube-dl will try to download it.
│ │ │ │
│ │ │ │ I get HTTP error 402 when trying to download a video. What's this?
│ │ │ │
│ │ │ │ Apparently YouTube requires you to pass a CAPTCHA test if you download
│ │ │ │ too much. We're considering to provide a way to let you solve the
│ │ │ │ -CAPTCHA, but at the moment, your best course of action is pointing a
│ │ │ │ -webbrowser to the youtube URL, solving the CAPTCHA, and restart
│ │ │ │ -youtube-dl.
│ │ │ │ +CAPTCHA, but at the moment, your best course of action is pointing a web
│ │ │ │ +browser to the youtube URL, solving the CAPTCHA, and restart youtube-dl.
│ │ │ │ +
│ │ │ │ +Do I need any other programs?
│ │ │ │ +
│ │ │ │ +youtube-dl works fine on its own on most sites. However, if you want to
│ │ │ │ +convert video/audio, you'll need avconv or ffmpeg. On some sites - most
│ │ │ │ +notably YouTube - videos can be retrieved in a higher quality format
│ │ │ │ +without sound. youtube-dl will detect whether avconv/ffmpeg is present
│ │ │ │ +and automatically pick the best option.
│ │ │ │ +
│ │ │ │ +Videos or video formats streamed via RTMP protocol can only be
│ │ │ │ +downloaded when rtmpdump is installed. Downloading MMS and RTSP videos
│ │ │ │ +requires either mplayer or mpv to be installed.
│ │ │ │
│ │ │ │ I have downloaded a video but how can I play it?
│ │ │ │
│ │ │ │ -Once the video is fully downloaded, use any video player, such as vlc or
│ │ │ │ -mplayer.
│ │ │ │ +Once the video is fully downloaded, use any video player, such as mpv,
│ │ │ │ +vlc or mplayer.
│ │ │ │
│ │ │ │ -The links provided by youtube-dl -g are not working anymore
│ │ │ │ +I extracted a video URL with -g, but it does not play on another machine / in my web browser.
│ │ │ │
│ │ │ │ -The URLs youtube-dl outputs require the downloader to have the correct
│ │ │ │ -cookies. Use the --cookies option to write the required cookies into a
│ │ │ │ -file, and advise your downloader to read cookies from that file. Some
│ │ │ │ -sites also require a common user agent to be used, use --dump-user-agent
│ │ │ │ -to see the one in use by youtube-dl.
│ │ │ │ +It depends a lot on the service. In many cases, requests for the video
│ │ │ │ +(to download/play it) must come from the same IP address and with the
│ │ │ │ +same cookies and/or HTTP headers. Use the --cookies option to write the
│ │ │ │ +required cookies into a file, and advise your downloader to read cookies
│ │ │ │ +from that file. Some sites also require a common user agent to be used,
│ │ │ │ +use --dump-user-agent to see the one in use by youtube-dl. You can also
│ │ │ │ +get necessary cookies and HTTP headers from JSON output obtained with
│ │ │ │ +--dump-json.
│ │ │ │ +
│ │ │ │ +It may be beneficial to use IPv6; in some cases, the restrictions are
│ │ │ │ +only applied to IPv4. Some services (sometimes only for a subset of
│ │ │ │ +videos) do not restrict the video URL by IP address, cookie, or
│ │ │ │ +user-agent, but these are the exception rather than the rule.
│ │ │ │ +
│ │ │ │ +Please bear in mind that some URL protocols are NOT supported by
│ │ │ │ +browsers out of the box, including RTMP. If you are using -g, your own
│ │ │ │ +downloader must support these as well.
│ │ │ │ +
│ │ │ │ +If you want to play the video on a machine that is not running
│ │ │ │ +youtube-dl, you can relay the video content from the machine that runs
│ │ │ │ +youtube-dl. You can use -o - to let youtube-dl stream a video to stdout,
│ │ │ │ +or simply allow the player to download the files written by youtube-dl
│ │ │ │ +in turn.
│ │ │ │
│ │ │ │ ERROR: no fmt_url_map or conn information found in video info
│ │ │ │
│ │ │ │ -youtube has switched to a new video info format in July 2011 which is
│ │ │ │ -not supported by old versions of youtube-dl. You can update youtube-dl
│ │ │ │ -with sudo youtube-dl --update.
│ │ │ │ +YouTube has switched to a new video info format in July 2011 which is
│ │ │ │ +not supported by old versions of youtube-dl. See above for how to update
│ │ │ │ +youtube-dl.
│ │ │ │
│ │ │ │ ERROR: unable to download video
│ │ │ │
│ │ │ │ -youtube requires an additional signature since September 2012 which is
│ │ │ │ -not supported by old versions of youtube-dl. You can update youtube-dl
│ │ │ │ -with sudo youtube-dl --update.
│ │ │ │ +YouTube requires an additional signature since September 2012 which is
│ │ │ │ +not supported by old versions of youtube-dl. See above for how to update
│ │ │ │ +youtube-dl.
│ │ │ │ +
│ │ │ │ +Video URL contains an ampersand and I'm getting some strange output [1] 2839 or 'v' is not recognized as an internal or external command
│ │ │ │ +
│ │ │ │ +That's actually the output from your shell. Since ampersand is one of
│ │ │ │ +the special shell characters it's interpreted by the shell preventing
│ │ │ │ +you from passing the whole URL to youtube-dl. To disable your shell from
│ │ │ │ +interpreting the ampersands (or any other special characters) you have
│ │ │ │ +to either put the whole URL in quotes or escape them with a backslash
│ │ │ │ +(which approach will work depends on your shell).
│ │ │ │ +
│ │ │ │ +For example if your URL is
│ │ │ │ +https://www.youtube.com/watch?t=4&v=BaW_jenozKc you should end up with
│ │ │ │ +following command:
│ │ │ │ +
│ │ │ │ +youtube-dl 'https://www.youtube.com/watch?t=4&v=BaW_jenozKc'
│ │ │ │ +
│ │ │ │ +or
│ │ │ │ +
│ │ │ │ +youtube-dl https://www.youtube.com/watch?t=4\&v=BaW_jenozKc
│ │ │ │ +
│ │ │ │ +For Windows you have to use the double quotes:
│ │ │ │ +
│ │ │ │ +youtube-dl "https://www.youtube.com/watch?t=4&v=BaW_jenozKc"
│ │ │ │ +
│ │ │ │ +ExtractorError: Could not find JS function u'OF'
│ │ │ │ +
│ │ │ │ +In February 2015, the new YouTube player contained a character sequence
│ │ │ │ +in a string that was misinterpreted by old versions of youtube-dl. See
│ │ │ │ +above for how to update youtube-dl.
│ │ │ │ +
│ │ │ │ +HTTP Error 429: Too Many Requests or 402: Payment Required
│ │ │ │ +
│ │ │ │ +These two error codes indicate that the service is blocking your IP
│ │ │ │ +address because of overuse. Contact the service and ask them to unblock
│ │ │ │ +your IP address, or - if you have acquired a whitelisted IP address
│ │ │ │ +already - use the --proxy or --source-address options to select another
│ │ │ │ +IP address.
│ │ │ │
│ │ │ │ SyntaxError: Non-ASCII character
│ │ │ │
│ │ │ │ The error
│ │ │ │
│ │ │ │ File "youtube-dl", line 2
│ │ │ │ SyntaxError: Non-ASCII character '\x93' ...
│ │ │ │ @@ -433,21 +1045,222 @@
│ │ │ │
│ │ │ │ Since June 2012 (#342) youtube-dl is packed as an executable zipfile,
│ │ │ │ simply unzip it (might need renaming to youtube-dl.zip first on some
│ │ │ │ systems) or clone the git repository, as laid out above. If you modify
│ │ │ │ the code, you can run it by executing the __main__.py file. To recompile
│ │ │ │ the executable, run make youtube-dl.
│ │ │ │
│ │ │ │ -The exe throws a Runtime error from Visual C++
│ │ │ │ +The exe throws an error due to missing MSVCR100.dll
│ │ │ │ +
│ │ │ │ +To run the exe you need to install first the Microsoft Visual C++ 2010
│ │ │ │ +Redistributable Package (x86).
│ │ │ │ +
│ │ │ │ +On Windows, how should I set up ffmpeg and youtube-dl? Where should I put the exe files?
│ │ │ │ +
│ │ │ │ +If you put youtube-dl and ffmpeg in the same directory that you're
│ │ │ │ +running the command from, it will work, but that's rather cumbersome.
│ │ │ │ +
│ │ │ │ +To make a different directory work - either for ffmpeg, or for
│ │ │ │ +youtube-dl, or for both - simply create the directory (say, C:\bin, or
│ │ │ │ +C:\Users\<User name>\bin), put all the executables directly in there,
│ │ │ │ +and then set your PATH environment variable to include that directory.
│ │ │ │ +
│ │ │ │ +From then on, after restarting your shell, you will be able to access
│ │ │ │ +both youtube-dl and ffmpeg (and youtube-dl will be able to find ffmpeg)
│ │ │ │ +by simply typing youtube-dl or ffmpeg, no matter what directory you're
│ │ │ │ +in.
│ │ │ │ +
│ │ │ │ +How do I put downloads into a specific folder?
│ │ │ │ +
│ │ │ │ +Use the -o to specify an output template, for example
│ │ │ │ +-o "/home/user/videos/%(title)s-%(id)s.%(ext)s". If you want this for
│ │ │ │ +all of your downloads, put the option into your configuration file.
│ │ │ │ +
│ │ │ │ +How do I download a video starting with a -?
│ │ │ │ +
│ │ │ │ +Either prepend http://www.youtube.com/watch?v= or separate the ID from
│ │ │ │ +the options with --:
│ │ │ │ +
│ │ │ │ + youtube-dl -- -wNyEUrxzFU
│ │ │ │ + youtube-dl "http://www.youtube.com/watch?v=-wNyEUrxzFU"
│ │ │ │ +
│ │ │ │ +How do I pass cookies to youtube-dl?
│ │ │ │ +
│ │ │ │ +Use the --cookies option, for example
│ │ │ │ +--cookies /path/to/cookies/file.txt.
│ │ │ │ +
│ │ │ │ +In order to extract cookies from browser use any conforming browser
│ │ │ │ +extension for exporting cookies. For example, cookies.txt (for Chrome)
│ │ │ │ +or Export Cookies (for Firefox).
│ │ │ │ +
│ │ │ │ +Note that the cookies file must be in Mozilla/Netscape format and the
│ │ │ │ +first line of the cookies file must be either # HTTP Cookie File or
│ │ │ │ +# Netscape HTTP Cookie File. Make sure you have correct newline format
│ │ │ │ +in the cookies file and convert newlines if necessary to correspond with
│ │ │ │ +your OS, namely CRLF (\r\n) for Windows and LF (\n) for Unix and
│ │ │ │ +Unix-like systems (Linux, Mac OS, etc.). HTTP Error 400: Bad Request
│ │ │ │ +when using --cookies is a good sign of invalid newline format.
│ │ │ │ +
│ │ │ │ +Passing cookies to youtube-dl is a good way to workaround login when a
│ │ │ │ +particular extractor does not implement it explicitly. Another use case
│ │ │ │ +is working around CAPTCHA some websites require you to solve in
│ │ │ │ +particular cases in order to get access (e.g. YouTube, CloudFlare).
│ │ │ │ +
│ │ │ │ +How do I stream directly to media player?
│ │ │ │ +
│ │ │ │ +You will first need to tell youtube-dl to stream media to stdout with
│ │ │ │ +-o -, and also tell your media player to read from stdin (it must be
│ │ │ │ +capable of this for streaming) and then pipe former to latter. For
│ │ │ │ +example, streaming to vlc can be achieved with:
│ │ │ │ +
│ │ │ │ + youtube-dl -o - "http://www.youtube.com/watch?v=BaW_jenozKcj" | vlc -
│ │ │ │ +
│ │ │ │ +How do I download only new videos from a playlist?
│ │ │ │ +
│ │ │ │ +Use download-archive feature. With this feature you should initially
│ │ │ │ +download the complete playlist with
│ │ │ │ +--download-archive /path/to/download/archive/file.txt that will record
│ │ │ │ +identifiers of all the videos in a special file. Each subsequent run
│ │ │ │ +with the same --download-archive will download only new videos and skip
│ │ │ │ +all videos that have been downloaded before. Note that only successful
│ │ │ │ +downloads are recorded in the file.
│ │ │ │ +
│ │ │ │ +For example, at first,
│ │ │ │ +
│ │ │ │ + youtube-dl --download-archive archive.txt "https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re"
│ │ │ │ +
│ │ │ │ +will download the complete PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re playlist
│ │ │ │ +and create a file archive.txt. Each subsequent run will only download
│ │ │ │ +new videos if any:
│ │ │ │ +
│ │ │ │ + youtube-dl --download-archive archive.txt "https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re"
│ │ │ │ +
│ │ │ │ +Should I add --hls-prefer-native into my config?
│ │ │ │ +
│ │ │ │ +When youtube-dl detects an HLS video, it can download it either with the
│ │ │ │ +built-in downloader or ffmpeg. Since many HLS streams are slightly
│ │ │ │ +invalid and ffmpeg/youtube-dl each handle some invalid cases better than
│ │ │ │ +the other, there is an option to switch the downloader if needed.
│ │ │ │ +
│ │ │ │ +When youtube-dl knows that one particular downloader works better for a
│ │ │ │ +given website, that downloader will be picked. Otherwise, youtube-dl
│ │ │ │ +will pick the best downloader for general compatibility, which at the
│ │ │ │ +moment happens to be ffmpeg. This choice may change in future versions
│ │ │ │ +of youtube-dl, with improvements of the built-in downloader and/or
│ │ │ │ +ffmpeg.
│ │ │ │ +
│ │ │ │ +In particular, the generic extractor (used when your website is not in
│ │ │ │ +the list of supported sites by youtube-dl cannot mandate one specific
│ │ │ │ +downloader.
│ │ │ │ +
│ │ │ │ +If you put either --hls-prefer-native or --hls-prefer-ffmpeg into your
│ │ │ │ +configuration, a different subset of videos will fail to download
│ │ │ │ +correctly. Instead, it is much better to file an issue or a pull request
│ │ │ │ +which details why the native or the ffmpeg HLS downloader is a better
│ │ │ │ +choice for your use case.
│ │ │ │ +
│ │ │ │ +Can you add support for this anime video site, or site which shows current movies for free?
│ │ │ │ +
│ │ │ │ +As a matter of policy (as well as legality), youtube-dl does not include
│ │ │ │ +support for services that specialize in infringing copyright. As a rule
│ │ │ │ +of thumb, if you cannot easily find a video that the service is quite
│ │ │ │ +obviously allowed to distribute (i.e. that has been uploaded by the
│ │ │ │ +creator, the creator's distributor, or is published under a free
│ │ │ │ +license), the service is probably unfit for inclusion to youtube-dl.
│ │ │ │ +
│ │ │ │ +A note on the service that they don't host the infringing content, but
│ │ │ │ +just link to those who do, is evidence that the service should NOT be
│ │ │ │ +included into youtube-dl. The same goes for any DMCA note when the whole
│ │ │ │ +front page of the service is filled with videos they are not allowed to
│ │ │ │ +distribute. A "fair use" note is equally unconvincing if the service
│ │ │ │ +shows copyright-protected videos in full without authorization.
│ │ │ │ +
│ │ │ │ +Support requests for services that DO purchase the rights to distribute
│ │ │ │ +their content are perfectly fine though. If in doubt, you can simply
│ │ │ │ +include a source that mentions the legitimate purchase of content.
│ │ │ │ +
│ │ │ │ +How can I speed up work on my issue?
│ │ │ │ +
│ │ │ │ +(Also known as: Help, my important issue not being solved!) The
│ │ │ │ +youtube-dl core developer team is quite small. While we do our best to
│ │ │ │ +solve as many issues as possible, sometimes that can take quite a while.
│ │ │ │ +To speed up your issue, here's what you can do:
│ │ │ │ +
│ │ │ │ +First of all, please do report the issue at our issue tracker. That
│ │ │ │ +allows us to coordinate all efforts by users and developers, and serves
│ │ │ │ +as a unified point. Unfortunately, the youtube-dl project has grown too
│ │ │ │ +large to use personal email as an effective communication channel.
│ │ │ │ +
│ │ │ │ +Please read the bug reporting instructions below. A lot of bugs lack all
│ │ │ │ +the necessary information. If you can, offer proxy, VPN, or shell access
│ │ │ │ +to the youtube-dl developers. If you are able to, test the issue from
│ │ │ │ +multiple computers in multiple countries to exclude local censorship or
│ │ │ │ +misconfiguration issues.
│ │ │ │ +
│ │ │ │ +If nobody is interested in solving your issue, you are welcome to take
│ │ │ │ +matters into your own hands and submit a pull request (or coerce/pay
│ │ │ │ +somebody else to do so).
│ │ │ │ +
│ │ │ │ +Feel free to bump the issue from time to time by writing a small comment
│ │ │ │ +("Issue is still present in youtube-dl version ...from France, but fixed
│ │ │ │ +from Belgium"), but please not more than once a month. Please do not
│ │ │ │ +declare your issue as important or urgent.
│ │ │ │ +
│ │ │ │ +How can I detect whether a given URL is supported by youtube-dl?
│ │ │ │ +
│ │ │ │ +For one, have a look at the list of supported sites. Note that it can
│ │ │ │ +sometimes happen that the site changes its URL scheme (say, from
│ │ │ │ +http://example.com/video/1234567 to http://example.com/v/1234567 ) and
│ │ │ │ +youtube-dl reports an URL of a service in that list as unsupported. In
│ │ │ │ +that case, simply report a bug.
│ │ │ │ +
│ │ │ │ +It is _not_ possible to detect whether a URL is supported or not. That's
│ │ │ │ +because youtube-dl contains a generic extractor which matches ALL URLs.
│ │ │ │ +You may be tempted to disable, exclude, or remove the generic extractor,
│ │ │ │ +but the generic extractor not only allows users to extract videos from
│ │ │ │ +lots of websites that embed a video from another service, but may also
│ │ │ │ +be used to extract video from a service that it's hosting itself.
│ │ │ │ +Therefore, we neither recommend nor support disabling, excluding, or
│ │ │ │ +removing the generic extractor.
│ │ │ │ +
│ │ │ │ +If you want to find out whether a given URL is supported, simply call
│ │ │ │ +youtube-dl with it. If you get no videos back, chances are the URL is
│ │ │ │ +either not referring to a video or unsupported. You can find out which
│ │ │ │ +by examining the output (if you run youtube-dl on the console) or
│ │ │ │ +catching an UnsupportedError exception if you run it from a Python
│ │ │ │ +program.
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +WHY DO I NEED TO GO THROUGH THAT MUCH RED TAPE WHEN FILING BUGS?
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +Before we had the issue template, despite our extensive bug reporting
│ │ │ │ +instructions, about 80% of the issue reports we got were useless, for
│ │ │ │ +instance because people used ancient versions hundreds of releases old,
│ │ │ │ +because of simple syntactic errors (not in youtube-dl but in general
│ │ │ │ +shell usage), because the problem was already reported multiple times
│ │ │ │ +before, because people did not actually read an error message, even if
│ │ │ │ +it said "please install ffmpeg", because people did not mention the URL
│ │ │ │ +they were trying to download and many more simple, easy-to-avoid
│ │ │ │ +problems, many of whom were totally unrelated to youtube-dl.
│ │ │ │ +
│ │ │ │ +youtube-dl is an open-source project manned by too few volunteers, so
│ │ │ │ +we'd rather spend time fixing bugs where we are certain none of those
│ │ │ │ +simple problems apply, and where we can be reasonably confident to be
│ │ │ │ +able to reproduce the issue without asking the reporter repeatedly. As
│ │ │ │ +such, the output of youtube-dl -v YOUR_URL_HERE is really all that's
│ │ │ │ +required to file an issue. The issue template also guides you through
│ │ │ │ +some basic steps you can do, such as checking that your version of
│ │ │ │ +youtube-dl is current.
│ │ │ │ +
│ │ │ │
│ │ │ │ -To run the exe you need to install first the Microsoft Visual C++ 2008
│ │ │ │ -Redistributable Package.
│ │ │ │
│ │ │ │ DEVELOPER INSTRUCTIONS
│ │ │ │ -======================
│ │ │ │ +
│ │ │ │
│ │ │ │ Most users do not need to build youtube-dl and can download the builds
│ │ │ │ or get them from their distribution.
│ │ │ │
│ │ │ │ To run youtube-dl as a developer, you don't need to build anything
│ │ │ │ either. Simply execute
│ │ │ │
│ │ │ │ @@ -459,108 +1272,366 @@
│ │ │ │ python -m unittest discover
│ │ │ │ python test/test_download.py
│ │ │ │ nosetests
│ │ │ │
│ │ │ │ If you want to create a build of youtube-dl yourself, you'll need
│ │ │ │
│ │ │ │ - python
│ │ │ │ -- make
│ │ │ │ +- make (only GNU make is supported)
│ │ │ │ - pandoc
│ │ │ │ - zip
│ │ │ │ - nosetests
│ │ │ │
│ │ │ │ Adding support for a new site
│ │ │ │
│ │ │ │ -If you want to add support for a new site, you can follow this quick
│ │ │ │ -list (assuming your service is called yourextractor):
│ │ │ │ +If you want to add support for a new site, first of all MAKE SURE this
│ │ │ │ +site is NOT DEDICATED TO COPYRIGHT INFRINGEMENT. youtube-dl does NOT
│ │ │ │ +SUPPORT such sites thus pull requests adding support for them WILL BE
│ │ │ │ +REJECTED.
│ │ │ │ +
│ │ │ │ +After you have ensured this site is distributing its content legally,
│ │ │ │ +you can follow this quick list (assuming your service is called
│ │ │ │ +yourextractor):
│ │ │ │
│ │ │ │ 1. Fork this repository
│ │ │ │ -2. Check out the source code with
│ │ │ │ - git clone git at github.com:YOUR_GITHUB_USERNAME/youtube-dl.git
│ │ │ │ +2. Check out the source code with:
│ │ │ │ +
│ │ │ │ + git clone git at github.com:YOUR_GITHUB_USERNAME/youtube-dl.git
│ │ │ │ +
│ │ │ │ 3. Start a new git branch with
│ │ │ │ - cd youtube-dl; git checkout -b yourextractor
│ │ │ │ +
│ │ │ │ + cd youtube-dl
│ │ │ │ + git checkout -b yourextractor
│ │ │ │ +
│ │ │ │ 4. Start with this simple template and save it to
│ │ │ │ youtube_dl/extractor/yourextractor.py:
│ │ │ │
│ │ │ │ # coding: utf-8
│ │ │ │ from __future__ import unicode_literals
│ │ │ │
│ │ │ │ - import re
│ │ │ │ -
│ │ │ │ from .common import InfoExtractor
│ │ │ │
│ │ │ │
│ │ │ │ class YourExtractorIE(InfoExtractor):
│ │ │ │ _VALID_URL = r'https?://(?:www\.)?yourextractor\.com/watch/(?P<id>[0-9]+)'
│ │ │ │ _TEST = {
│ │ │ │ 'url': 'http://yourextractor.com/watch/42',
│ │ │ │ - 'md5': 'TODO: md5 sum of the first 10KiB of the video file',
│ │ │ │ + 'md5': 'TODO: md5 sum of the first 10241 bytes of the video file (use --test)',
│ │ │ │ 'info_dict': {
│ │ │ │ 'id': '42',
│ │ │ │ 'ext': 'mp4',
│ │ │ │ 'title': 'Video title goes here',
│ │ │ │ + 'thumbnail': r're:^https?://.*\.jpg$',
│ │ │ │ # TODO more properties, either as:
│ │ │ │ # * A value
│ │ │ │ # * MD5 checksum; start the string with md5:
│ │ │ │ # * A regular expression; start the string with re:
│ │ │ │ # * Any Python type (for example int or float)
│ │ │ │ }
│ │ │ │ }
│ │ │ │
│ │ │ │ def _real_extract(self, url):
│ │ │ │ - mobj = re.match(self._VALID_URL, url)
│ │ │ │ - video_id = mobj.group('id')
│ │ │ │ + video_id = self._match_id(url)
│ │ │ │ + webpage = self._download_webpage(url, video_id)
│ │ │ │
│ │ │ │ # TODO more code goes here, for example ...
│ │ │ │ - webpage = self._download_webpage(url, video_id)
│ │ │ │ - title = self._html_search_regex(r'<h1>(.*?)</h1>', webpage, 'title')
│ │ │ │ + title = self._html_search_regex(r'<h1>(.+?)</h1>', webpage, 'title')
│ │ │ │
│ │ │ │ return {
│ │ │ │ 'id': video_id,
│ │ │ │ 'title': title,
│ │ │ │ + 'description': self._og_search_description(webpage),
│ │ │ │ + 'uploader': self._search_regex(r'<div[^>]+id="uploader"[^>]*>([^<]+)<', webpage, 'uploader', fatal=False),
│ │ │ │ # TODO more properties (see youtube_dl/extractor/common.py)
│ │ │ │ }
│ │ │ │
│ │ │ │ -5. Add an import in youtube_dl/extractor/__init__.py.
│ │ │ │ +5. Add an import in youtube_dl/extractor/extractors.py.
│ │ │ │ 6. Run python test/test_download.py TestDownload.test_YourExtractor.
│ │ │ │ - This should fail at first, but you can continually re-run it until
│ │ │ │ - you're done.
│ │ │ │ -7. Have a look at youtube_dl/common/extractor/common.py for possible
│ │ │ │ - helper methods and a detailed description of what your extractor
│ │ │ │ - should return. Add tests and code for as many as you want.
│ │ │ │ -8. If you can, check the code with pyflakes (a good idea) and pep8
│ │ │ │ - (optional, ignore E501).
│ │ │ │ + This _should fail_ at first, but you can continually re-run it until
│ │ │ │ + you're done. If you decide to add more than one test, then rename
│ │ │ │ + _TEST to _TESTS and make it into a list of dictionaries. The tests
│ │ │ │ + will then be named TestDownload.test_YourExtractor,
│ │ │ │ + TestDownload.test_YourExtractor_1,
│ │ │ │ + TestDownload.test_YourExtractor_2, etc.
│ │ │ │ +7. Have a look at youtube_dl/extractor/common.py for possible helper
│ │ │ │ + methods and a detailed description of what your extractor should and
│ │ │ │ + may return. Add tests and code for as many as you want.
│ │ │ │ +8. Make sure your code follows youtube-dl coding conventions and check
│ │ │ │ + the code with flake8. Also make sure your code works under all
│ │ │ │ + Python versions claimed supported by youtube-dl, namely 2.6, 2.7,
│ │ │ │ + and 3.2+.
│ │ │ │ 9. When the tests pass, add the new files and commit them and push the
│ │ │ │ result, like this:
│ │ │ │
│ │ │ │ - $ git add youtube_dl/extractor/__init__.py
│ │ │ │ + $ git add youtube_dl/extractor/extractors.py
│ │ │ │ $ git add youtube_dl/extractor/yourextractor.py
│ │ │ │ $ git commit -m '[yourextractor] Add new extractor'
│ │ │ │ $ git push origin yourextractor
│ │ │ │
│ │ │ │ 10. Finally, create a pull request. We'll then review and merge it.
│ │ │ │
│ │ │ │ In any case, thank you very much for your contributions!
│ │ │ │
│ │ │ │ +
│ │ │ │ +youtube-dl coding conventions
│ │ │ │ +
│ │ │ │ +This section introduces a guide lines for writing idiomatic, robust and
│ │ │ │ +future-proof extractor code.
│ │ │ │ +
│ │ │ │ +Extractors are very fragile by nature since they depend on the layout of
│ │ │ │ +the source data provided by 3rd party media hosters out of your control
│ │ │ │ +and this layout tends to change. As an extractor implementer your task
│ │ │ │ +is not only to write code that will extract media links and metadata
│ │ │ │ +correctly but also to minimize dependency on the source's layout and
│ │ │ │ +even to make the code foresee potential future changes and be ready for
│ │ │ │ +that. This is important because it will allow the extractor not to break
│ │ │ │ +on minor layout changes thus keeping old youtube-dl versions working.
│ │ │ │ +Even though this breakage issue is easily fixed by emitting a new
│ │ │ │ +version of youtube-dl with a fix incorporated, all the previous versions
│ │ │ │ +become broken in all repositories and distros' packages that may not be
│ │ │ │ +so prompt in fetching the update from us. Needless to say, some non
│ │ │ │ +rolling release distros may never receive an update at all.
│ │ │ │ +
│ │ │ │ +Mandatory and optional metafields
│ │ │ │ +
│ │ │ │ +For extraction to work youtube-dl relies on metadata your extractor
│ │ │ │ +extracts and provides to youtube-dl expressed by an information
│ │ │ │ +dictionary or simply _info dict_. Only the following meta fields in the
│ │ │ │ +_info dict_ are considered mandatory for a successful extraction process
│ │ │ │ +by youtube-dl:
│ │ │ │ +
│ │ │ │ +- id (media identifier)
│ │ │ │ +- title (media title)
│ │ │ │ +- url (media download URL) or formats
│ │ │ │ +
│ │ │ │ +In fact only the last option is technically mandatory (i.e. if you can't
│ │ │ │ +figure out the download location of the media the extraction does not
│ │ │ │ +make any sense). But by convention youtube-dl also treats id and title
│ │ │ │ +as mandatory. Thus the aforementioned metafields are the critical data
│ │ │ │ +that the extraction does not make any sense without and if any of them
│ │ │ │ +fail to be extracted then the extractor is considered completely broken.
│ │ │ │ +
│ │ │ │ +Any field apart from the aforementioned ones are considered OPTIONAL.
│ │ │ │ +That means that extraction should be TOLERANT to situations when sources
│ │ │ │ +for these fields can potentially be unavailable (even if they are always
│ │ │ │ +available at the moment) and FUTURE-PROOF in order not to break the
│ │ │ │ +extraction of general purpose mandatory fields.
│ │ │ │ +
│ │ │ │ +Example
│ │ │ │ +
│ │ │ │ +Say you have some source dictionary meta that you've fetched as JSON
│ │ │ │ +with HTTP request and it has a key summary:
│ │ │ │ +
│ │ │ │ + meta = self._download_json(url, video_id)
│ │ │ │ +
│ │ │ │ +Assume at this point meta's layout is:
│ │ │ │ +
│ │ │ │ + {
│ │ │ │ + ...
│ │ │ │ + "summary": "some fancy summary text",
│ │ │ │ + ...
│ │ │ │ + }
│ │ │ │ +
│ │ │ │ +Assume you want to extract summary and put it into the resulting info
│ │ │ │ +dict as description. Since description is an optional meta field you
│ │ │ │ +should be ready that this key may be missing from the meta dict, so that
│ │ │ │ +you should extract it like:
│ │ │ │ +
│ │ │ │ + description = meta.get('summary') # correct
│ │ │ │ +
│ │ │ │ +and not like:
│ │ │ │ +
│ │ │ │ + description = meta['summary'] # incorrect
│ │ │ │ +
│ │ │ │ +The latter will break extraction process with KeyError if summary
│ │ │ │ +disappears from meta at some later time but with the former approach
│ │ │ │ +extraction will just go ahead with description set to None which is
│ │ │ │ +perfectly fine (remember None is equivalent to the absence of data).
│ │ │ │ +
│ │ │ │ +Similarly, you should pass fatal=False when extracting optional data
│ │ │ │ +from a webpage with _search_regex, _html_search_regex or similar
│ │ │ │ +methods, for instance:
│ │ │ │ +
│ │ │ │ + description = self._search_regex(
│ │ │ │ + r'<span[^>]+id="title"[^>]*>([^<]+)<',
│ │ │ │ + webpage, 'description', fatal=False)
│ │ │ │ +
│ │ │ │ +With fatal set to False if _search_regex fails to extract description it
│ │ │ │ +will emit a warning and continue extraction.
│ │ │ │ +
│ │ │ │ +You can also pass default=<some fallback value>, for example:
│ │ │ │ +
│ │ │ │ + description = self._search_regex(
│ │ │ │ + r'<span[^>]+id="title"[^>]*>([^<]+)<',
│ │ │ │ + webpage, 'description', default=None)
│ │ │ │ +
│ │ │ │ +On failure this code will silently continue the extraction with
│ │ │ │ +description set to None. That is useful for metafields that may or may
│ │ │ │ +not be present.
│ │ │ │ +
│ │ │ │ +Provide fallbacks
│ │ │ │ +
│ │ │ │ +When extracting metadata try to do so from multiple sources. For example
│ │ │ │ +if title is present in several places, try extracting from at least some
│ │ │ │ +of them. This makes it more future-proof in case some of the sources
│ │ │ │ +become unavailable.
│ │ │ │ +
│ │ │ │ +Example
│ │ │ │ +
│ │ │ │ +Say meta from the previous example has a title and you are about to
│ │ │ │ +extract it. Since title is a mandatory meta field you should end up with
│ │ │ │ +something like:
│ │ │ │ +
│ │ │ │ + title = meta['title']
│ │ │ │ +
│ │ │ │ +If title disappears from meta in future due to some changes on the
│ │ │ │ +hoster's side the extraction would fail since title is mandatory. That's
│ │ │ │ +expected.
│ │ │ │ +
│ │ │ │ +Assume that you have some another source you can extract title from, for
│ │ │ │ +example og:title HTML meta of a webpage. In this case you can provide a
│ │ │ │ +fallback scenario:
│ │ │ │ +
│ │ │ │ + title = meta.get('title') or self._og_search_title(webpage)
│ │ │ │ +
│ │ │ │ +This code will try to extract from meta first and if it fails it will
│ │ │ │ +try extracting og:title from a webpage.
│ │ │ │ +
│ │ │ │ +Make regular expressions flexible
│ │ │ │ +
│ │ │ │ +When using regular expressions try to write them fuzzy and flexible.
│ │ │ │ +
│ │ │ │ +Example
│ │ │ │ +
│ │ │ │ +Say you need to extract title from the following HTML code:
│ │ │ │ +
│ │ │ │ + <span style="position: absolute; left: 910px; width: 90px; float: right; z-index: 9999;" class="title">some fancy title</span>
│ │ │ │ +
│ │ │ │ +The code for that task should look similar to:
│ │ │ │ +
│ │ │ │ + title = self._search_regex(
│ │ │ │ + r'<span[^>]+class="title"[^>]*>([^<]+)', webpage, 'title')
│ │ │ │ +
│ │ │ │ +Or even better:
│ │ │ │ +
│ │ │ │ + title = self._search_regex(
│ │ │ │ + r'<span[^>]+class=(["\'])title\1[^>]*>(?P<title>[^<]+)',
│ │ │ │ + webpage, 'title', group='title')
│ │ │ │ +
│ │ │ │ +Note how you tolerate potential changes in the style attribute's value
│ │ │ │ +or switch from using double quotes to single for class attribute:
│ │ │ │ +
│ │ │ │ +The code definitely should not look like:
│ │ │ │ +
│ │ │ │ + title = self._search_regex(
│ │ │ │ + r'<span style="position: absolute; left: 910px; width: 90px; float: right; z-index: 9999;" class="title">(.*?)</span>',
│ │ │ │ + webpage, 'title', group='title')
│ │ │ │ +
│ │ │ │ +Use safe conversion functions
│ │ │ │ +
│ │ │ │ +Wrap all extracted numeric data into safe functions from utils:
│ │ │ │ +int_or_none, float_or_none. Use them for string to number conversions as
│ │ │ │ +well.
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +EMBEDDING YOUTUBE-DL
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +youtube-dl makes the best effort to be a good command-line program, and
│ │ │ │ +thus should be callable from any programming language. If you encounter
│ │ │ │ +any problems parsing its output, feel free to create a report.
│ │ │ │ +
│ │ │ │ +From a Python program, you can embed youtube-dl in a more powerful
│ │ │ │ +fashion, like this:
│ │ │ │ +
│ │ │ │ + from __future__ import unicode_literals
│ │ │ │ + import youtube_dl
│ │ │ │ +
│ │ │ │ + ydl_opts = {}
│ │ │ │ + with youtube_dl.YoutubeDL(ydl_opts) as ydl:
│ │ │ │ + ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc'])
│ │ │ │ +
│ │ │ │ +Most likely, you'll want to use various options. For a list of options
│ │ │ │ +available, have a look at youtube_dl/YoutubeDL.py. For a start, if you
│ │ │ │ +want to intercept youtube-dl's output, set a logger object.
│ │ │ │ +
│ │ │ │ +Here's a more complete example of a program that outputs only errors
│ │ │ │ +(and a short message after the download is finished), and
│ │ │ │ +downloads/converts the video to an mp3 file:
│ │ │ │ +
│ │ │ │ + from __future__ import unicode_literals
│ │ │ │ + import youtube_dl
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + class MyLogger(object):
│ │ │ │ + def debug(self, msg):
│ │ │ │ + pass
│ │ │ │ +
│ │ │ │ + def warning(self, msg):
│ │ │ │ + pass
│ │ │ │ +
│ │ │ │ + def error(self, msg):
│ │ │ │ + print(msg)
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + def my_hook(d):
│ │ │ │ + if d['status'] == 'finished':
│ │ │ │ + print('Done downloading, now converting ...')
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + ydl_opts = {
│ │ │ │ + 'format': 'bestaudio/best',
│ │ │ │ + 'postprocessors': [{
│ │ │ │ + 'key': 'FFmpegExtractAudio',
│ │ │ │ + 'preferredcodec': 'mp3',
│ │ │ │ + 'preferredquality': '192',
│ │ │ │ + }],
│ │ │ │ + 'logger': MyLogger(),
│ │ │ │ + 'progress_hooks': [my_hook],
│ │ │ │ + }
│ │ │ │ + with youtube_dl.YoutubeDL(ydl_opts) as ydl:
│ │ │ │ + ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc'])
│ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ BUGS
│ │ │ │ -====
│ │ │ │ +
│ │ │ │
│ │ │ │ Bugs and suggestions should be reported at:
│ │ │ │ -https://github.com/rg3/youtube-dl/issues . Unless you were prompted so
│ │ │ │ -or there is another pertinent reason (e.g. GitHub fails to accept the
│ │ │ │ -bug report), please do not send bug reports via personal email.
│ │ │ │ +https://github.com/rg3/youtube-dl/issues. Unless you were prompted to or
│ │ │ │ +there is another pertinent reason (e.g. GitHub fails to accept the bug
│ │ │ │ +report), please do not send bug reports via personal email. For
│ │ │ │ +discussions, join us in the IRC channel #youtube-dl on freenode
│ │ │ │ +(webchat).
│ │ │ │ +
│ │ │ │ +PLEASE INCLUDE THE FULL OUTPUT OF YOUTUBE-DL WHEN RUN WITH -v, i.e. ADD
│ │ │ │ +-v flag to YOUR COMMAND LINE, copy the WHOLE output and post it in the
│ │ │ │ +issue body wrapped in ``` for better formatting. It should look similar
│ │ │ │ +to this:
│ │ │ │ +
│ │ │ │ + $ youtube-dl -v <your command line>
│ │ │ │ + [debug] System config: []
│ │ │ │ + [debug] User config: []
│ │ │ │ + [debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj']
│ │ │ │ + [debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
│ │ │ │ + [debug] youtube-dl version 2015.12.06
│ │ │ │ + [debug] Git HEAD: 135392e
│ │ │ │ + [debug] Python version 2.6.6 - Windows-2003Server-5.2.3790-SP2
│ │ │ │ + [debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
│ │ │ │ + [debug] Proxy map: {}
│ │ │ │ + ...
│ │ │ │ +
│ │ │ │ +DO NOT POST SCREENSHOTS OF VERBOSE LOGS; ONLY PLAIN TEXT IS ACCEPTABLE.
│ │ │ │
│ │ │ │ -Please include the full output of the command when run with --verbose.
│ │ │ │ -The output (including the first lines) contain important debugging
│ │ │ │ +The output (including the first lines) contains important debugging
│ │ │ │ information. Issues without the full output are often not reproducible
│ │ │ │ and therefore do not get solved in short order, if ever.
│ │ │ │
│ │ │ │ -For discussions, join us in the irc channel #youtube-dl on freenode.
│ │ │ │ -
│ │ │ │ -When you submit a request, please re-read it once to avoid a couple of
│ │ │ │ +Please re-read your issue once again to avoid a couple of common
│ │ │ │ mistakes (you can and should use this as a checklist):
│ │ │ │
│ │ │ │ Is the description of the issue itself sufficient?
│ │ │ │
│ │ │ │ We often get issue reports that we cannot really decipher. While in most
│ │ │ │ cases we eventually get the required information after asking back
│ │ │ │ multiple times, this poses an unnecessary drain on our resources. Many
│ │ │ │ @@ -573,52 +1644,59 @@
│ │ │ │ - What the problem is
│ │ │ │ - How it could be fixed
│ │ │ │ - How your proposed solution would look like
│ │ │ │
│ │ │ │ If your report is shorter than two lines, it is almost certainly missing
│ │ │ │ some of these, which makes it hard for us to respond to it. We're often
│ │ │ │ too polite to close the issue outright, but the missing info makes
│ │ │ │ -misinterpretation likely. As a commiter myself, I often get frustrated
│ │ │ │ +misinterpretation likely. As a committer myself, I often get frustrated
│ │ │ │ by these issues, since the only possible way for me to move forward on
│ │ │ │ them is to ask for clarification over and over.
│ │ │ │
│ │ │ │ -For bug reports, this means that your report should contain the complete
│ │ │ │ -output of youtube-dl when called with the -v flag. The error message you
│ │ │ │ -get for (most) bugs even says so, but you would not believe how many of
│ │ │ │ -our bug reports do not contain this information.
│ │ │ │ +For bug reports, this means that your report should contain the
│ │ │ │ +_complete_ output of youtube-dl when called with the -v flag. The error
│ │ │ │ +message you get for (most) bugs even says so, but you would not believe
│ │ │ │ +how many of our bug reports do not contain this information.
│ │ │ │ +
│ │ │ │ +If your server has multiple IPs or you suspect censorship, adding
│ │ │ │ +--call-home may be a good idea to get more diagnostics. If the error is
│ │ │ │ +ERROR: Unable to extract ... and you cannot reproduce it from multiple
│ │ │ │ +countries, add --dump-pages (warning: this will yield a rather large
│ │ │ │ +output, redirect it to the file log.txt by adding >log.txt 2>&1 to your
│ │ │ │ +command-line) or upload the .dump files you get when you add
│ │ │ │ +--write-pages somewhere.
│ │ │ │
│ │ │ │ -Site support requests must contain an example URL. An example URL is a
│ │ │ │ +SITE SUPPORT REQUESTS MUST CONTAIN AN EXAMPLE URL. An example URL is a
│ │ │ │ URL you might want to download, like
│ │ │ │ -http://www.youtube.com/watch?v=BaW_jenozKc . There should be an obvious
│ │ │ │ +http://www.youtube.com/watch?v=BaW_jenozKc. There should be an obvious
│ │ │ │ video present. Except under very special circumstances, the main page of
│ │ │ │ -a video service (e.g. http://www.youtube.com/ ) is not an example URL.
│ │ │ │ +a video service (e.g. http://www.youtube.com/) is _not_ an example URL.
│ │ │ │
│ │ │ │ Are you using the latest version?
│ │ │ │
│ │ │ │ Before reporting any issue, type youtube-dl -U. This should report that
│ │ │ │ you're up-to-date. About 20% of the reports we receive are already
│ │ │ │ fixed, but people are using outdated versions. This goes for feature
│ │ │ │ requests as well.
│ │ │ │
│ │ │ │ Is the issue already documented?
│ │ │ │
│ │ │ │ Make sure that someone has not already opened the issue you're trying to
│ │ │ │ -open. Search at the top of the window or at
│ │ │ │ -https://github.com/rg3/youtube-dl/search?type=Issues . If there is an
│ │ │ │ -issue, feel free to write something along the lines of "This affects me
│ │ │ │ -as well, with version 2015.01.01. Here is some more information on the
│ │ │ │ -issue: ...". While some issues may be old, a new post into them often
│ │ │ │ -spurs rapid activity.
│ │ │ │ +open. Search at the top of the window or browse the GitHub Issues of
│ │ │ │ +this repository. If there is an issue, feel free to write something
│ │ │ │ +along the lines of "This affects me as well, with version 2015.01.01.
│ │ │ │ +Here is some more information on the issue: ...". While some issues may
│ │ │ │ +be old, a new post into them often spurs rapid activity.
│ │ │ │
│ │ │ │ Why are existing options not enough?
│ │ │ │
│ │ │ │ Before requesting a new feature, please have a quick peek at the list of
│ │ │ │ supported options. Many feature requests are for features that actually
│ │ │ │ exist already! Please, absolutely do show off your work in the issue
│ │ │ │ -report and detail how the existing similar options do not solve your
│ │ │ │ +report and detail how the existing similar options do _not_ solve your
│ │ │ │ problem.
│ │ │ │
│ │ │ │ Is there enough context in your bug report?
│ │ │ │
│ │ │ │ People want to solve problems, and often think they do us a favor by
│ │ │ │ breaking down their larger problems (e.g. wanting to skip already
│ │ │ │ downloaded files) to a specific request (e.g. requesting us to look
│ │ │ │ @@ -643,40 +1721,40 @@
│ │ │ │ mark the issue as closed. Typically, reporting a bunch of issues leads
│ │ │ │ to the ticket lingering since nobody wants to attack that behemoth,
│ │ │ │ until someone mercifully splits the issue into multiple ones.
│ │ │ │
│ │ │ │ In particular, every site support request issue should only pertain to
│ │ │ │ services at one site (generally under a common domain, but always using
│ │ │ │ the same backend technology). Do not request support for vimeo user
│ │ │ │ -videos, Whitehouse podcasts, and Google Plus pages in the same issue.
│ │ │ │ +videos, White house podcasts, and Google Plus pages in the same issue.
│ │ │ │ Also, make sure that you don't post bug reports alongside feature
│ │ │ │ requests. As a rule of thumb, a feature request does not include outputs
│ │ │ │ of youtube-dl that are not immediately related to the feature at hand.
│ │ │ │ Do not post reports of a network error alongside the request for a new
│ │ │ │ video service.
│ │ │ │
│ │ │ │ Is anyone going to need the feature?
│ │ │ │
│ │ │ │ -Only post features that you (or an incapicated friend you can personally
│ │ │ │ -talk to) require. Do not post features because they seem like a good
│ │ │ │ -idea. If they are really useful, they will be requested by someone who
│ │ │ │ -requires them.
│ │ │ │ +Only post features that you (or an incapacitated friend you can
│ │ │ │ +personally talk to) require. Do not post features because they seem like
│ │ │ │ +a good idea. If they are really useful, they will be requested by
│ │ │ │ +someone who requires them.
│ │ │ │
│ │ │ │ Is your question about youtube-dl?
│ │ │ │
│ │ │ │ It may sound strange, but some bug reports we receive are completely
│ │ │ │ -unrelated to youtube-dl and relate to a different or even the reporter's
│ │ │ │ -own application. Please make sure that you are actually using
│ │ │ │ -youtube-dl. If you are using a UI for youtube-dl, report the bug to the
│ │ │ │ -maintainer of the actual application providing the UI. On the other
│ │ │ │ -hand, if your UI for youtube-dl fails in some way you believe is related
│ │ │ │ -to youtube-dl, by all means, go ahead and report the bug.
│ │ │ │ +unrelated to youtube-dl and relate to a different, or even the
│ │ │ │ +reporter's own, application. Please make sure that you are actually
│ │ │ │ +using youtube-dl. If you are using a UI for youtube-dl, report the bug
│ │ │ │ +to the maintainer of the actual application providing the UI. On the
│ │ │ │ +other hand, if your UI for youtube-dl fails in some way you believe is
│ │ │ │ +related to youtube-dl, by all means, go ahead and report the bug.
│ │ │ │ +
│ │ │ │ +
│ │ │ │
│ │ │ │ COPYRIGHT
│ │ │ │ -=========
│ │ │ │
│ │ │ │ -youtube-dl is released into the public domain by the copyright holders.
│ │ │ │
│ │ │ │ -This README file was originally written by Daniel Bolton
│ │ │ │ -(https://github.com/dbbolton) and is likewise released into the public
│ │ │ │ -domain.
│ │ │ │ +youtube-dl is released into the public domain by the copyright holders.
│ │ │ │
│ │ │ │ +This README file was originally written by Daniel Bolton and is likewise
│ │ │ │ +released into the public domain.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: youtube-dl_2014.07.15-1_all.deb
Type: application/x-debian-package
Size: 312782 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20180124/b61d70a0/attachment.deb>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: youtube-dl_2017.02.07-1_all.deb
Type: application/x-debian-package
Size: 860110 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20180124/b61d70a0/attachment-0001.deb>
More information about the Reproducible-builds
mailing list