Skip to main content

a video downloader written in Python

Project description


a video downloader focus on China mainland video sites.


this project is a fork of you-get with below changes.

  1. Structured source code
  2. focus on China mainland video sites
  3. support Python2

Simple installation guide:


  1. sudo apt-get install ffmpeg mpv python3-pip
  2. pip3 install ykdl –upgrade –user
  3. add ~/.local/bin to your PATH


  1. install python3 from
  2. pip install –upgrade ykdl
  3. install deps: FFMPEG MPV to system PATH

Other Linux: please follow debian

Other OS: please DIY.

Site status:

please check wiki page: sites-status

file bugs or requirements are welcome

submit PRs are welcome

Change Log for ykdl


  • update QQ, bilibili, panda a lot by @SeaHOH
  • misc updates


  • fix youku/tudou, QQ, mgtv, 163, bilibili by @SeaHOH


  • new internal proxy for slow video playback. by @SeaHOH
  • update youku, many bug fixed.
  • update bilibili, new api, playlist bug fixed.
  • update HTTP redirection for
  • use cryptodome as default.


  • update bilibili bangumi a lot, better
  • update youku, support check audio_lang
  • update huya, new api
  • update acfun, 163 Dj and QQ
  • update mpv’s default parameters.


  • support bilibili bangumi by new extractor
  • support new sites: Zhangyu, Chushou
  • update QQ, important!! by @SeaHOH
  • update Youku, Tudou, not finished.
  • update Huomao, douyu, iqiyi
  • update sohu and mpv wrapper, thanks to @SeaHOH


  • update bilibili, tudou, weibo, etc.
  • update mpv wrapper, thanks to @SeaHOH


  • update youku, panda, le, zhanqi, longzhu, laifeng, huajiao, etc.
  • many updates for windows platform, thanks to @SeaHOH
  • README.rst updated.


  • update bilibili, youku, quanmin live, 163, douyu, etc.
  • support,
  • update player wrapper
  • -F/–format now accept int value as level of resolution.


  • update videoinfo, add ua/referrer.
  • update douyu, bilibili, youku
  • cykdl support no proxy


  • update 163 music, pptv, youku
  • update python2 support
  • update ffmpeg&mpv wrapper


  • support new sites: sina open course
  • delete: isuntv, instagram, dailymotion, alive, ted
  • update bilibili, acfun, sohu, youku, tudou
  • update downloader


  • support new sites: dilidili
  • update letv, youku
  • update downloader


  • support new sites: ifeng/163 open course
  • update QQ, acfun, weibo, ifeng
  • update youku, due to api changed
  • misc changes


  • fix bug when len(urls) == 1
  • update mgtv, huomao, bilibili
  • restructure ykdl, using setuptools
  • misc changes


  • acfun: add missing sign
  • python2 fix
  • using ThreadPoolExecutor for multithread download
  • rename short opt for json out to capital J
  • add -j –jobs for multithread download jobs number, default is NR_CPUS


  • fix iqiyi with code clean
  • update bilibili Episode title
  • update douyu live room name
  • use yield to speedup playlist
  • python2 fix


  • fix Acfun again
  • fix douyu live
  • support multithread download, NOTE: this is not finished


  • fix Acfun
  • fix letv


  • change version string to 3 digital
  • fix qq, douyu, mgtv, QQ. etc.
  • report stream_types in json

  • fix letv live, cctv, xiami, QQ
  • support douyu video, kankannews, Quanmin Live
  • update common alias dict


  • port PPTV, yizhibo from upstream/PL
  • update Bilibili.
  • partially support Taobao

  • update bilibili playlist.
  • update ACfun.
  • support youku mp5

  • update bilibili for eid and title.
  • update ACfun for match pattern, and playlist
  • update main script to fix bugs, add -O option
  • add warning in m3u8_wrapper

  • update bilibili, ACfun
  • update setup script, test makefile

  • update douyu, QQ, generalembed

  • update Acfun, huomao, youku
  • add gitter

  • update generalembed, le live, douyu, zhanqi


  • update iqiyi
  • merge option removed
  • get proxy from system proxy settings
  • some other update


  • refact code a lot
  • update iqiyi
  • update setup for windows platform

  • quick fix for youku, find a mistake

  • update iqiyi support more stream profiles
  • update m3u8 download with ffpmeg
  • update letv
  • update stream profile code


  • fix iqiyi, QQ
  • support huajiao live
  • remove lots of dead sites, include youtube
  • many other updates

  • update README.rst, CHANGELOG.rst
  • support laifeng live
  • fix zhanqi
  • add travis-ci

  • misc changes on setup, code refactor

  • right way to add requirements


  • add experimental merge feature.
  • video titles are changed for many sites.
  • longzhu live is improved.
  • live video authors are added when possible.
  • subtitle feature is planned but moved to danmu branch.

  • bug fix for baomihua
  • add test for extractors status.

  • fix unqoute issue in python2, since v1.0.9 is released
  • a draft binary release is done. feedback is welcome.


  • new sites are supported

    1. huya live and video
    2. longzhu live
  • python2 are supported

    almost done

    big change

python3 is first choice, if you don’t have python3, python2 is fine. don’t forget to file a bug when using python2

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ykdl, version 1.6.2
Filename, size File type Python version Upload date Hashes
Filename, size ykdl-1.6.2.tar.gz (57.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page