Skip to main content

a video downloader written in Python

Project description


A video downloader focus on China mainland video sites.

Origin website:

Now, it has migrated to the new website:

And, it is still looking for a new owner, see #565.

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

  • Structured source code.
  • Focus on China mainland video sites.
  • Dropped supports of Python 3.4 and below (see #487).

Simple installation guide

There are some useful software package managers.

  1. Dependencies

    FFmpeg, for merge media files.
    mpv, default media player (optimal compatibility).
  2. Python 3

  3. pip and setuptools, make sure they are updated.

    python3 -m ensurepip
    python3 -m pip install pip --upgrade
    python3 -m pip install setuptools --upgrade
  4. ykdl from PyPI or GitHub

    pip3 install ykdl --upgrade
    pip3 install --force-reinstall --no-deps
    pip3 install --upgrade
  5. Make sure those folders are in your PATH, if they are not, add them.

    Windows: folders of ffmpeg.exe, mpv.exe, and python.exe, and folder “<PYTHONHOME>\Scripts”
    others: “~/.local/bin” or “/usr/local/bin”

Site status

Please check wiki page: sites-status

Bugs report, features require, and pull requests are welcome.

Change Log for ykdl


  • fix compatibility bug on Python 3.9 and below (#604)


  • add support HTTP cache
  • add support interactive mode
  • add –show-all argument
  • improve handling of media title and filename
  • API has been changed (#600 @fraic)
  • support new sites: iXiGua
  • update GeneralSimple, Bilibili, DouYin, YinYueTai


warning:<lots of breaks>
  • add Brotli support (extra)
  • fix output and update dependencies
  • update Bilibili, Douban, Huya, iQIYI, Weibo
  • more see early PRE-releases

1.8.0 beta 1

warning:<lots of breaks except CLI>
  • code clear and unified code style
  • split JSEngine as standalone package
  • refactor many core modules, now they become powerful and ease for use
  • add support for persistent connection
  • add support for crypto M3U
  • add support for multi streams in same format, and lower quality fallback for –format
  • remove EOL sites: Bobo, Chushou, Huomao
  • fix bug which wrong pack of wheel
  • fixed many bugs
  • updated some sites

1.8.0 alpha 2

  • bugfix of alpha 1
  • update Douyin, Sina, GeneralSimple
  • many improves

1.8.0 alpha 1

  • warning:<break> update setup interrelated deefef9 10303eb #573
  • warning:<break> change matchall arguments to same as match1 c5229b6
  • add new extractor: generalsimple, singlemultimedia e793453
  • resolve SSL issues in old OS and package m3u8 1ccfa6b
  • fixed dull Ctrl+C fec3a16
  • support new sites: Funshion, Heibai #278 #552 thx @airdge
  • update Weibo
  • remove Xiami


  • support new sites: Douyin
  • update Huya, Youku, MGTV


  • add subtitle support #544
  • refactor Weibo
  • improved utils html and m3u8
  • update Bilibili, Douyu, iQIYI, MGTV, NetEase, PPTV, QQ


  • dropped supports of Python 3.4 and below #487
  • a lot of improvements with utils #372 a8651a0 #485 d1a6e53 5dfc760 etc.
  • extractor class has been changed 641b739 c8c819c
  • fixed download name #496
  • update AcFun, Bilibili, CCTV/CNTV, Douyu, Huya, iQIYI, JustFun, LeTV, Mango, Miaopai, NetEase, PPTV, Qixiu, QQ, Sohu, Weibo, Youku
  • remove Dilidili, Panda


  • update Sohu, mgtv, sina, etc a lot by @SeaHOH


  • 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

Project details

Download files

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

Source Distribution

ykdl-1.8.1.post1.tar.gz (203.2 kB view hashes)

Uploaded source

Built Distribution

ykdl-1.8.1.post1-py3-none-any.whl (239.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page