<  Previous: Exaile
Next: Intellij-IDEA-Community >

Downloader of videos from YouTube and other sites (youtube-dl fork)

yt-dlp is a small command-line program to download videos from and other sites that don’t provide direct links to the videos served.

yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc. The main focus of this project is adding new features and patches while also keeping up to date with the original project.

yt-dlp 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.

Click here to see the currently supported sites (or features of sites).

Homepage | License: Public domain

Ubuntu versionsUpdated onVersion
StatsDownloads: current / overall (XtraDeb releases)
22.10, 22.042023/01/07 20:592023.01.06-1~xtradeb1

Learn here: How to install applications from this web site

<  Previous: Exaile
Next: Intellij-IDEA-Community >


Comments: 7

  1. Updates says:

    New version available -> yt-dlp 2023.01.06-1~xtradeb1

       * New upstream release.
       - Fix config locations
       - [downloader/aria2c] Disable native progress
       - [utils] `mimetype2ext`: `weba` is not standard
       - [utils] `windows_enable_vt_mode`: Better error handling
       - [build] Add minimal `pyproject.toml`
       - [update] Fix updater file removal on windows
       - [cleanup] Misc fixes and cleanup
       - [extractor/aitube] Add extractor
       - [extractor/drtv] Add series extractors
       - [extractor/volejtv] Add extractor
       - [extractor/xanimu] Add extractor
       - [extractor/youtube] Retry manifest refresh for live-from-start
       - [extractor/biliintl] Add `/media` to `VALID_URL`
       - [extractor/biliIntl] Add fallback to `video_data`
       - [extractor/crunchyroll:show] Add `language` to entries
       - [extractor/joj] Fix extractor
       - [extractor/nbc] Update graphql query
       - [extractor/reddit] Add subreddit as `channel_id`
       - [extractor/tiktok] Add `TikTokLive` extractor
  2. Updates says:

    New version available -> yt-dlp 2023.01.02-1~xtradeb1

       * New upstream release.
       - Improve plugin architecture**
        - Plugins can be loaded in any distribution of yt-dlp (binary, pip, source,
          etc.) and can be distributed and installed as packages. See [the readme]
          6da68f3b64#plugins) for more information
       - Add `--compat-options 2021,2022`
        - This allows devs to change defaults and make other potentially breaking
          changes more easily. If you need everything to work exactly as-is, put Use
          `--compat 2022` in your config to guard against future compat changes.
       - [downloader/aria2c] Native progress for aria2c via RPC
       - Merge youtube-dl: Up to
       - Add pre-processor stage `video`
       - Let `--parse/replace-in-metadata` run at any post-processing stage
       - Add `--enable-file-urls`
       - Add new field `aspect_ratio`
       - Add `ac4` to known codecs
       - Add `weba` to known extensions
       - [FFmpegVideoConvertor] Add `gif` to `--recode-video`
       - Add message when there are no subtitles/thumbnails
       - Deprioritize HEVC-over-FLV formats
       - Make early reject of `--match-filter` stricter
       - Fix `--cookies-from-browser` CLI parsing
       - Fix `original_url` in playlists
       - Fix bug in writing playlist info-json
       - Fix bugs in `PlaylistEntries`
       - [downloader/ffmpeg] Fix headers for video+audio formats
       - [extractor] Add a way to distinguish IEs that returns only videos
       - [extractor] Implement universal format sorting and deprecate `_sort_formats`
       - [extractor] Let `_extract_format` functions obey `--ignore-no-formats`
       - [extractor/generic] Add `fragment_query` extractor arg for DASH and HLS
       - [extractor/generic] Decode unicode-escaped embed URLs
       - [extractor/generic] Don't report redirect to https
       - [extractor/generic] Fix JSON LD manifest extraction
       - [extractor/generic] Use `Accept-Encoding: identity` for initial request
       - [FormatSort] Add `mov` to `vext`
       - [jsinterp] Escape regex that looks like nested set
       - [webvtt] Handle premature EOF
       - [utils] `classproperty`: Add cache support
       - [utils] `get_exe_version`: Detect broken executables
       - [utils] `js_to_json`: Fix bug in
       - [utils] Make `ExtractorError` mutable
       - [utils] Move `FileDownloader.parse_bytes` into utils
       - [utils] Move format sorting code into `utils`
       - [utils] `windows_enable_vt_mode`: Proper implementation
       - [update] Workaround [#5632](
       - [docs] Improvements
       - [cleanup] Misc fixes and cleanup
       - [cleanup] Use `random.choices`
       - [extractor/airtv] Add extractor
       - [extractor/amazonminitv] Add extractors
       - [extractor/beatbump] Add extractors
       - [extractor/europarl] Add EuroParlWebstream extractor
       - [extractor/kanal2] Add extractor
       - [extractor/kankanews] Add extractor
       - [extractor/kick] Add extractor
       - [extractor/mediastream] Add extractor
       - [extractor/noice] Add NoicePodcast extractor
       - [extractor/oneplace] Add OnePlacePodcast extractor
       - [extractor/rumble] Add RumbleIE extractor
       - [extractor/screencastify] Add extractor
       - [extractor/trtcocuk] Add extractor
       - [extractor/Veoh] Add user extractor
       - [extractor/videoken] Add extractors
       - [extractor/webcamerapl] Add extractor
       - [extractor/amazon] Add `AmazonReviews` extractor
       - [extractor/netverse] Add `NetverseSearch` extractor
       - [extractor/vimeo] Add `VimeoProIE`
       - [extractor/xiami] Remove extractors
       - [extractor/youtube] Add ``
       - [extractor/youtube] Consider language in format de-duplication
       - [extractor/youtube] Extract DRC formats
       - [extractor/youtube] Fix `ytuser:`
       - [extractor/youtube] Fix bug in handling of music URLs
       - [extractor/youtube] Subtitles cannot be translated to `und`
       - [extractor/youtube:tab] Extract metadata from channel items
       - [extractor/ARD] Add vtt subtitles
       - [extractor/ArteTV] Extract chapters
       - [extractor/bandcamp] Add `album_artist`
       - [extractor/bilibili] Fix `--no-playlist` for anthology
       - [extractor/bilibili] Improve `_VALID_URL`
       - [extractor/biliintl:series] Make partial download of series faster
       - [extractor/BiliLive] Fix extractor
       - [extractor/brightcove] Add `BrightcoveNewBaseIE` and fix embed extraction
       - [extractor/cda] Support premium and misc improvements
       - [extractor/ciscowebex] Support password-protected videos
       - [extractor/curiositystream] Fix auth
       - [extractor/embedly] Handle vimeo embeds
       - [extractor/fifa] Fix Preplay extraction
       - [extractor/foxsports] Fix extractor
       - [extractor/gronkh] Fix `_VALID_URL`
       - [extractor/hotstar] Improve format metadata
       - [extractor/iqiyi] Fix `Iq` JS regex
       - [extractor/la7] Improve extractor
       - [extractor/mediaset] Better embed detection and error messages
       - [extractor/mixch] Support `--wait-for-video`
       - [extractor/naver] Improve `_VALID_URL` for `NaverNowIE`
       - [extractor/naver] Treat fan subtitles as separate language
       - [extractor/netverse] Extract comments
       - [extractor/nosnl] Add support for /video
       - [extractor/odnoklassniki] Extract subtitles
       - [extractor/pinterest] Fix extractor
       - [extractor/plutotv] Fix videos with non-zero start
       - [extractor/polskieradio] Adapt to next.js redesigns
       - [extractor/reddit] Add vcodec to fallback format
       - [extractor/reddit] Extract crossposted media
       - [extractor/reddit] Extract video embeds in text posts
       - [extractor/rutube] Support private videos
       - [extractor/sibnet] Separate from VKIE
       - [extractor/slideslive] Fix extractor
       - [extractor/slideslive] Support embeds and slides
       - [extractor/soundcloud] Support user permalink
       - [extractor/spankbang] Fix extractor
       - [extractor/stv] Detect DRM
       - [extractor/swearnet] Fix description bug
       - [extractor/tencent] Fix geo-restricted video
       - [extractor/tiktok] Fix subs, `DouyinIE`, improve `_VALID_URL`
       - [extractor/tiktok] Update `_VALID_URL`, add `api_hostname` arg
       - [extractor/tiktok] Update API hostname
       - [extractor/twitcasting] Fix videos with password
       - [extractor/twitter] Heed `--no-playlist` for multi-video tweets
       - [extractor/twitter] Refresh guest token when expired
       - [extractor/twitter:spaces] Add `Referer` to m3u8
       - [extractor/udemy] Fix lectures that have no URL and detect DRM
       - [extractor/unsupported] Add more URLs
       - [extractor/urplay] Support for audio-only formats
       - [extractor/wistia] Improve extension detection
       - [extractor/yle_areena] Support restricted videos
       - [extractor/youku] Fix extractor
       - [extractor/youxxxx] Fix metadata
       - [extractor/redgifs] Fix bug in
  3. Updates says:

    New version available -> yt-dlp 2022.11.11-1~xtradeb1

       * New upstream release.
        - Merge youtube-dl: Up to
        - Backport SSL configuration from Python 3.10
        - Do more processing in `--flat-playlist`
        - Fix `--list` options not implying `-s` in some cases
        - Fix end time of clips
        - Fix for `formats=None`
        - Write API params in debug head
        - [outtmpl] Ensure ASCII in json and add option for Unicode
        - [SponsorBlock] Add `type` field, obey `--retry-sleep extractor`, relax
          duration check for large segments
        - [SponsorBlock] **Support `chapter` category**
        - [ThumbnailsConvertor] Fix filename escaping
        - [ModifyChapters] Handle the entire video being marked for removal
        - [embedthumbnail] Fix thumbnail name in mp3
        - [downloader/fragment] HLS download can continue without first fragment
        - [cookies] Improve `LenientSimpleCookie`
        - [jsinterp] Improve separating regex
        - [extractor/common] Fix `fatal=False` for `_search_nuxt_data`
        - [extractor/common] Improve `_generic_title`
        - [extractor/common] Fix `json_ld` type checks
        - [extractor/generic] Separate embed extraction into own function
        - [extractor/generic:quoted-html] Add extractor
        - [extractor/unsupported] Raise error on known DRM-only sites
        - [utils] `js_to_json`: Improve escape handling
        - [utils] `strftime_or_none`: Workaround Python bug on Windows
        - [utils] `traverse_obj`: Always return list when branching, allow `re.Match`
        - [build, test] Harden workflows' security
        - [build] `py2exe`: Migrate to freeze API
        - [build] Create `armv7l` and `aarch64` releases
        - [build] Make linux binary truly standalone using `conda`
        - [build] Replace `set-output` with `GITHUB_OUTPUT`
        - [update] Use error code `100` for update errors
        - [compat] Fix `shutils.move` in restricted ACL mode on BSD
        - [docs, devscripts] Document `pyinst`'s argument passthrough
        - [test] Allow `extract_flat` in download tests
        - [cleanup] Misc fixes and cleanup
        - [extractor/aeon] Add extractor
        - [extractor/agora] Add extractors
        - [extractor/camsoda] Add extractor
        - [extractor/cinetecamilano] Add extractor
        - [extractor/deuxm] Add extractors
        - [extractor/genius] Add extractors
        - [extractor/japandiet] Add extractors
        - [extractor/listennotes] Add extractor
        - [extractor/] Add extractor
        - [extractor/oftv] Add extractors
        - [extractor/podbayfm] Add extractor
        - [extractor/qingting] Add extractor
        - [extractor/screen9] Add extractor
        - [extractor/swearnet] Add extractor
        - [extractor/YleAreena] Add extractor
        - [extractor/zeenews] Add extractor
        - [extractor/youtube:tab] **Update tab handling for redesign**
         - Channel URLs download all uploads of the channel as multiple playlists,
           separated by tab
        - [extractor/youtube] Differentiate between no comments and disabled comments
        - [extractor/youtube] Extract `concurrent_view_count` for livestreams
        - [extractor/youtube] Fix `duration` for premieres
        - [extractor/youtube] Fix `live_status`
        - [extractor/youtube] Ignore incomplete data error for comment replies
        - [extractor/youtube] Improve chapter parsing from description
        - [extractor/youtube] Mark videos as fully watched
        - [extractor/youtube] Update piped instances
        - [extractor/youtube] Update playlist metadata extraction for new layout
        - [extractor/youtube:tab] Fix video metadata from tabs
        - [extractor/youtube:tab] Let `approximate_date` return timestamp
        - [extractor/americastestkitchen] Fix extractor
        - [extractor/bbc] Support onion domains
        - [extractor/bilibili] Add chapters and misc cleanup
        - [extractor/bilibili] Fix BilibiliIE and Bangumi extractors
        - [extractor/bitchute] Better error for geo-restricted videos
        - [extractor/bitchute] Improve `BitChuteChannelIE`
        - [extractor/bitchute] Simplify extractor
        - [extractor/cda] Support login through API
        - [extractor/crunchyroll] Beta is now the only layout
        - [extractor/detik] Avoid unnecessary extraction
        - [extractor/doodstream] Remove extractor
        - [extractor/dplay] Add MotorTrendOnDemand extractor
        - [extractor/epoch] Support videos without data-trailer
        - [extractor/fox] Extract thumbnail
        - [extractor/foxnews] Add `FoxNewsVideo` extractor
        - [extractor/hotstar] Add season support
        - [extractor/hotstar] Refactor v1 API calls
        - [extractor/iprima] Make json+ld non-fatal
        - [extractor/iq] Increase phantomjs timeout
        - [extractor/kaltura] Support playlists
        - [extractor/lbry] Authenticate with cookies
        - [extractor/livestreamfails] Support posts
        - [extractor/mlb] Add `MLBArticle` extractor
        - [extractor/mxplayer] Improve extractor
        - [extractor/niconico] Always use HTTPS for requests
        - [extractor/nzherald] Support new video embed
        - [extractor/odnoklassniki] Support embeds
        - [extractor/paramountplus] Update API token
        - [extractor/reddit] Add fallback format
        - [extractor/redgifs] Fix extractors
        - [extractor/redgifs] Refresh auth token for 401
        - [extractor/rumble] Add HLS formats and extract more metadata
        - [extractor/sbs] Improve `_VALID_URL`
        - [extractor/skyit] Fix extractors
        - [extractor/stripchat] Fix hostname for HLS stream
        - [extractor/stripchat] Improve error message
        - [extractor/telegram] Add playlist support and more metadata
        - [extractor/Tnaflix] Fix for HTTP 500
        - [extractor/tubitv] Better DRM detection
        - [extractor/tvp] Update extractors
        - [extractor/twitcasting] Fix `data-movie-playlist` extraction
        - [extractor/twitter] Add onion site to `_VALID_URL`
        - [extractor/twitter] Add Spaces extractor and GraphQL API
        - [extractor/twitter] Support multi-video posts
        - [extractor/uktvplay] Fix `_VALID_URL`
        - [extractor/viu] Support subtitles of on-screen text
        - [extractor/VK] Fix playlist URLs
        - [extractor/vlive] Extract `release_timestamp`
        - [extractor/voot] Improve `_VALID_URL`
        - [extractor/wordpress:mb.miniAudioPlayer] Add embed extractor
        - [extractor/YoutubeWebArchive] Improve metadata extraction
        - [extractor/zee5] Improve `_VALID_URL`
        - [extractor/zenyandex] Fix extractors
  4. Updates says:

    New version available -> yt-dlp 2022.10.04-1~xtradeb1

    * New upstream release.
    – Allow a set to be passed as download_archive
    – Allow open ranges for time ranges
    – Allow plugin extractors to replace the built-in ones
    – Don’t download entire video when no matching –download-sections
    – Fix –config-location –
    – Improve 5736d79
    – Fix for when playlists don’t have webpage_url
    – Support environment variables in –ffmpeg-location
    – Workaround libc_ver not be available on Windows Store version of Python
    – [outtmpl] Curly braces to filter keys
    – [outtmpl] Make %s work in strfformat for all systems
    – [jsinterp] Workaround operator associativity issue
    – [cookies] Let _get_mac_keyring_password fail gracefully
    – [cookies] Parse cookies leniently
    – [phantomjs] Fix bug in 587021c
    – [downloader/aria2c] Fix filename containing leading whitespace
    – [downloader/ism] Support ec-3 codec
    – [extractor] Fix fatal=False in RetryManager
    – [extractor] Improve json-ld extraction
    – [extractor] Make _search_json able to parse lists
    – [extractor] Escape % in representation_id of m3u8
    – [extractor/generic] Pass through referer from json-ld
    – [utils] base_url: URL paths can contain &
    – [utils] js_to_json: Improve
    – [utils] Fix default return in binary mode
    – [utils] traverse_obj: Rewrite, document and add tests
    – [devscripts] make_lazy_extractors: Fix for Docker
    – [docs] Misc Improvements
    – [cleanup] Misc fixes and cleanup
    – [extractor/] Add extractors
    – [extractor/BerufeTV] Add extractor
    – [extractor/booyah] Add extractor
    – [extractor/bundesliga] Add extractor
    – [extractor/GoPlay] Add extractor
    – [extractor/iltalehti] Add extractor
    – [extractor/IsraelNationalNews] Add extractor
    – [extractor/mediaworksnzvod] Add extractor
    – [extractor/MicrosoftEmbed] Add extractor
    – [extractor/nbc] Add NBCStations extractor
    – [extractor/onenewsnz] Add extractor
    – [extractor/prankcast] Add extractor
    – [extractor/Smotrim] Add extractor
    – [extractor/tencent] Add Iflix extractor
    – [extractor/unscripted] Add extractor
    – [extractor/adobepass] Add MSO AlticeOne (Optimum TV)
    – [extractor/youtube] Download post_live videos from start
    – [extractor/youtube] Add support for Shorts audio pivot feed
    – [extractor/youtube] Detect lazy-load-for-videos embeds
    – [extractor/youtube] Do not warn on duplicate chapters
    – [extractor/youtube] Fix video like count extraction
    – [extractor/youtube] Support changing extraction language
    – [extractor/youtube:tab] Improve continuation items extraction
    – [extractor/youtube:tab] Support reporthistory page
    – [extractor/amazonstore] Fix JSON extraction
    – [extractor/amazonstore] Retry to avoid captcha page
    – [extractor/animeondemand] Remove extractor
    – [extractor/anvato] Fix extractor and refactor
    – [extractor/artetv] Remove duplicate stream urls
    – [extractor/audioboom] Support direct URLs and refactor
    – [extractor/bandcamp] Extract uploader_url
    – [extractor/bilibili] Add space.bilibili extractors
    – [extractor/BilibiliSpace] Fix extractor and better error message
    – [extractor/BiliIntl] Support uppercase lang in _VALID_URL
    – [extractor/BiliIntlSeries] Fix _VALID_URL
    – [extractor/bongacams] Update _VALID_URL
    – [extractor/crunchyroll:beta] Improve handling of hardsubs
    – [extractor/detik] Generalize extractors
    – [extractor/dplay:italy] Add default authentication
    – [extractor/heise] Fix extractor
    – [extractor/holodex] Fix _VALID_URL
    – [extractor/hrfensehen] Fix extractor
    – [extractor/hungama] Add subtitle
    – [extractor/instagram] Extract more metadata
    – [extractor/JWPlatform] Fix extractor
    – [extractor/malltv] Fix video_id extraction
    – [extractor/MLBTV] Detect live streams
    – [extractor/motorsport] Support native embeds
    – [extractor/Mxplayer] Fix extractor
    – [extractor/nebula] Add
    – [extractor/nfl] Fix extractor
    – [extractor/ondemandkorea] Update jw_config regex
    – [extractor/paramountplus] Better DRM detection
    – [extractor/patreon] Sort formats
    – [extractor/rcs] Fix embed extraction
    – [extractor/redgifs] Fix extractor
    – [extractor/rutube] Fix _EMBED_REGEX
    – [extractor/RUTV] Fix warnings for livestreams
    – [extractor/soundcloud:search] More metadata in –flat-playlist
    – [extractor/telegraaf] Use mobile GraphQL API endpoint
    – [extractor/tennistv] Fix timestamp
    – [extractor/tiktok] Fix TikTokIE
    – [extractor/triller] Fix auth token
    – [extractor/trovo] Fix extractors
    – [extractor/tv2] Support new url format
    – [extractor/web.archive:youtube] Fix _YT_INITIAL_PLAYER_RESPONSE_RE
    – [extractor/wistia] Add support for channels
    – [extractor/wistia] Match IDs in embed URLs
    – [extractor/wordpress:playlist] Add generic embed extractor
    – [extractor/yandexvideopreview] Update _VALID_URL
    – [extractor/zee5] Fix _VALID_URL
    – [extractor/zee5] Generate device ids

  5. Updates says:

    New version available -> yt-dlp 2022.09.01-1~xtradeb1

    * New upstream release.
    – Add option `–use-extractors`
    – Merge youtube-dl: Upto
    – Add yt-dlp version to infojson
    – Fix `–break-per-url –max-downloads`
    – Fix bug in `–alias`
    – [cookies] Support firefox container in `–cookies-from-browser`
    – [downloader/external] Smarter detection of executable
    – [extractor/generic] Don’t return JW player without formats
    – [FormatSort] Fix `aext` for `–prefer-free-formats`
    – [jsinterp] Various improvements
    – [cache] Mechanism to invalidate old cache
    – [utils] Add `deprecation_warning`
    – [utils] Add `orderedSet_from_options`
    – [utils] `Popen`: Restore `LD_LIBRARY_PATH` when using PyInstaller
    – [build] `make tar` should not follow `DESTDIR`
    – [build] Update pyinstaller
    – [test] Fix `test_youtube_signature`
    – [cleanup] Misc fixes and cleanup
    – [extractor/epoch] Add extractor
    – [extractor/eurosport] Add extractor
    – [extractor/IslamChannel] Add extractors
    – [extractor/newspicks] Add extractor
    – [extractor/triller] Add extractor
    – [extractor/VQQ] Add extractors
    – [extractor/youtube] Improvements to nsig extraction
    – [extractor/youtube] Fix bug in format sorting
    – [extractor/youtube] Update iOS Innertube clients
    – [extractor/youtube] Use device-specific user agent
    – [extractor/youtube] Add `–compat-option no-youtube-prefer-utc-upload-date`
    – [extractor/arte] Bug fix
    – [extractor/bilibili] Extract `flac` with premium account
    – [extractor/BiliBiliSearch] Don’t sort by date
    – [extractor/BiliBiliSearch] Fix infinite loop
    – [extractor/bitchute] Mark errors as expected
    – [extractor/crunchyroll:beta] Use anonymous access
    – [extractor/huya] Fix stream extraction
    – [extractor/medaltv] Fix extraction
    – [extractor/mediaset] Fix embed extraction
    – [extractor/mixcloud] All formats are audio-only
    – [extractor/rtbf] Fix jwt extraction
    – [extractor/screencastomatic] Support `–video-password`
    – [extractor/stripchat] Don’t modify input URL
    – [extractor/uktv] Improve `_VALID_URL`
    – [extractor/vimeo:user] Fix `_VALID_URL`

  6. Updates says:

    New version available -> yt-dlp 2022.08.19-1~xtradeb1

    * New upstream release.
    – Fix bug in –download-archive
    – [jsinterp] Fix for new youtube players and related improvements by dirkf, pukkandan
    – You may need to –rm-cache after update for this to work
    – [phantomjs] Add function to execute JS without a DOM by MinePlayersPE, pukkandan
    – [build] Exclude devscripts from installs by Lesmiscore
    – [cleanup] Misc fixes and cleanup
    – [extractor/youtube] Add fallback to phantomjs for nsig
    – [extractor/youtube] Fix error reporting of “Incomplete data”
    – [extractor/youtube] Improve format sorting for IOS formats
    – [extractor/youtube] Improve signature caching
    – [extractor/instagram] Fix extraction by bashonly, pritam20ps05
    – [extractor/rai] Minor fix by nixxo
    – [extractor/rtbf] Fix stream extractor by elyse0
    – [extractor/SovietsCloset] Fix extractor by ChillingPepper
    – [extractor/zattoo] Fix Zattoo resellers by goggle

  7. Updates says:

    New version available -> yt-dlp 2022.08.14-2~xtradeb1

    * Initial import to XtraDeb

Comments are closed.