mirror of https://github.com/blackjack4494/yt-dlc
Revert "Merge remote-tracking branch 'pukkandan/master' into merge-main"
This reverts commit 59e6446261
.
pull/310/head
parent
59e6446261
commit
e44fd88c03
@ -1,4 +0,0 @@
|
|||||||
* text=auto
|
|
||||||
|
|
||||||
Makefile* text whitespace=-tab-in-indent
|
|
||||||
*.sh text eol=lf
|
|
@ -1,31 +0,0 @@
|
|||||||
name: Core Tests
|
|
||||||
on: [push, pull_request]
|
|
||||||
jobs:
|
|
||||||
tests:
|
|
||||||
name: Core Tests
|
|
||||||
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-18.04]
|
|
||||||
# py3.9 is in quick-test
|
|
||||||
python-version: [3.7, 3.8, 3.10-dev, pypy-3.6, pypy-3.7]
|
|
||||||
run-tests-ext: [sh]
|
|
||||||
include:
|
|
||||||
# atleast one of the tests must be in windows
|
|
||||||
- os: windows-latest
|
|
||||||
python-version: 3.6
|
|
||||||
run-tests-ext: bat
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
- name: Install pytest
|
|
||||||
run: pip install pytest
|
|
||||||
- name: Run tests
|
|
||||||
continue-on-error: False
|
|
||||||
run: ./devscripts/run_tests.${{ matrix.run-tests-ext }} core
|
|
||||||
# Linter is in quick-test
|
|
@ -1,28 +0,0 @@
|
|||||||
name: Download Tests
|
|
||||||
on: [push, pull_request]
|
|
||||||
jobs:
|
|
||||||
tests:
|
|
||||||
name: Download Tests
|
|
||||||
if: "contains(github.event.head_commit.message, 'ci run dl')"
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: true
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-18.04]
|
|
||||||
python-version: [3.7, 3.8, 3.9, 3.10-dev, pypy-3.6, pypy-3.7]
|
|
||||||
run-tests-ext: [sh]
|
|
||||||
include:
|
|
||||||
- os: windows-latest
|
|
||||||
python-version: 3.6
|
|
||||||
run-tests-ext: bat
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
- name: Install pytest
|
|
||||||
run: pip install pytest
|
|
||||||
- name: Run tests
|
|
||||||
continue-on-error: true
|
|
||||||
run: ./devscripts/run_tests.${{ matrix.run-tests-ext }} download
|
|
@ -0,0 +1,33 @@
|
|||||||
|
# This workflows will upload a Python Package using Twine when a release is created
|
||||||
|
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
||||||
|
|
||||||
|
name: Upload Python Package
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- release
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install setuptools wheel twine
|
||||||
|
- name: Build and publish
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
||||||
|
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
rm -rf dist/*
|
||||||
|
python setup.py sdist bdist_wheel
|
||||||
|
twine upload dist/*
|
@ -1,31 +0,0 @@
|
|||||||
name: Quick Test
|
|
||||||
on: [push, pull_request]
|
|
||||||
jobs:
|
|
||||||
tests:
|
|
||||||
name: Core Test
|
|
||||||
if: "!contains(github.event.head_commit.message, 'ci skip all')"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.9
|
|
||||||
- name: Install test requirements
|
|
||||||
run: pip install pytest pycryptodome
|
|
||||||
- name: Run tests
|
|
||||||
run: ./devscripts/run_tests.sh core
|
|
||||||
flake8:
|
|
||||||
name: Linter
|
|
||||||
if: "!contains(github.event.head_commit.message, 'ci skip all')"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.9
|
|
||||||
- name: Install flake8
|
|
||||||
run: pip install flake8
|
|
||||||
- name: Run flake8
|
|
||||||
run: flake8 .
|
|
@ -1,22 +0,0 @@
|
|||||||
# .readthedocs.yaml
|
|
||||||
# Read the Docs configuration file
|
|
||||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
||||||
|
|
||||||
# Required
|
|
||||||
version: 2
|
|
||||||
|
|
||||||
# Build documentation in the docs/ directory with Sphinx
|
|
||||||
sphinx:
|
|
||||||
configuration: docs/conf.py
|
|
||||||
|
|
||||||
# Optionally build your docs in additional formats such as PDF
|
|
||||||
formats:
|
|
||||||
- epub
|
|
||||||
- pdf
|
|
||||||
- htmlzip
|
|
||||||
|
|
||||||
# Optionally set the version of Python and requirements required to build your docs
|
|
||||||
python:
|
|
||||||
version: 3
|
|
||||||
install:
|
|
||||||
- requirements: docs/requirements.txt
|
|
@ -0,0 +1,38 @@
|
|||||||
|
language: python
|
||||||
|
python:
|
||||||
|
- "2.6"
|
||||||
|
- "2.7"
|
||||||
|
- "3.2"
|
||||||
|
- "3.3"
|
||||||
|
- "3.4"
|
||||||
|
- "3.5"
|
||||||
|
- "3.6"
|
||||||
|
- "pypy"
|
||||||
|
- "pypy3"
|
||||||
|
dist: trusty
|
||||||
|
env:
|
||||||
|
- YTDL_TEST_SET=core
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- python: 3.7
|
||||||
|
dist: xenial
|
||||||
|
env: YTDL_TEST_SET=core
|
||||||
|
- python: 3.8
|
||||||
|
dist: xenial
|
||||||
|
env: YTDL_TEST_SET=core
|
||||||
|
- python: 3.8-dev
|
||||||
|
dist: xenial
|
||||||
|
env: YTDL_TEST_SET=core
|
||||||
|
- env: JYTHON=true; YTDL_TEST_SET=core
|
||||||
|
- name: flake8
|
||||||
|
python: 3.8
|
||||||
|
dist: xenial
|
||||||
|
install: pip install flake8
|
||||||
|
script: flake8 .
|
||||||
|
fast_finish: true
|
||||||
|
allow_failures:
|
||||||
|
- env: YTDL_TEST_SET=download
|
||||||
|
- env: JYTHON=true; YTDL_TEST_SET=core
|
||||||
|
before_install:
|
||||||
|
- if [ "$JYTHON" == "true" ]; then ./devscripts/install_jython.sh; export PATH="$HOME/jython/bin:$PATH"; fi
|
||||||
|
script: ./devscripts/run_tests.sh
|
@ -0,0 +1,248 @@
|
|||||||
|
Ricardo Garcia Gonzalez
|
||||||
|
Danny Colligan
|
||||||
|
Benjamin Johnson
|
||||||
|
Vasyl' Vavrychuk
|
||||||
|
Witold Baryluk
|
||||||
|
Paweł Paprota
|
||||||
|
Gergely Imreh
|
||||||
|
Rogério Brito
|
||||||
|
Philipp Hagemeister
|
||||||
|
Sören Schulze
|
||||||
|
Kevin Ngo
|
||||||
|
Ori Avtalion
|
||||||
|
shizeeg
|
||||||
|
Filippo Valsorda
|
||||||
|
Christian Albrecht
|
||||||
|
Dave Vasilevsky
|
||||||
|
Jaime Marquínez Ferrándiz
|
||||||
|
Jeff Crouse
|
||||||
|
Osama Khalid
|
||||||
|
Michael Walter
|
||||||
|
M. Yasoob Ullah Khalid
|
||||||
|
Julien Fraichard
|
||||||
|
Johny Mo Swag
|
||||||
|
Axel Noack
|
||||||
|
Albert Kim
|
||||||
|
Pierre Rudloff
|
||||||
|
Huarong Huo
|
||||||
|
Ismael Mejía
|
||||||
|
Steffan Donal
|
||||||
|
Andras Elso
|
||||||
|
Jelle van der Waa
|
||||||
|
Marcin Cieślak
|
||||||
|
Anton Larionov
|
||||||
|
Takuya Tsuchida
|
||||||
|
Sergey M.
|
||||||
|
Michael Orlitzky
|
||||||
|
Chris Gahan
|
||||||
|
Saimadhav Heblikar
|
||||||
|
Mike Col
|
||||||
|
Oleg Prutz
|
||||||
|
pulpe
|
||||||
|
Andreas Schmitz
|
||||||
|
Michael Kaiser
|
||||||
|
Niklas Laxström
|
||||||
|
David Triendl
|
||||||
|
Anthony Weems
|
||||||
|
David Wagner
|
||||||
|
Juan C. Olivares
|
||||||
|
Mattias Harrysson
|
||||||
|
phaer
|
||||||
|
Sainyam Kapoor
|
||||||
|
Nicolas Évrard
|
||||||
|
Jason Normore
|
||||||
|
Hoje Lee
|
||||||
|
Adam Thalhammer
|
||||||
|
Georg Jähnig
|
||||||
|
Ralf Haring
|
||||||
|
Koki Takahashi
|
||||||
|
Ariset Llerena
|
||||||
|
Adam Malcontenti-Wilson
|
||||||
|
Tobias Bell
|
||||||
|
Naglis Jonaitis
|
||||||
|
Charles Chen
|
||||||
|
Hassaan Ali
|
||||||
|
Dobrosław Żybort
|
||||||
|
David Fabijan
|
||||||
|
Sebastian Haas
|
||||||
|
Alexander Kirk
|
||||||
|
Erik Johnson
|
||||||
|
Keith Beckman
|
||||||
|
Ole Ernst
|
||||||
|
Aaron McDaniel (mcd1992)
|
||||||
|
Magnus Kolstad
|
||||||
|
Hari Padmanaban
|
||||||
|
Carlos Ramos
|
||||||
|
5moufl
|
||||||
|
lenaten
|
||||||
|
Dennis Scheiba
|
||||||
|
Damon Timm
|
||||||
|
winwon
|
||||||
|
Xavier Beynon
|
||||||
|
Gabriel Schubiner
|
||||||
|
xantares
|
||||||
|
Jan Matějka
|
||||||
|
Mauroy Sébastien
|
||||||
|
William Sewell
|
||||||
|
Dao Hoang Son
|
||||||
|
Oskar Jauch
|
||||||
|
Matthew Rayfield
|
||||||
|
t0mm0
|
||||||
|
Tithen-Firion
|
||||||
|
Zack Fernandes
|
||||||
|
cryptonaut
|
||||||
|
Adrian Kretz
|
||||||
|
Mathias Rav
|
||||||
|
Petr Kutalek
|
||||||
|
Will Glynn
|
||||||
|
Max Reimann
|
||||||
|
Cédric Luthi
|
||||||
|
Thijs Vermeir
|
||||||
|
Joel Leclerc
|
||||||
|
Christopher Krooss
|
||||||
|
Ondřej Caletka
|
||||||
|
Dinesh S
|
||||||
|
Johan K. Jensen
|
||||||
|
Yen Chi Hsuan
|
||||||
|
Enam Mijbah Noor
|
||||||
|
David Luhmer
|
||||||
|
Shaya Goldberg
|
||||||
|
Paul Hartmann
|
||||||
|
Frans de Jonge
|
||||||
|
Robin de Rooij
|
||||||
|
Ryan Schmidt
|
||||||
|
Leslie P. Polzer
|
||||||
|
Duncan Keall
|
||||||
|
Alexander Mamay
|
||||||
|
Devin J. Pohly
|
||||||
|
Eduardo Ferro Aldama
|
||||||
|
Jeff Buchbinder
|
||||||
|
Amish Bhadeshia
|
||||||
|
Joram Schrijver
|
||||||
|
Will W.
|
||||||
|
Mohammad Teimori Pabandi
|
||||||
|
Roman Le Négrate
|
||||||
|
Matthias Küch
|
||||||
|
Julian Richen
|
||||||
|
Ping O.
|
||||||
|
Mister Hat
|
||||||
|
Peter Ding
|
||||||
|
jackyzy823
|
||||||
|
George Brighton
|
||||||
|
Remita Amine
|
||||||
|
Aurélio A. Heckert
|
||||||
|
Bernhard Minks
|
||||||
|
sceext
|
||||||
|
Zach Bruggeman
|
||||||
|
Tjark Saul
|
||||||
|
slangangular
|
||||||
|
Behrouz Abbasi
|
||||||
|
ngld
|
||||||
|
nyuszika7h
|
||||||
|
Shaun Walbridge
|
||||||
|
Lee Jenkins
|
||||||
|
Anssi Hannula
|
||||||
|
Lukáš Lalinský
|
||||||
|
Qijiang Fan
|
||||||
|
Rémy Léone
|
||||||
|
Marco Ferragina
|
||||||
|
reiv
|
||||||
|
Muratcan Simsek
|
||||||
|
Evan Lu
|
||||||
|
flatgreen
|
||||||
|
Brian Foley
|
||||||
|
Vignesh Venkat
|
||||||
|
Tom Gijselinck
|
||||||
|
Founder Fang
|
||||||
|
Andrew Alexeyew
|
||||||
|
Saso Bezlaj
|
||||||
|
Erwin de Haan
|
||||||
|
Jens Wille
|
||||||
|
Robin Houtevelts
|
||||||
|
Patrick Griffis
|
||||||
|
Aidan Rowe
|
||||||
|
mutantmonkey
|
||||||
|
Ben Congdon
|
||||||
|
Kacper Michajłow
|
||||||
|
José Joaquín Atria
|
||||||
|
Viťas Strádal
|
||||||
|
Kagami Hiiragi
|
||||||
|
Philip Huppert
|
||||||
|
blahgeek
|
||||||
|
Kevin Deldycke
|
||||||
|
inondle
|
||||||
|
Tomáš Čech
|
||||||
|
Déstin Reed
|
||||||
|
Roman Tsiupa
|
||||||
|
Artur Krysiak
|
||||||
|
Jakub Adam Wieczorek
|
||||||
|
Aleksandar Topuzović
|
||||||
|
Nehal Patel
|
||||||
|
Rob van Bekkum
|
||||||
|
Petr Zvoníček
|
||||||
|
Pratyush Singh
|
||||||
|
Aleksander Nitecki
|
||||||
|
Sebastian Blunt
|
||||||
|
Matěj Cepl
|
||||||
|
Xie Yanbo
|
||||||
|
Philip Xu
|
||||||
|
John Hawkinson
|
||||||
|
Rich Leeper
|
||||||
|
Zhong Jianxin
|
||||||
|
Thor77
|
||||||
|
Mattias Wadman
|
||||||
|
Arjan Verwer
|
||||||
|
Costy Petrisor
|
||||||
|
Logan B
|
||||||
|
Alex Seiler
|
||||||
|
Vijay Singh
|
||||||
|
Paul Hartmann
|
||||||
|
Stephen Chen
|
||||||
|
Fabian Stahl
|
||||||
|
Bagira
|
||||||
|
Odd Stråbø
|
||||||
|
Philip Herzog
|
||||||
|
Thomas Christlieb
|
||||||
|
Marek Rusinowski
|
||||||
|
Tobias Gruetzmacher
|
||||||
|
Olivier Bilodeau
|
||||||
|
Lars Vierbergen
|
||||||
|
Juanjo Benages
|
||||||
|
Xiao Di Guan
|
||||||
|
Thomas Winant
|
||||||
|
Daniel Twardowski
|
||||||
|
Jeremie Jarosh
|
||||||
|
Gerard Rovira
|
||||||
|
Marvin Ewald
|
||||||
|
Frédéric Bournival
|
||||||
|
Timendum
|
||||||
|
gritstub
|
||||||
|
Adam Voss
|
||||||
|
Mike Fährmann
|
||||||
|
Jan Kundrát
|
||||||
|
Giuseppe Fabiano
|
||||||
|
Örn Guðjónsson
|
||||||
|
Parmjit Virk
|
||||||
|
Genki Sky
|
||||||
|
Ľuboš Katrinec
|
||||||
|
Corey Nicholson
|
||||||
|
Ashutosh Chaudhary
|
||||||
|
John Dong
|
||||||
|
Tatsuyuki Ishi
|
||||||
|
Daniel Weber
|
||||||
|
Kay Bouché
|
||||||
|
Yang Hongbo
|
||||||
|
Lei Wang
|
||||||
|
Petr Novák
|
||||||
|
Leonardo Taccari
|
||||||
|
Martin Weinelt
|
||||||
|
Surya Oktafendri
|
||||||
|
TingPing
|
||||||
|
Alexandre Macabies
|
||||||
|
Bastian de Groot
|
||||||
|
Niklas Haas
|
||||||
|
András Veres-Szentkirályi
|
||||||
|
Enes Solak
|
||||||
|
Nathan Rossi
|
||||||
|
Thomas van der Berg
|
||||||
|
Luca Cherubin
|
@ -1,65 +0,0 @@
|
|||||||
pukkandan (owner)
|
|
||||||
shirt-dev (collaborator)
|
|
||||||
colethedj (collaborator)
|
|
||||||
Ashish0804 (collaborator)
|
|
||||||
h-h-h-h
|
|
||||||
pauldubois98
|
|
||||||
nixxo
|
|
||||||
GreyAlien502
|
|
||||||
kyuyeunk
|
|
||||||
siikamiika
|
|
||||||
jbruchon
|
|
||||||
alexmerkel
|
|
||||||
glenn-slayden
|
|
||||||
Unrud
|
|
||||||
wporr
|
|
||||||
mariuszskon
|
|
||||||
ohnonot
|
|
||||||
samiksome
|
|
||||||
alxnull
|
|
||||||
FelixFrog
|
|
||||||
Zocker1999NET
|
|
||||||
nao20010128nao
|
|
||||||
kurumigi
|
|
||||||
bbepis
|
|
||||||
animelover1984
|
|
||||||
Pccode66
|
|
||||||
RobinD42
|
|
||||||
hseg
|
|
||||||
DennyDai
|
|
||||||
codeasashu
|
|
||||||
teesid
|
|
||||||
kevinoconnor7
|
|
||||||
damianoamatruda
|
|
||||||
2ShedsJackson
|
|
||||||
CXwudi
|
|
||||||
xtkoba
|
|
||||||
llacb47
|
|
||||||
hheimbuerger
|
|
||||||
B0pol
|
|
||||||
lkho
|
|
||||||
fstirlitz
|
|
||||||
Lamieur
|
|
||||||
tsukumijima
|
|
||||||
Hadi0609
|
|
||||||
b5eff52
|
|
||||||
craftingmod
|
|
||||||
tpikonen
|
|
||||||
tripulse
|
|
||||||
king-millez
|
|
||||||
alex-gedeon
|
|
||||||
hhirtz
|
|
||||||
louie-github
|
|
||||||
MinePlayersPE
|
|
||||||
olifre
|
|
||||||
rhsmachine/zenerdi0de
|
|
||||||
nihil-admirari
|
|
||||||
krichbanana
|
|
||||||
ohmybahgosh
|
|
||||||
nyuszika7h
|
|
||||||
blackjack4494
|
|
||||||
pyx
|
|
||||||
TpmKranz
|
|
||||||
mzbaulhaque
|
|
||||||
zackmark29
|
|
||||||
mbway
|
|
@ -1,852 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
<!--
|
|
||||||
# Instuctions for creating release
|
|
||||||
|
|
||||||
* Run `make doc`
|
|
||||||
* Update Changelog.md and CONTRIBUTORS
|
|
||||||
* Change "Merged with ytdl" version in Readme.md if needed
|
|
||||||
* Add new/fixed extractors in "new features" section of Readme.md
|
|
||||||
* Commit to master as `Release <version>`
|
|
||||||
* Push to origin/release using `git push origin master:release`
|
|
||||||
build task will now run
|
|
||||||
* Update version.py using `devscripts\update-version.py`
|
|
||||||
* Run `make issuetemplates`
|
|
||||||
* Commit to master as `[version] update :ci skip all`
|
|
||||||
* Push to origin/master
|
|
||||||
* Update changelog in /releases
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.07.24
|
|
||||||
|
|
||||||
* [youtube:tab] Extract video duration early
|
|
||||||
* [downloader] Pass `info_dict` to `progress_hook`s
|
|
||||||
* [youtube] Fix age-gated videos for API clients when cookies are supplied by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Disable `get_video_info` age-gate workaround - This endpoint seems to be completely dead
|
|
||||||
* [youtube] Try all clients even if age-gated
|
|
||||||
* [youtube] Fix subtitles only being extracted from the first client
|
|
||||||
* [youtube] Simplify `_get_text`
|
|
||||||
* [cookies] bugfix for microsoft edge on macOS
|
|
||||||
* [cookies] Handle `sqlite` `ImportError` gracefully by [mbway](https://github.com/mbway)
|
|
||||||
* [cookies] Handle errors when importing `keyring`
|
|
||||||
|
|
||||||
### 2021.07.21
|
|
||||||
|
|
||||||
* **Add option `--cookies-from-browser`** to load cookies from a browser by [mbway](https://github.com/mbway)
|
|
||||||
* Usage: `--cookies-from-browser BROWSER[:PROFILE_NAME_OR_PATH]`
|
|
||||||
* Also added `--no-cookies-from-browser`
|
|
||||||
* To decrypt chromium cookies, `keyring` is needed for UNIX and `pycryptodome` for Windows
|
|
||||||
* Add option `--exec-before-download`
|
|
||||||
* Add field `live_status`
|
|
||||||
* [FFmpegMetadata] Add language of each stream and some refactoring
|
|
||||||
* [douyin] Add extractor by [pukkandan](https://github.com/pukkandan), [pyx](https://github.com/pyx)
|
|
||||||
* [pornflip] Add extractor by [mzbaulhaque](https://github.com/mzbaulhaque)
|
|
||||||
* **[youtube] Extract data from multiple clients** by [pukkandan](https://github.com/pukkandan), [colethedj](https://github.com/colethedj)
|
|
||||||
* `player_client` now accepts multiple clients
|
|
||||||
* Default `player_client` = `android,web`
|
|
||||||
* This uses twice as many requests, but avoids throttling for most videos while also not losing any formats
|
|
||||||
* Music clients can be specifically requested and is enabled by default if `music.youtube.com`
|
|
||||||
* Added `player_client=ios` (Known issue: formats from ios are not sorted correctly)
|
|
||||||
* Add age-gate bypass for android and ios clients
|
|
||||||
* [youtube] Extract more thumbnails
|
|
||||||
* The thumbnail URLs are hard-coded and their actual existence is tested lazily
|
|
||||||
* Added option `--no-check-formats` to not test them
|
|
||||||
* [youtube] Misc fixes
|
|
||||||
* Improve extraction of livestream metadata by [pukkandan](https://github.com/pukkandan), [krichbanana](https://github.com/krichbanana)
|
|
||||||
* Hide live dash formats since they can't be downloaded anyway
|
|
||||||
* Fix authentication when using multiple accounts by [colethedj](https://github.com/colethedj)
|
|
||||||
* Fix controversial videos when requested via API by [colethedj](https://github.com/colethedj)
|
|
||||||
* Fix session index extraction and headers for non-web player clients by [colethedj](https://github.com/colethedj)
|
|
||||||
* Make `--extractor-retries` work for more errors
|
|
||||||
* Fix sorting of 3gp format
|
|
||||||
* Sanity check `chapters` (and refactor related code)
|
|
||||||
* Make `parse_time_text` and `_extract_chapters` non-fatal
|
|
||||||
* Misc cleanup and bug fixes by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube:tab] Fix channels tab
|
|
||||||
* [youtube:tab] Extract playlist availability by [colethedj](https://github.com/colethedj)
|
|
||||||
* **[youtube:comments] Move comment extraction to new API** by [colethedj](https://github.com/colethedj)
|
|
||||||
* Adds extractor-args `comment_sort` (`top`/`new`), `max_comments`, `max_comment_depth`
|
|
||||||
* [youtube:comments] Fix `is_favorited`, improve `like_count` parsing by [colethedj](https://github.com/colethedj)
|
|
||||||
* [BravoTV] Improve metadata extraction by [kevinoconnor7](https://github.com/kevinoconnor7)
|
|
||||||
* [crunchyroll:playlist] Force http
|
|
||||||
* [yahoo:gyao:player] Relax `_VALID_URL` by [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* [nebula] Authentication via tokens from cookie jar by [hheimbuerger](https://github.com/hheimbuerger), [TpmKranz](https://github.com/TpmKranz)
|
|
||||||
* [RTP] Fix extraction and add subtitles by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [viki] Rewrite extractors and add extractor-arg `video_types` to `vikichannel` by [zackmark29](https://github.com/zackmark29), [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [vlive] Extract thumbnail directly in addition to the one from Naver
|
|
||||||
* [generic] Extract previously missed subtitles by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [generic] Extract everything in the SMIL manifest and detect discarded subtitles by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [embedthumbnail] Fix `_get_thumbnail_resolution`
|
|
||||||
* [metadatafromfield] Do not detect numbers as field names
|
|
||||||
* Fix selectors `all`, `mergeall` and add tests
|
|
||||||
* Errors in playlist extraction should obey `--ignore-errors`
|
|
||||||
* Fix bug where `original_url` was not propagated when `_type`=`url`
|
|
||||||
* Revert "Merge webm formats into mkv if thumbnails are to be embedded (#173)"
|
|
||||||
* This was wrongly checking for `write_thumbnail`
|
|
||||||
* Improve `extractor_args` parsing
|
|
||||||
* Rename `NOTE` in `-F` to `MORE INFO` since it's often confused to be the same as `format_note`
|
|
||||||
* Add `only_once` param for `write_debug` and `report_warning`
|
|
||||||
* [extractor] Allow extracting multiple groups in `_search_regex` by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [utils] Improve `traverse_obj`
|
|
||||||
* [utils] Add `variadic`
|
|
||||||
* [utils] Improve `js_to_json` comment regex by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [webtt] Fix timestamps
|
|
||||||
* [compat] Remove unnecessary code
|
|
||||||
* [doc] fix default of multistreams
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.07.07
|
|
||||||
|
|
||||||
* Merge youtube-dl: Upto [commit/a803582](https://github.com/ytdl-org/youtube-dl/commit/a8035827177d6b59aca03bd717acb6a9bdd75ada)
|
|
||||||
* Add `--extractor-args` to pass some extractor-specific arguments. See [readme](https://github.com/yt-dlp/yt-dlp#extractor-arguments)
|
|
||||||
* Add extractor option `skip` for `youtube`. Eg: `--extractor-args youtube:skip=hls,dash`
|
|
||||||
* Deprecates `--youtube-skip-dash-manifest`, `--youtube-skip-hls-manifest`, `--youtube-include-dash-manifest`, `--youtube-include-hls-manifest`
|
|
||||||
* Allow `--list...` options to work with `--print`, `--quiet` and other `--list...` options
|
|
||||||
* [youtube] Use `player` API for additional video extraction requests by [colethedj](https://github.com/colethedj)
|
|
||||||
* **Fixes youtube premium music** (format 141) extraction
|
|
||||||
* Adds extractor option `player_client` = `web`/`android`
|
|
||||||
* **`--extractor-args youtube:player_client=android` works around the throttling** for the time-being
|
|
||||||
* Adds extractor option `player_skip=config`
|
|
||||||
* Adds age-gate fallback using embedded client
|
|
||||||
* [youtube] Choose correct Live chat API for upcoming streams by [krichbanana](https://github.com/krichbanana)
|
|
||||||
* [youtube] Fix subtitle names for age-gated videos
|
|
||||||
* [youtube:comments] Fix error handling and add `itct` to params by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube_live_chat] Fix download with cookies by [siikamiika](https://github.com/siikamiika)
|
|
||||||
* [youtube_live_chat] use `clickTrackingParams` by [siikamiika](https://github.com/siikamiika)
|
|
||||||
* [Funimation] Rewrite extractor
|
|
||||||
* Add `FunimationShowIE` by [Mevious](https://github.com/Mevious)
|
|
||||||
* **Treat the different versions of an episode as different formats of a single video**
|
|
||||||
* This changes the video `id` and will break break existing archives
|
|
||||||
* Compat option `seperate-video-versions` to fall back to old behavior including using the old video ids
|
|
||||||
* Support direct `/player/` URL
|
|
||||||
* Extractor options `language` and `version` to pre-select them during extraction
|
|
||||||
* These options may be removed in the future if we can extract all formats without additional network requests
|
|
||||||
* Do not rely on these for format selection and use `-f` filters instead
|
|
||||||
* [AdobePass] Add Spectrum MSO by [kevinoconnor7](https://github.com/kevinoconnor7), [ohmybahgosh](https://github.com/ohmybahgosh)
|
|
||||||
* [facebook] Extract description and fix title
|
|
||||||
* [fancode] Fix extraction, support live and allow login with refresh token by [zenerdi0de](https://github.com/zenerdi0de)
|
|
||||||
* [plutotv] Improve `_VALID_URL`
|
|
||||||
* [RCTIPlus] Add extractor by [MinePlayersPE](https://github.com/MinePlayersPE)
|
|
||||||
* [Soundcloud] Allow login using oauth token by [blackjack4494](https://github.com/blackjack4494)
|
|
||||||
* [TBS] Support livestreams by [llacb47](https://github.com/llacb47)
|
|
||||||
* [videa] Fix extraction by [nyuszika7h](https://github.com/nyuszika7h)
|
|
||||||
* [yahoo] Fix extraction by [llacb47](https://github.com/llacb47), [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Process videos when using `--ignore-no-formats-error` by [krichbanana](https://github.com/krichbanana)
|
|
||||||
* Fix `--throttled-rate` when using `--load-info-json`
|
|
||||||
* Fix `--flat-playlist` when entry has no `ie_key`
|
|
||||||
* Fix `check_formats` catching `ExtractorError` instead of `DownloadError`
|
|
||||||
* Fix deprecated option `--list-formats-old`
|
|
||||||
* [downloader/ffmpeg] Fix `--ppa` when using simultaneous download
|
|
||||||
* [extractor] Prevent unnecessary download of hls manifests and refactor `hls_split_discontinuity`
|
|
||||||
* [fragment] Handle status of download and errors in threads correctly; and minor refactoring
|
|
||||||
* [thumbnailsconvertor] Treat `jpeg` as `jpg`
|
|
||||||
* [utils] Fix issues with `LazyList` reversal
|
|
||||||
* [extractor] Allow extractors to set their own login hint
|
|
||||||
* [cleanup] Simplify format selector code with `LazyList` and `yield from`
|
|
||||||
* [cleanup] Clean `extractor.common._merge_subtitles` signature
|
|
||||||
* [cleanup] Fix some typos
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.06.23
|
|
||||||
|
|
||||||
* Merge youtube-dl: Upto [commit/379f52a](https://github.com/ytdl-org/youtube-dl/commit/379f52a4954013767219d25099cce9e0f9401961)
|
|
||||||
* **Add option `--throttled-rate`** below which video data is re-extracted
|
|
||||||
* [fragment] **Merge during download for `-N`**, and refactor `hls`/`dash`
|
|
||||||
* [websockets] Add `WebSocketFragmentFD` by [nao20010128nao](https://github.com/nao20010128nao), [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Allow `images` formats in addition to video/audio
|
|
||||||
* [downloader/mhtml] Add new downloader for slideshows/storyboards by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [youtube] Temporary **fix for age-gate**
|
|
||||||
* [youtube] Support ongoing live chat by [siikamiika](https://github.com/siikamiika)
|
|
||||||
* [youtube] Improve SAPISID cookie handling by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Login is not needed for `:ytrec`
|
|
||||||
* [youtube] Non-fatal alert reporting for unavailable videos page by [colethedj](https://github.com/colethedj)
|
|
||||||
* [twitcasting] Websocket support by [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* [mediasite] Extract slides by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [funimation] Extract subtitles
|
|
||||||
* [pornhub] Extract `cast`
|
|
||||||
* [hotstar] Use server time for authentication instead of local time
|
|
||||||
* [EmbedThumbnail] Fix for already downloaded thumbnail
|
|
||||||
* [EmbedThumbnail] Add compat-option `embed-thumbnail-atomicparsley`
|
|
||||||
* Expand `--check-formats` to thumbnails
|
|
||||||
* Fix id sanitization in filenames
|
|
||||||
* Skip fixup of existing files and add `--fixup force` to force it
|
|
||||||
* Better error handling of syntax errors in `-f`
|
|
||||||
* Use `NamedTemporaryFile` for `--check-formats`
|
|
||||||
* [aria2c] Lower `--min-split-size` for HTTP downloads
|
|
||||||
* [options] Rename `--add-metadata` to `--embed-metadata`
|
|
||||||
* [utils] Improve `LazyList` and add tests
|
|
||||||
* [build] Build Windows x86 version with py3.7 and remove redundant tests by [pukkandan](https://github.com/pukkandan), [shirt](https://github.com/shirt-dev)
|
|
||||||
* [docs] Clarify that `--embed-metadata` embeds chapter markers
|
|
||||||
* [cleanup] Refactor fixup
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.06.09
|
|
||||||
|
|
||||||
* Fix bug where `%(field)d` in filename template throws error
|
|
||||||
* Improve offset parsing in outtmpl
|
|
||||||
* [test] More rigorous tests for `prepare_filename`
|
|
||||||
|
|
||||||
### 2021.06.08
|
|
||||||
|
|
||||||
* Remove support for obsolete Python versions: Only 3.6+ is now supported
|
|
||||||
* Merge youtube-dl: Upto [commit/c2350ca](https://github.com/ytdl-org/youtube-dl/commit/c2350cac243ba1ec1586fe85b0d62d1b700047a2)
|
|
||||||
* [hls] Fix decryption for multithreaded downloader
|
|
||||||
* [extractor] Fix pre-checking archive for some extractors
|
|
||||||
* [extractor] Fix FourCC fallback when parsing ISM by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [twitcasting] Add TwitCastingUserIE, TwitCastingLiveIE by [pukkandan](https://github.com/pukkandan), [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* [vidio] Add VidioPremierIE and VidioLiveIE by [MinePlayersPE](Https://github.com/MinePlayersPE)
|
|
||||||
* [viki] Fix extraction from [ytdl-org/youtube-dl@59e583f](https://github.com/ytdl-org/youtube-dl/commit/59e583f7e8530ca92776c866897d895c072e2a82)
|
|
||||||
* [youtube] Support shorts URL
|
|
||||||
* [zoom] Extract transcripts as subtitles
|
|
||||||
* Add field `original_url` with the user-inputted URL
|
|
||||||
* Fix and refactor `prepare_outtmpl`
|
|
||||||
* Make more fields available for `--print` when used with `--flat-playlist`
|
|
||||||
* [utils] Generalize `traverse_dict` to `traverse_obj`
|
|
||||||
* [downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [build] Release `yt-dlp.tar.gz`
|
|
||||||
* [build,update] Add GNU-style SHA512 and prepare updater for simlar SHA256 by [nihil-admirari](https://github.com/nihil-admirari)
|
|
||||||
* [pyinst] Show Python version in exe metadata by [nihil-admirari](https://github.com/nihil-admirari)
|
|
||||||
* [docs] Improve documentation of dependencies
|
|
||||||
* [cleanup] Mark unused files
|
|
||||||
* [cleanup] Point all shebang to `python3` by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [cleanup] Remove duplicate file `trovolive.py`
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.06.01
|
|
||||||
|
|
||||||
* Merge youtube-dl: Upto [commit/d495292](https://github.com/ytdl-org/youtube-dl/commit/d495292852b6c2f1bd58bc2141ff2b0265c952cf)
|
|
||||||
* Pre-check archive and filters during playlist extraction
|
|
||||||
* Handle Basic Auth `user:pass` in URLs by [hhirtz](https://github.com/hhirtz) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [archiveorg] Add YoutubeWebArchiveIE by [colethedj](https://github.com/colethedj) and [alex-gedeon](https://github.com/alex-gedeon)
|
|
||||||
* [fancode] Add extractor by [rhsmachine](https://github.com/rhsmachine)
|
|
||||||
* [patreon] Support vimeo embeds by [rhsmachine](https://github.com/rhsmachine)
|
|
||||||
* [Saitosan] Add new extractor by [llacb47](https://github.com/llacb47)
|
|
||||||
* [ShemarooMe] Add extractor by [Ashish0804](https://github.com/Ashish0804) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [telemundo] Add extractor by [king-millez](https://github.com/king-millez)
|
|
||||||
* [SonyLIV] Add SonyLIVSeriesIE and subtitle support by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [Hotstar] Add HotStarSeriesIE by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [Voot] Add VootSeriesIE by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [vidio] Support login and premium videos by [MinePlayersPE](https://github.com/MinePlayersPE)
|
|
||||||
* [fragment] When using `-N`, do not keep the fragment content in memory
|
|
||||||
* [ffmpeg] Download and merge in a single step if possible
|
|
||||||
* [ThumbnailsConvertor] Support conversion to `png` and make it the default by [louie-github](https://github.com/louie-github)
|
|
||||||
* [VideoConvertor] Generalize with remuxer and allow conditional recoding
|
|
||||||
* [EmbedThumbnail] Embed in `mp4`/`m4a` using mutagen by [tripulse](https://github.com/tripulse) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [EmbedThumbnail] Embed if any thumbnail was downloaded, not just the best
|
|
||||||
* [EmbedThumbnail] Correctly escape filename
|
|
||||||
* [update] replace self without launching a subprocess in windows
|
|
||||||
* [update] Block further update for unsupported systems
|
|
||||||
* Refactor `__process_playlist` by creating `LazyList`
|
|
||||||
* Write messages to `stderr` when both `quiet` and `verbose`
|
|
||||||
* Sanitize and sort playlist thumbnails
|
|
||||||
* Remove `None` values from `info.json`
|
|
||||||
* [extractor] Always prefer native hls downloader by default
|
|
||||||
* [extractor] Skip subtitles without URI in m3u8 manifests by [hheimbuerger](https://github.com/hheimbuerger)
|
|
||||||
* [extractor] Functions to parse `socket.io` response as `json` by [pukkandan](https://github.com/pukkandan) and [llacb47](https://github.com/llacb47)
|
|
||||||
* [extractor] Allow `note=False` when extracting manifests
|
|
||||||
* [utils] Escape URLs in `sanitized_Request`, not `sanitize_url`
|
|
||||||
* [hls] Disable external downloader for `webtt`
|
|
||||||
* [youtube] `/live` URLs should raise error if channel is not live
|
|
||||||
* [youtube] Bug fixes
|
|
||||||
* [zee5] Fix m3u8 formats' extension
|
|
||||||
* [ard] Allow URLs without `-` before id by [olifre](https://github.com/olifre)
|
|
||||||
* [cleanup] `YoutubeDL._match_entry`
|
|
||||||
* [cleanup] Refactor updater
|
|
||||||
* [cleanup] Refactor ffmpeg convertors
|
|
||||||
* [cleanup] setup.py
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.05.20
|
|
||||||
|
|
||||||
* **Youtube improvements**:
|
|
||||||
* Support youtube music `MP`, `VL` and `browse` pages
|
|
||||||
* Extract more formats for youtube music by [craftingmod](https://github.com/craftingmod), [colethedj](https://github.com/colethedj) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Extract multiple subtitles in same language by [pukkandan](https://github.com/pukkandan) and [tpikonen](https://github.com/tpikonen)
|
|
||||||
* Redirect channels that doesn't have a `videos` tab to their `UU` playlists
|
|
||||||
* Support in-channel search
|
|
||||||
* Sort audio-only formats correctly
|
|
||||||
* Always extract `maxresdefault` thumbnail
|
|
||||||
* Extract audio language
|
|
||||||
* Add subtitle language names by [nixxo](https://github.com/nixxo) and [tpikonen](https://github.com/tpikonen)
|
|
||||||
* Show alerts only from the final webpage
|
|
||||||
* Add `html5=1` param to `get_video_info` page requests by [colethedj](https://github.com/colethedj)
|
|
||||||
* Better message when login required
|
|
||||||
* **Add option `--print`**: to print any field/template
|
|
||||||
* Deprecates: `--get-description`, `--get-duration`, `--get-filename`, `--get-format`, `--get-id`, `--get-thumbnail`, `--get-title`, `--get-url`
|
|
||||||
* Field `additional_urls` to download additional videos from metadata using [`--parse-metadata`](https://github.com/yt-dlp/yt-dlp#modifying-metadata)
|
|
||||||
* Merge youtube-dl: Upto [commit/dfbbe29](https://github.com/ytdl-org/youtube-dl/commit/dfbbe2902fc67f0f93ee47a8077c148055c67a9b)
|
|
||||||
* Write thumbnail of playlist and add `pl_thumbnail` outtmpl key
|
|
||||||
* [embedthumbnail] Add `flac` support and refactor `mutagen` code by [pukkandan](https://github.com/pukkandan) and [tripulse](https://github.com/tripulse)
|
|
||||||
* [audius:artist] Add extractor by [king-millez](https://github.com/king-millez)
|
|
||||||
* [parlview] Add extractor by [king-millez](https://github.com/king-millez)
|
|
||||||
* [tenplay] Fix extractor by [king-millez](https://github.com/king-millez)
|
|
||||||
* [rmcdecouverte] Generalize `_VALID_URL`
|
|
||||||
* Add compat-option `no-attach-infojson`
|
|
||||||
* Add field `name` for subtitles
|
|
||||||
* Ensure `post_extract` and `pre_process` only run once
|
|
||||||
* Fix `--check-formats` when there is network error
|
|
||||||
* Standardize `write_debug` and `get_param`
|
|
||||||
* [options] Alias `--write-comments`, `--no-write-comments`
|
|
||||||
* [options] Refactor callbacks
|
|
||||||
* [test:download] Only extract enough videos for `playlist_mincount`
|
|
||||||
* [extractor] bugfix for when `compat_opts` is not given
|
|
||||||
* [build] Fix x86 build by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [cleanup] code formatting, youtube tests and readme
|
|
||||||
|
|
||||||
### 2021.05.11
|
|
||||||
* **Deprecate support for python versions < 3.6**
|
|
||||||
* **Subtitle extraction from manifests** by [fstirlitz](https://github.com/fstirlitz). See [be6202f](https://github.com/yt-dlp/yt-dlp/commit/be6202f12b97858b9d716e608394b51065d0419f) for details
|
|
||||||
* **Improve output template:**
|
|
||||||
* Allow slicing lists/strings using `field.start:end:step`
|
|
||||||
* A field can also be used as offset like `field1+num+field2`
|
|
||||||
* A default value can be given using `field|default`
|
|
||||||
* Prevent invalid fields from causing errors
|
|
||||||
* **Merge youtube-dl**: Upto [commit/a726009](https://github.com/ytdl-org/youtube-dl/commit/a7260099873acc6dc7d76cafad2f6b139087afd0)
|
|
||||||
* **Remove options** `-l`, `-t`, `-A` completely and disable `--auto-number`, `--title`, `--literal`, `--id`
|
|
||||||
* [Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
|
|
||||||
* [downloader] Fix `quiet` and `to_stderr`
|
|
||||||
* [fragment] Ensure the file is closed on error
|
|
||||||
* [fragment] Make sure first segment is not skipped
|
|
||||||
* [aria2c] Fix whitespace being stripped off
|
|
||||||
* [embedthumbnail] Fix bug where jpeg thumbnails were converted again
|
|
||||||
* [FormatSort] Fix for when some formats have quality and others don't
|
|
||||||
* [utils] Add `network_exceptions`
|
|
||||||
* [utils] Escape URL while sanitizing
|
|
||||||
* [ukcolumn] Add Extractor
|
|
||||||
* [whowatch] Add extractor by [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* [CBS] Improve `_VALID_URL` to support movies
|
|
||||||
* [crackle] Improve extraction
|
|
||||||
* [curiositystream] Fix collections
|
|
||||||
* [francetvinfo] Improve video id extraction
|
|
||||||
* [generic] Respect the encoding in manifest
|
|
||||||
* [limelight] Obey `allow_unplayable_formats`
|
|
||||||
* [mediasite] Generalize URL pattern by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [mxplayer] Add MxplayerShowIE by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [nebula] Move to nebula.app by [Lamieur](https://github.com/Lamieur)
|
|
||||||
* [niconico] Fix HLS formats by [CXwudi](https://github.com/CXwudi), [tsukumijima](https://github.com/tsukumijima), [nao20010128nao](https://github.com/nao20010128nao) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [niconico] Fix title and thumbnail extraction by [CXwudi](https://github.com/CXwudi)
|
|
||||||
* [plutotv] Extract subtitles from manifests
|
|
||||||
* [plutotv] Fix format extraction for some urls
|
|
||||||
* [rmcdecouverte] Improve `_VALID_URL`
|
|
||||||
* [sonyliv] Fix `title` and `series` extraction by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [tubi] Raise "no video formats" error when video url is empty
|
|
||||||
* [youtube:tab] Detect playlists inside community posts
|
|
||||||
* [youtube] Add `oembed` to reserved names
|
|
||||||
* [zee5] Fix extraction for some URLs by [Hadi0609](https://github.com/Hadi0609)
|
|
||||||
* [zee5] Fix py2 compatibility
|
|
||||||
* Fix `playlist_index` and add `playlist_autonumber`. See [#302](https://github.com/yt-dlp/yt-dlp/issues/302) for details
|
|
||||||
* Add experimental option `--check-formats` to test the URLs before format selection
|
|
||||||
* Option `--compat-options` to revert [some of yt-dlp's changes](https://github.com/yt-dlp/yt-dlp#differences-in-default-behavior)
|
|
||||||
* Deprecates `--list-formats-as-table`, `--list-formats-old`
|
|
||||||
* Fix number of digits in `%(playlist_index)s`
|
|
||||||
* Fix case sensitivity of format selector
|
|
||||||
* Revert "[core] be able to hand over id and title using url_result"
|
|
||||||
* Do not strip out whitespaces in `-o` and `-P`
|
|
||||||
* Fix `preload_download_archive` writing verbose message to `stdout`
|
|
||||||
* Move option warnings to `YoutubeDL`so that they obey `--no-warnings` and can output colors
|
|
||||||
* Py2 compatibility for `FileNotFoundError`
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.04.22
|
|
||||||
* **Improve output template:**
|
|
||||||
* Objects can be traversed like `%(field.key1.key2)s`
|
|
||||||
* An offset can be added to numeric fields as `%(field+N)s`
|
|
||||||
* Deprecates `--autonumber-start`
|
|
||||||
* **Improve `--sub-langs`:**
|
|
||||||
* Treat `--sub-langs` entries as regex
|
|
||||||
* `all` can be used to refer to all the subtitles
|
|
||||||
* language codes can be prefixed with `-` to exclude it
|
|
||||||
* Deprecates `--all-subs`
|
|
||||||
* Add option `--ignore-no-formats-error` to ignore the "no video format" and similar errors
|
|
||||||
* Add option `--skip-playlist-after-errors` to skip the rest of a playlist after a given number of errors are encountered
|
|
||||||
* Merge youtube-dl: Upto [commit/7e8b3f9](https://github.com/ytdl-org/youtube-dl/commit/7e8b3f9439ebefb3a3a4e5da9c0bd2b595976438)
|
|
||||||
* [downloader] Fix bug in downloader selection
|
|
||||||
* [BilibiliChannel] Fix pagination by [nao20010128nao](https://github.com/nao20010128nao) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [rai] Add support for http formats by [nixxo](https://github.com/nixxo)
|
|
||||||
* [TubiTv] Add TubiTvShowIE by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [twitcasting] Fix extractor
|
|
||||||
* [viu:ott] Fix extractor and support series by [lkho](https://github.com/lkho) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [youtube:tab] Show unavailable videos in playlists by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube:tab] Reload with unavailable videos for all playlists
|
|
||||||
* [youtube] Ignore invalid stretch ratio
|
|
||||||
* [youtube] Improve channel syncid extraction to support ytcfg by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Standardize API calls for tabs, mixes and search by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Bugfix in `_extract_ytcfg`
|
|
||||||
* [mildom:user:vod] Download only necessary amount of pages
|
|
||||||
* [mildom] Remove proxy completely by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [go] Fix `_VALID_URL`
|
|
||||||
* [MetadataFromField] Improve regex and add tests
|
|
||||||
* [Exec] Ensure backward compatibility when the command contains `%`
|
|
||||||
* [extractor] Fix inconsistent use of `report_warning`
|
|
||||||
* Ensure `mergeall` selects best format when multistreams are disabled
|
|
||||||
* Improve the yt-dlp.sh script by [fstirlitz](https://github.com/fstirlitz)
|
|
||||||
* [lazy_extractor] Do not load plugins
|
|
||||||
* [ci] Disable fail-fast
|
|
||||||
* [documentation] Clarify which deprecated options still work
|
|
||||||
* [documentation] Fix typos
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.04.11
|
|
||||||
* Add option `--convert-thumbnails` (only jpg currently supported)
|
|
||||||
* Format selector `mergeall` to download and merge all formats
|
|
||||||
* Pass any field to `--exec` using similar syntax to output template
|
|
||||||
* Choose downloader for each protocol using `--downloader PROTO:NAME`
|
|
||||||
* Alias `--downloader` for `--external-downloader`
|
|
||||||
* Added `native` as an option for the downloader
|
|
||||||
* Merge youtube-dl: Upto [commit/4fb25ff](https://github.com/ytdl-org/youtube-dl/commit/4fb25ff5a3be5206bb72e5c4046715b1529fb2c7) (except vimeo)
|
|
||||||
* [DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [NFHSNetwork] Add extractor by [llacb47](https://github.com/llacb47)
|
|
||||||
* [nebula] Add extractor (watchnebula.com) by [hheimbuerger](https://github.com/hheimbuerger)
|
|
||||||
* [nitter] Fix extraction of reply tweets and update instance list by [B0pol](https://github.com/B0pol)
|
|
||||||
* [nitter] Fix thumbnails by [B0pol](https://github.com/B0pol)
|
|
||||||
* [youtube] Fix thumbnail URL
|
|
||||||
* [youtube] Parse API parameters from initial webpage by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Extract comments' approximate timestamp by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Fix alert extraction
|
|
||||||
* [bilibili] Fix uploader
|
|
||||||
* [utils] Add `datetime_from_str` and `datetime_add_months` by [colethedj](https://github.com/colethedj)
|
|
||||||
* Run some `postprocessors` before actual download
|
|
||||||
* Improve argument parsing for `-P`, `-o`, `-S`
|
|
||||||
* Fix some `m3u8` not obeying `--allow-unplayable-formats`
|
|
||||||
* Fix default of `dynamic_mpd`
|
|
||||||
* Deprecate `--all-formats`, `--include-ads`, `--hls-prefer-native`, `--hls-prefer-ffmpeg`
|
|
||||||
* [documentation] Improvements
|
|
||||||
|
|
||||||
### 2021.04.03
|
|
||||||
* Merge youtube-dl: Upto [commit/654b4f4](https://github.com/ytdl-org/youtube-dl/commit/654b4f4ff2718f38b3182c1188c5d569c14cc70a)
|
|
||||||
* Ability to set a specific field in the file's metadata using `--parse-metadata`
|
|
||||||
* Ability to select n'th best format like `-f bv*.2`
|
|
||||||
* [DiscoveryPlus] Add discoveryplus.in
|
|
||||||
* [la7] Add podcasts and podcast playlists by [nixxo](https://github.com/nixxo)
|
|
||||||
* [mildom] Update extractor with current proxy by [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* [ard:mediathek] Fix video id extraction
|
|
||||||
* [generic] Detect Invidious' link element
|
|
||||||
* [youtube] Show premium state in `availability` by [colethedj](https://github.com/colethedj)
|
|
||||||
* [viewsource] Add extractor to handle `view-source:`
|
|
||||||
* [sponskrub] Run before embedding thumbnail
|
|
||||||
* [documentation] Improve `--parse-metadata` documentation
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.03.24.1
|
|
||||||
* Revert [commit/8562218](https://github.com/ytdl-org/youtube-dl/commit/8562218350a79d4709da8593bb0c538aa0824acf)
|
|
||||||
|
|
||||||
### 2021.03.24
|
|
||||||
* Merge youtube-dl: Upto 2021.03.25 ([commit/8562218](https://github.com/ytdl-org/youtube-dl/commit/8562218350a79d4709da8593bb0c538aa0824acf))
|
|
||||||
* Parse metadata from multiple fields using `--parse-metadata`
|
|
||||||
* Ability to load playlist infojson using `--load-info-json`
|
|
||||||
* Write current epoch to infojson when using `--no-clean-infojson`
|
|
||||||
* [youtube_live_chat] fix bug when trying to set cookies
|
|
||||||
* [niconico] Fix for when logged in by [CXwudi](https://github.com/CXwudi) and [xtkoba](https://github.com/xtkoba)
|
|
||||||
* [linuxacadamy] Fix login
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.03.21
|
|
||||||
* Merge youtube-dl: Upto [commit/7e79ba7](https://github.com/ytdl-org/youtube-dl/commit/7e79ba7dd6e6649dd2ce3a74004b2044f2182881)
|
|
||||||
* Option `--no-clean-infojson` to keep private keys in the infojson
|
|
||||||
* [aria2c] Support retry/abort unavailable fragments by [damianoamatruda](https://github.com/damianoamatruda)
|
|
||||||
* [aria2c] Better default arguments
|
|
||||||
* [movefiles] Fix bugs and make more robust
|
|
||||||
* [formatSort] Fix `quality` being ignored
|
|
||||||
* [splitchapters] Fix for older ffmpeg
|
|
||||||
* [sponskrub] Pass proxy to sponskrub
|
|
||||||
* Make sure `post_hook` gets the final filename
|
|
||||||
* Recursively remove any private keys from infojson
|
|
||||||
* Embed video URL metadata inside `mp4` by [damianoamatruda](https://github.com/damianoamatruda) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Merge `webm` formats into `mkv` if thumbnails are to be embedded by [damianoamatruda](https://github.com/damianoamatruda)
|
|
||||||
* Use headers and cookies when downloading subtitles by [damianoamatruda](https://github.com/damianoamatruda)
|
|
||||||
* Parse resolution in info dictionary by [damianoamatruda](https://github.com/damianoamatruda)
|
|
||||||
* More consistent warning messages by [damianoamatruda](https://github.com/damianoamatruda) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [documentation] Add deprecated options and aliases in readme
|
|
||||||
* [documentation] Fix some minor mistakes
|
|
||||||
|
|
||||||
* [niconico] Partial fix adapted from [animelover1984/youtube-dl@b5eff52](https://github.com/animelover1984/youtube-dl/commit/b5eff52dd9ed5565672ea1694b38c9296db3fade) (login and smile formats still don't work)
|
|
||||||
* [niconico] Add user extractor by [animelover1984](https://github.com/animelover1984)
|
|
||||||
* [bilibili] Add anthology support by [animelover1984](https://github.com/animelover1984)
|
|
||||||
* [amcnetworks] Fix extractor by [2ShedsJackson](https://github.com/2ShedsJackson)
|
|
||||||
* [stitcher] Merge from youtube-dl by [nixxo](https://github.com/nixxo)
|
|
||||||
* [rcs] Improved extraction by [nixxo](https://github.com/nixxo)
|
|
||||||
* [linuxacadamy] Improve regex
|
|
||||||
* [youtube] Show if video is `private`, `unlisted` etc in info (`availability`) by [colethedj](https://github.com/colethedj) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [youtube] bugfix for channel playlist extraction
|
|
||||||
* [nbc] Improve metadata extraction by [2ShedsJackson](https://github.com/2ShedsJackson)
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.03.15
|
|
||||||
* **Split video by chapters**: using option `--split-chapters`
|
|
||||||
* The output file of the split files can be set with `-o`/`-P` using the prefix `chapter:`
|
|
||||||
* Additional keys `section_title`, `section_number`, `section_start`, `section_end` are available in the output template
|
|
||||||
* **Parallel fragment downloads** by [shirt](https://github.com/shirt-dev)
|
|
||||||
* Use option `--concurrent-fragments` (`-N`) to set the number of threads (default 1)
|
|
||||||
* Merge youtube-dl: Upto [commit/3be0980](https://github.com/ytdl-org/youtube-dl/commit/3be098010f667b14075e3dfad1e74e5e2becc8ea)
|
|
||||||
* [zee5] Add Show Extractor by [Ashish0804](https://github.com/Ashish0804) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [rai] fix drm check [nixxo](https://github.com/nixxo)
|
|
||||||
* [wimtv] Add extractor by [nixxo](https://github.com/nixxo)
|
|
||||||
* [mtv] Add mtv.it and extract series metadata by [nixxo](https://github.com/nixxo)
|
|
||||||
* [pluto.tv] Add extractor by [kevinoconnor7](https://github.com/kevinoconnor7)
|
|
||||||
* [youtube] Rewrite comment extraction by [colethedj](https://github.com/colethedj)
|
|
||||||
* [embedthumbnail] Set mtime correctly
|
|
||||||
* Refactor some postprocessor/downloader code by [pukkandan](https://github.com/pukkandan) and [shirt](https://github.com/shirt-dev)
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.03.07
|
|
||||||
* [youtube] Fix history, mixes, community pages and trending by [pukkandan](https://github.com/pukkandan) and [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Fix private feeds/playlists on multi-channel accounts by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Extract alerts from continuation by [colethedj](https://github.com/colethedj)
|
|
||||||
* [cbs] Add support for ParamountPlus by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [mxplayer] Rewrite extractor with show support by [pukkandan](https://github.com/pukkandan) and [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* [gedi] Improvements from youtube-dl by [nixxo](https://github.com/nixxo)
|
|
||||||
* [vimeo] Fix videos with password by [teesid](https://github.com/teesid)
|
|
||||||
* [lbry] Support `lbry://` url by [nixxo](https://github.com/nixxo)
|
|
||||||
* [bilibili] Change `Accept` header by [pukkandan](https://github.com/pukkandan) and [animelover1984](https://github.com/animelover1984)
|
|
||||||
* [trovo] Pass origin header
|
|
||||||
* [rai] Check for DRM by [nixxo](https://github.com/nixxo)
|
|
||||||
* [downloader] Fix bug for `ffmpeg`/`httpie`
|
|
||||||
* [update] Fix updater removing the executable bit on some UNIX distros
|
|
||||||
* [update] Fix current build hash for UNIX
|
|
||||||
* [documentation] Include wget/curl/aria2c install instructions for Unix by [Ashish0804](https://github.com/Ashish0804)
|
|
||||||
* Fix some videos downloading with `m3u8` extension
|
|
||||||
* Remove "fixup is ignored" warning when fixup wasn't passed by user
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.03.03.2
|
|
||||||
* [build] Fix bug
|
|
||||||
|
|
||||||
### 2021.03.03
|
|
||||||
* [youtube] Use new browse API for continuation page extraction by [colethedj](https://github.com/colethedj) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Fix HLS playlist downloading by [shirt](https://github.com/shirt-dev)
|
|
||||||
* Merge youtube-dl: Upto [2021.03.03](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.03.03)
|
|
||||||
* [mtv] Fix extractor
|
|
||||||
* [nick] Fix extractor by [DennyDai](https://github.com/DennyDai)
|
|
||||||
* [mxplayer] Add new extractor by [codeasashu](https://github.com/codeasashu)
|
|
||||||
* [youtube] Throw error when `--extractor-retries` are exhausted
|
|
||||||
* Reduce default of `--extractor-retries` to 3
|
|
||||||
* Fix packaging bugs by [hseg](https://github.com/hseg)
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.03.01
|
|
||||||
* Allow specifying path in `--external-downloader`
|
|
||||||
* Add option `--sleep-requests` to sleep b/w requests
|
|
||||||
* Add option `--extractor-retries` to retry on known extractor errors
|
|
||||||
* Extract comments only when needed
|
|
||||||
* `--get-comments` doesn't imply `--write-info-json` if `-J`, `-j` or `--print-json` are used
|
|
||||||
* Fix `get_executable_path` by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [youtube] Retry on more known errors than just HTTP-5xx
|
|
||||||
* [youtube] Fix inconsistent `webpage_url`
|
|
||||||
* [tennistv] Fix format sorting
|
|
||||||
* [bilibiliaudio] Recognize the file as audio-only
|
|
||||||
* [hrfensehen] Fix wrong import
|
|
||||||
* [viki] Fix viki play pass authentication by [RobinD42](https://github.com/RobinD42)
|
|
||||||
* [readthedocs] Improvements by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [hls] Fix bug with m3u8 format extraction
|
|
||||||
* [hls] Enable `--hls-use-mpegts` by default when downloading live-streams
|
|
||||||
* [embedthumbnail] Fix bug with deleting original thumbnail
|
|
||||||
* [build] Fix completion paths, zsh pip completion install by [hseg](https://github.com/hseg)
|
|
||||||
* [ci] Disable download tests unless specifically invoked
|
|
||||||
* Cleanup some code and fix typos
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.02.24
|
|
||||||
* Moved project to an organization [yt-dlp](https://github.com/yt-dlp)
|
|
||||||
* **Completely changed project name to yt-dlp** by [Pccode66](https://github.com/Pccode66) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Also, `youtube-dlc` config files are no longer loaded
|
|
||||||
* Merge youtube-dl: Upto [commit/4460329](https://github.com/ytdl-org/youtube-dl/commit/44603290e5002153f3ebad6230cc73aef42cc2cd) (except tmz, gedi)
|
|
||||||
* [Readthedocs](https://yt-dlp.readthedocs.io) support by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [youtube] Show if video was a live stream in info (`was_live`)
|
|
||||||
* [Zee5] Add new extractor by [Ashish0804](https://github.com/Ashish0804) and [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [jwplatform] Add support for `hyland.com`
|
|
||||||
* [tennistv] Fix extractor
|
|
||||||
* [hls] Support media initialization by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [hls] Added options `--hls-split-discontinuity` to better support media discontinuity by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [ffmpeg] Allow passing custom arguments before -i using `--ppa "ffmpeg_i1:ARGS"` syntax
|
|
||||||
* Fix `--windows-filenames` removing `/` from UNIX paths
|
|
||||||
* [hls] Show warning if pycryptodome is not found
|
|
||||||
* [documentation] Improvements
|
|
||||||
* Fix documentation of `Extractor Options`
|
|
||||||
* Document `all` in format selection
|
|
||||||
* Document `playable_in_embed` in output templates
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.02.19
|
|
||||||
* Merge youtube-dl: Upto [commit/cf2dbec](https://github.com/ytdl-org/youtube-dl/commit/cf2dbec6301177a1fddf72862de05fa912d9869d) (except kakao)
|
|
||||||
* [viki] Fix extractor
|
|
||||||
* [niconico] Extract `channel` and `channel_id` by [kurumigi](https://github.com/kurumigi)
|
|
||||||
* [youtube] Multiple page support for hashtag URLs
|
|
||||||
* [youtube] Add more invidious instances
|
|
||||||
* [youtube] Fix comment extraction when comment text is empty
|
|
||||||
* Option `--windows-filenames` to force use of windows compatible filenames
|
|
||||||
* [ExtractAudio] Bugfix
|
|
||||||
* Don't raise `parser.error` when exiting for update
|
|
||||||
* [MoveFiles] Fix for when merger can't run
|
|
||||||
* Changed `--trim-file-name` to `--trim-filenames` to be similar to related options
|
|
||||||
* Format Sort improvements:
|
|
||||||
* Prefer `vp9.2` more than other `vp9` codecs
|
|
||||||
* Remove forced priority of `quality`
|
|
||||||
* Remove unnecessary `field_preference` and misuse of `preference` from extractors
|
|
||||||
* Build improvements:
|
|
||||||
* Fix hash output by [shirt](https://github.com/shirt-dev)
|
|
||||||
* Lock python package versions for x86 and use `wheels` by [shirt](https://github.com/shirt-dev)
|
|
||||||
* Exclude `vcruntime140.dll` from UPX by [jbruchon](https://github.com/jbruchon)
|
|
||||||
* Set version number based on UTC time, not local time
|
|
||||||
* Publish on PyPi only if token is set
|
|
||||||
* [documentation] Better document `--prefer-free-formats` and add `--no-prefer-free-format`
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.02.15
|
|
||||||
* Merge youtube-dl: Upto [2021.02.10](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.02.10) (except archive.org)
|
|
||||||
* [niconico] Improved extraction and support encrypted/SMILE movies by [kurumigi](https://github.com/kurumigi), [tsukumijima](https://github.com/tsukumijima), [bbepis](https://github.com/bbepis), [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Fix HLS AES-128 with multiple keys in external downloaders by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [youtube_live_chat] Fix by using POST API by [siikamiika](https://github.com/siikamiika)
|
|
||||||
* [rumble] Add support for video page
|
|
||||||
* Option `--allow-unplayable-formats` to allow downloading unplayable video formats
|
|
||||||
* [ExtractAudio] Don't re-encode when file is already in a common audio format
|
|
||||||
* [youtube] Fix search continuations
|
|
||||||
* [youtube] Fix for new accounts
|
|
||||||
* Improve build/updater: by [pukkandan](https://github.com/pukkandan) and [shirt](https://github.com/shirt-dev)
|
|
||||||
* Fix SHA256 calculation in build and implement hash checking for updater
|
|
||||||
* Exit immediately in windows once the update process starts
|
|
||||||
* Fix updater for `x86.exe`
|
|
||||||
* Updater looks for both `yt-dlp` and `youtube-dlc` in releases for future-proofing
|
|
||||||
* Change optional dependency to `pycryptodome`
|
|
||||||
* Fix issue with unicode filenames in aria2c by [shirt](https://github.com/shirt-dev)
|
|
||||||
* Fix `allow_playlist_files` not being correctly passed through
|
|
||||||
* Fix for empty HTTP head requests by [shirt](https://github.com/shirt-dev)
|
|
||||||
* Fix `get_executable_path` in UNIX
|
|
||||||
* [sponskrub] Print ffmpeg output and errors to terminal
|
|
||||||
* `__real_download` should be false when ffmpeg unavailable and no download
|
|
||||||
* Show `exe`/`zip`/`source` and 32/64bit in verbose message
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.02.09
|
|
||||||
* **aria2c support for DASH/HLS**: by [shirt](https://github.com/shirt-dev)
|
|
||||||
* **Implement Updater** (`-U`) by [shirt](https://github.com/shirt-dev)
|
|
||||||
* [youtube] Fix comment extraction
|
|
||||||
* [youtube_live_chat] Improve extraction
|
|
||||||
* [youtube] Fix for channel URLs sometimes not downloading all pages
|
|
||||||
* [aria2c] Changed default arguments to `--console-log-level=warn --summary-interval=0 --file-allocation=none -x16 -j16 -s16`
|
|
||||||
* Add fallback for thumbnails
|
|
||||||
* [embedthumbnail] Keep original thumbnail after conversion if write_thumbnail given
|
|
||||||
* [embedsubtitle] Keep original subtitle after conversion if write_subtitles given
|
|
||||||
* [pyinst.py] Move back to root dir
|
|
||||||
* [youtube] Simplified renderer parsing and bugfixes
|
|
||||||
* [movefiles] Fix compatibility with python2
|
|
||||||
* [remuxvideo] Fix validation of conditional remux
|
|
||||||
* [sponskrub] Don't raise error when the video does not exist
|
|
||||||
* [documentation] Crypto is an optional dependency
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.02.04
|
|
||||||
* Merge youtube-dl: Upto [2021.02.04.1](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.02.04.1)
|
|
||||||
* **Date/time formatting in output template:**
|
|
||||||
* You can use [`strftime`](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes) to format date/time fields. Example: `%(upload_date>%Y-%m-%d)s`
|
|
||||||
* **Multiple output templates:**
|
|
||||||
* Separate output templates can be given for the different metadata files by using `-o TYPE:TEMPLATE`
|
|
||||||
* The allowed types are: `subtitle|thumbnail|description|annotation|infojson|pl_description|pl_infojson`
|
|
||||||
* [youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
|
|
||||||
* New option `--no-write-playlist-metafiles` to prevent writing playlist metadata files
|
|
||||||
* [audius] Fix extractor
|
|
||||||
* [youtube_live_chat] Fix `parse_yt_initial_data` and add `fragment_retries`
|
|
||||||
* [postprocessor] Raise errors correctly
|
|
||||||
* [metadatafromtitle] Fix bug when extracting data from numeric fields
|
|
||||||
* Fix issue with overwriting files
|
|
||||||
* Fix "Default format spec" appearing in quiet mode
|
|
||||||
* [FormatSort] Allow user to prefer av01 over vp9 (The default is still vp9)
|
|
||||||
* [FormatSort] fix bug where `quality` had more priority than `hasvid`
|
|
||||||
* [pyinst] Automatically detect python architecture and working directory
|
|
||||||
* Strip out internal fields such as `_filename` from infojson
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.29
|
|
||||||
* **Features from [animelover1984/youtube-dl](https://github.com/animelover1984/youtube-dl)**: by [animelover1984](https://github.com/animelover1984) and [bbepis](https://github.com/bbepis)
|
|
||||||
* Add `--get-comments`
|
|
||||||
* [youtube] Extract comments
|
|
||||||
* [billibilli] Added BiliBiliSearchIE, BilibiliChannelIE
|
|
||||||
* [billibilli] Extract comments
|
|
||||||
* [billibilli] Better video extraction
|
|
||||||
* Write playlist data to infojson
|
|
||||||
* [FFmpegMetadata] Embed infojson inside the video
|
|
||||||
* [EmbedThumbnail] Try embedding in mp4 using ffprobe and `-disposition`
|
|
||||||
* [EmbedThumbnail] Treat mka like mkv and mov like mp4
|
|
||||||
* [EmbedThumbnail] Embed in ogg/opus
|
|
||||||
* [VideoRemuxer] Conditionally remux video
|
|
||||||
* [VideoRemuxer] Add `-movflags +faststart` when remuxing to mp4
|
|
||||||
* [ffmpeg] Print entire stderr in verbose when there is error
|
|
||||||
* [EmbedSubtitle] Warn when embedding ass in mp4
|
|
||||||
* [anvato] Use NFLTokenGenerator if possible
|
|
||||||
* **Parse additional metadata**: New option `--parse-metadata` to extract additional metadata from existing fields
|
|
||||||
* The extracted fields can be used in `--output`
|
|
||||||
* Deprecated `--metadata-from-title`
|
|
||||||
* [Audius] Add extractor
|
|
||||||
* [youtube] Extract playlist description and write it to `.description` file
|
|
||||||
* Detect existing files even when using `recode`/`remux` (`extract-audio` is partially fixed)
|
|
||||||
* Fix wrong user config from v2021.01.24
|
|
||||||
* [youtube] Report error message from youtube as error instead of warning
|
|
||||||
* [FormatSort] Fix some fields not sorting from v2021.01.24
|
|
||||||
* [postprocessor] Deprecate `avconv`/`avprobe`. All current functionality is left untouched. But don't expect any new features to work with avconv
|
|
||||||
* [postprocessor] fix `write_debug` to not throw error when there is no `_downloader`
|
|
||||||
* [movefiles] Don't give "cant find" warning when move is unnecessary
|
|
||||||
* Refactor `update-version`, `pyinst.py` and related files
|
|
||||||
* [ffmpeg] Document more formats that are supported for remux/recode
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.24
|
|
||||||
* Merge youtube-dl: Upto [2021.01.24](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.01.16)
|
|
||||||
* Plugin support ([documentation](https://github.com/yt-dlp/yt-dlp#plugins))
|
|
||||||
* **Multiple paths**: New option `-P`/`--paths` to give different paths for different types of files
|
|
||||||
* The syntax is `-P "type:path" -P "type:path"` ([documentation](https://github.com/yt-dlp/yt-dlp#:~:text=-P,%20--paths%20TYPE:PATH))
|
|
||||||
* Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
|
|
||||||
* Additionally, configuration file is taken from home directory or current directory ([documentation](https://github.com/yt-dlp/yt-dlp#:~:text=Home%20Configuration))
|
|
||||||
* Allow passing different arguments to different external downloaders ([documentation](https://github.com/yt-dlp/yt-dlp#:~:text=--downloader-args%20NAME:ARGS))
|
|
||||||
* [mildom] Add extractor by [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* Warn when using old style `--external-downloader-args` and `--post-processor-args`
|
|
||||||
* Fix `--no-overwrite` when using `--write-link`
|
|
||||||
* [sponskrub] Output `unrecognized argument` error message correctly
|
|
||||||
* [cbs] Make failure to extract title non-fatal
|
|
||||||
* Fix typecasting when pre-checking archive
|
|
||||||
* Fix issue with setting title on UNIX
|
|
||||||
* Deprecate redundant aliases in `formatSort`. The aliases remain functional for backward compatibility, but will be left undocumented
|
|
||||||
* [tests] Fix test_post_hooks
|
|
||||||
* [tests] Split core and download tests
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.20
|
|
||||||
* [TrovoLive] Add extractor (only VODs)
|
|
||||||
* [pokemon] Add `/#/player` URLs
|
|
||||||
* Improved parsing of multiple postprocessor-args, add `--ppa` as alias
|
|
||||||
* [EmbedThumbnail] Simplify embedding in mkv
|
|
||||||
* [sponskrub] Encode filenames correctly, better debug output and error message
|
|
||||||
* [readme] Cleanup options
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.16
|
|
||||||
* Merge youtube-dl: Upto [2021.01.16](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.01.16)
|
|
||||||
* **Configuration files:**
|
|
||||||
* Portable configuration file: `./yt-dlp.conf`
|
|
||||||
* Allow the configuration files to be named `yt-dlp` instead of `youtube-dlc`. See [this](https://github.com/yt-dlp/yt-dlp#configuration) for details
|
|
||||||
* Add PyPI release
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.14
|
|
||||||
* Added option `--break-on-reject`
|
|
||||||
* [roosterteeth.com] Fix for bonus episodes by [Zocker1999NET](https://github.com/Zocker1999NET)
|
|
||||||
* [tiktok] Fix for when share_info is empty
|
|
||||||
* [EmbedThumbnail] Fix bug due to incorrect function name
|
|
||||||
* [documentation] Changed sponskrub links to point to [yt-dlp/SponSkrub](https://github.com/yt-dlp/SponSkrub) since I am now providing both linux and windows releases
|
|
||||||
* [documentation] Change all links to correctly point to new fork URL
|
|
||||||
* [documentation] Fixes typos
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.12
|
|
||||||
* [roosterteeth.com] Add subtitle support by [samiksome](https://github.com/samiksome)
|
|
||||||
* Added `--force-overwrites`, `--no-force-overwrites` by [alxnull](https://github.com/alxnull)
|
|
||||||
* Changed fork name to `yt-dlp`
|
|
||||||
* Fix typos by [FelixFrog](https://github.com/FelixFrog)
|
|
||||||
* [ci] Option to skip
|
|
||||||
* [changelog] Added unreleased changes in blackjack4494/yt-dlc
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.10
|
|
||||||
* [archive.org] Fix extractor and add support for audio and playlists by [wporr](https://github.com/wporr)
|
|
||||||
* [Animelab] Added by [mariuszskon](https://github.com/mariuszskon)
|
|
||||||
* [youtube:search] Fix view_count by [ohnonot](https://github.com/ohnonot)
|
|
||||||
* [youtube] Show if video is embeddable in info (`playable_in_embed`)
|
|
||||||
* Update version badge automatically in README
|
|
||||||
* Enable `test_youtube_search_matching`
|
|
||||||
* Create `to_screen` and similar functions in postprocessor/common
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.09
|
|
||||||
* [youtube] Fix bug in automatic caption extraction
|
|
||||||
* Add `post_hooks` to YoutubeDL by [alexmerkel](https://github.com/alexmerkel)
|
|
||||||
* Batch file enumeration improvements by [glenn-slayden](https://github.com/glenn-slayden)
|
|
||||||
* Stop immediately when reaching `--max-downloads` by [glenn-slayden](https://github.com/glenn-slayden)
|
|
||||||
* Fix incorrect ANSI sequence for restoring console-window title by [glenn-slayden](https://github.com/glenn-slayden)
|
|
||||||
* Kill child processes when yt-dlc is killed by [Unrud](https://github.com/Unrud)
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.08
|
|
||||||
* Merge youtube-dl: Upto [2021.01.08](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.01.08) except stitcher ([1](https://github.com/ytdl-org/youtube-dl/commit/bb38a1215718cdf36d73ff0a7830a64cd9fa37cc), [2](https://github.com/ytdl-org/youtube-dl/commit/a563c97c5cddf55f8989ed7ea8314ef78e30107f))
|
|
||||||
* Moved changelog to separate file
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.07-1
|
|
||||||
* [Akamai] fix by [nixxo](https://github.com/nixxo)
|
|
||||||
* [Tiktok] merge youtube-dl tiktok extractor by [GreyAlien502](https://github.com/GreyAlien502)
|
|
||||||
* [vlive] add support for playlists by [kyuyeunk](https://github.com/kyuyeunk)
|
|
||||||
* [youtube_live_chat] make sure playerOffsetMs is positive by [siikamiika](https://github.com/siikamiika)
|
|
||||||
* Ignore extra data streams in ffmpeg by [jbruchon](https://github.com/jbruchon)
|
|
||||||
* Allow passing different arguments to different postprocessors using `--postprocessor-args`
|
|
||||||
* Deprecated `--sponskrub-args`. The same can now be done using `--postprocessor-args "sponskrub:<args>"`
|
|
||||||
* [CI] Split tests into core-test and full-test
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.07
|
|
||||||
* Removed priority of `av01` codec in `-S` since most devices don't support it yet
|
|
||||||
* Added `duration_string` to be used in `--output`
|
|
||||||
* Created First Release
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.05-1
|
|
||||||
* **Changed defaults:**
|
|
||||||
* Enabled `--ignore`
|
|
||||||
* Disabled `--video-multistreams` and `--audio-multistreams`
|
|
||||||
* Changed default format selection to `bv*+ba/b` when `--audio-multistreams` is disabled
|
|
||||||
* Changed default format sort order to `res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id`
|
|
||||||
* Changed `webm` to be more preferable than `flv` in format sorting
|
|
||||||
* Changed default output template to `%(title)s [%(id)s].%(ext)s`
|
|
||||||
* Enabled `--list-formats-as-table`
|
|
||||||
|
|
||||||
|
|
||||||
### 2021.01.05
|
|
||||||
* **Format Sort:** Added `--format-sort` (`-S`), `--format-sort-force` (`--S-force`) - See [Sorting Formats](README.md#sorting-formats) for details
|
|
||||||
* **Format Selection:** See [Format Selection](README.md#format-selection) for details
|
|
||||||
* New format selectors: `best*`, `worst*`, `bestvideo*`, `bestaudio*`, `worstvideo*`, `worstaudio*`
|
|
||||||
* Changed video format sorting to show video only files and video+audio files together.
|
|
||||||
* Added `--video-multistreams`, `--no-video-multistreams`, `--audio-multistreams`, `--no-audio-multistreams`
|
|
||||||
* Added `b`,`w`,`v`,`a` as alias for `best`, `worst`, `video` and `audio` respectively
|
|
||||||
* Shortcut Options: Added `--write-link`, `--write-url-link`, `--write-webloc-link`, `--write-desktop-link` by [h-h-h-h](https://github.com/h-h-h-h) - See [Internet Shortcut Options](README.md#internet-shortcut-options) for details
|
|
||||||
* **Sponskrub integration:** Added `--sponskrub`, `--sponskrub-cut`, `--sponskrub-force`, `--sponskrub-location`, `--sponskrub-args` - See [SponSkrub Options](README.md#sponskrub-sponsorblock-options) for details
|
|
||||||
* Added `--force-download-archive` (`--force-write-archive`) by [h-h-h-h](https://github.com/h-h-h-h)
|
|
||||||
* Added `--list-formats-as-table`, `--list-formats-old`
|
|
||||||
* **Negative Options:** Makes it possible to negate most boolean options by adding a `no-` to the switch. Usefull when you want to reverse an option that is defined in a config file
|
|
||||||
* Added `--no-ignore-dynamic-mpd`, `--no-allow-dynamic-mpd`, `--allow-dynamic-mpd`, `--youtube-include-hls-manifest`, `--no-youtube-include-hls-manifest`, `--no-youtube-skip-hls-manifest`, `--no-download`, `--no-download-archive`, `--resize-buffer`, `--part`, `--mtime`, `--no-keep-fragments`, `--no-cookies`, `--no-write-annotations`, `--no-write-info-json`, `--no-write-description`, `--no-write-thumbnail`, `--youtube-include-dash-manifest`, `--post-overwrites`, `--no-keep-video`, `--no-embed-subs`, `--no-embed-thumbnail`, `--no-add-metadata`, `--no-include-ads`, `--no-write-sub`, `--no-write-auto-sub`, `--no-playlist-reverse`, `--no-restrict-filenames`, `--youtube-include-dash-manifest`, `--no-format-sort-force`, `--flat-videos`, `--no-list-formats-as-table`, `--no-sponskrub`, `--no-sponskrub-cut`, `--no-sponskrub-force`
|
|
||||||
* Renamed: `--write-subs`, `--no-write-subs`, `--no-write-auto-subs`, `--write-auto-subs`. Note that these can still be used without the ending "s"
|
|
||||||
* Relaxed validation for format filters so that any arbitrary field can be used
|
|
||||||
* Fix for embedding thumbnail in mp3 by [pauldubois98](https://github.com/pauldubois98) ([ytdl-org/youtube-dl#21569](https://github.com/ytdl-org/youtube-dl/pull/21569))
|
|
||||||
* Make Twitch Video ID output from Playlist and VOD extractor same. This is only a temporary fix
|
|
||||||
* Merge youtube-dl: Upto [2021.01.03](https://github.com/ytdl-org/youtube-dl/commit/8e953dcbb10a1a42f4e12e4e132657cb0100a1f8) - See [blackjack4494/yt-dlc#280](https://github.com/blackjack4494/yt-dlc/pull/280) for details
|
|
||||||
* Extractors [tiktok](https://github.com/ytdl-org/youtube-dl/commit/fb626c05867deab04425bad0c0b16b55473841a2) and [hotstar](https://github.com/ytdl-org/youtube-dl/commit/bb38a1215718cdf36d73ff0a7830a64cd9fa37cc) have not been merged
|
|
||||||
* Cleaned up the fork for public use
|
|
||||||
|
|
||||||
|
|
||||||
**PS**: All uncredited changes above this point are authored by [pukkandan](https://github.com/pukkandan)
|
|
||||||
|
|
||||||
### Unreleased changes in [blackjack4494/yt-dlc](https://github.com/blackjack4494/yt-dlc)
|
|
||||||
* Updated to youtube-dl release 2020.11.26 by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Youtube improvements by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
|
|
||||||
* Fix some improper Youtube URLs
|
|
||||||
* Redirect channel home to /video
|
|
||||||
* Print youtube's warning message
|
|
||||||
* Handle Multiple pages for feeds better
|
|
||||||
* [youtube] Fix ytsearch not returning results sometimes due to promoted content by [colethedj](https://github.com/colethedj)
|
|
||||||
* [youtube] Temporary fix for automatic captions - disable json3 by [blackjack4494](https://github.com/blackjack4494)
|
|
||||||
* Add --break-on-existing by [gergesh](https://github.com/gergesh)
|
|
||||||
* Pre-check video IDs in the archive before downloading by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [bitwave.tv] New extractor by [lorpus](https://github.com/lorpus)
|
|
||||||
* [Gedi] Add extractor by [nixxo](https://github.com/nixxo)
|
|
||||||
* [Rcs] Add new extractor by [nixxo](https://github.com/nixxo)
|
|
||||||
* [skyit] New skyitalia extractor by [nixxo](https://github.com/nixxo)
|
|
||||||
* [france.tv] Fix thumbnail URL by [renalid](https://github.com/renalid)
|
|
||||||
* [ina] support mobile links by [B0pol](https://github.com/B0pol)
|
|
||||||
* [instagram] Fix thumbnail extractor by [nao20010128nao](https://github.com/nao20010128nao)
|
|
||||||
* [SouthparkDe] Support for English URLs by [xypwn](https://github.com/xypwn)
|
|
||||||
* [spreaker] fix SpreakerShowIE test URL by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [Vlive] Fix playlist handling when downloading a channel by [kyuyeunk](https://github.com/kyuyeunk)
|
|
||||||
* [tmz] Fix extractor by [diegorodriguezv](https://github.com/diegorodriguezv)
|
|
||||||
* [generic] Detect embedded bitchute videos by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [generic] Extract embedded youtube and twitter videos by [diegorodriguezv](https://github.com/diegorodriguezv)
|
|
||||||
* [ffmpeg] Ensure all streams are copied by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* [embedthumbnail] Fix for os.rename error by [pukkandan](https://github.com/pukkandan)
|
|
||||||
* make_win.bat: don't use UPX to pack vcruntime140.dll by [jbruchon](https://github.com/jbruchon)
|
|
@ -1,9 +1,9 @@
|
|||||||
include AUTHORS
|
|
||||||
include Changelog.md
|
|
||||||
include LICENSE
|
|
||||||
include README.md
|
include README.md
|
||||||
include completions/*/*
|
include LICENSE
|
||||||
include supportedsites.md
|
include AUTHORS
|
||||||
include yt-dlp.1
|
include ChangeLog
|
||||||
recursive-include devscripts *
|
include youtube-dlc.bash-completion
|
||||||
|
include youtube-dlc.fish
|
||||||
|
include youtube-dlc.1
|
||||||
|
recursive-include docs Makefile conf.py *.rst
|
||||||
recursive-include test *
|
recursive-include test *
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python
|
||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
from __future__ import with_statement, unicode_literals
|
from __future__ import with_statement, unicode_literals
|
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
wget http://central.maven.org/maven2/org/python/jython-installer/2.7.1/jython-installer-2.7.1.jar
|
||||||
|
java -jar jython-installer-2.7.1.jar -s -d "$HOME/jython"
|
||||||
|
$HOME/jython/bin/jython -m pip install nose
|
@ -1,16 +0,0 @@
|
|||||||
@setlocal
|
|
||||||
@echo off
|
|
||||||
cd /d %~dp0..
|
|
||||||
|
|
||||||
if ["%~1"]==[""] (
|
|
||||||
set "test_set="
|
|
||||||
) else if ["%~1"]==["core"] (
|
|
||||||
set "test_set=-k "not download""
|
|
||||||
) else if ["%~1"]==["download"] (
|
|
||||||
set "test_set=-k download"
|
|
||||||
) else (
|
|
||||||
echo.Invalid test type "%~1". Use "core" ^| "download"
|
|
||||||
exit /b 1
|
|
||||||
)
|
|
||||||
|
|
||||||
pytest %test_set%
|
|
@ -1,15 +1,22 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
if [ -z $1 ]; then
|
# Keep this list in sync with the `offlinetest` target in Makefile
|
||||||
test_set='test'
|
DOWNLOAD_TESTS="age_restriction|download|iqiyi_sdk_interpreter|socks|subtitles|write_annotations|youtube_lists|youtube_signature"
|
||||||
elif [ $1 = 'core' ]; then
|
|
||||||
test_set='not download'
|
test_set=""
|
||||||
elif [ $1 = 'download' ]; then
|
multiprocess_args=""
|
||||||
test_set='download'
|
|
||||||
else
|
case "$YTDL_TEST_SET" in
|
||||||
echo 'Invalid test type "'$1'". Use "core" | "download"'
|
core)
|
||||||
exit 1
|
test_set="-I test_($DOWNLOAD_TESTS)\.py"
|
||||||
fi
|
;;
|
||||||
|
download)
|
||||||
echo python3 -m pytest -k $test_set
|
test_set="-I test_(?!$DOWNLOAD_TESTS).+\.py"
|
||||||
python3 -m pytest -k "$test_set"
|
multiprocess_args="--processes=4 --process-timeout=540"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
nosetests test --verbose $test_set $multiprocess_args
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
from datetime import datetime
|
|
||||||
# import urllib.request
|
|
||||||
|
|
||||||
# response = urllib.request.urlopen('https://blackjack4494.github.io/youtube-dlc/update/LATEST_VERSION')
|
|
||||||
# old_version = response.read().decode('utf-8')
|
|
||||||
|
|
||||||
exec(compile(open('yt_dlp/version.py').read(), 'yt_dlp/version.py', 'exec'))
|
|
||||||
old_version = locals()['__version__']
|
|
||||||
|
|
||||||
old_version_list = old_version.split(".", 4)
|
|
||||||
|
|
||||||
old_ver = '.'.join(old_version_list[:3])
|
|
||||||
old_rev = old_version_list[3] if len(old_version_list) > 3 else ''
|
|
||||||
|
|
||||||
ver = datetime.utcnow().strftime("%Y.%m.%d")
|
|
||||||
rev = str(int(old_rev or 0) + 1) if old_ver == ver else ''
|
|
||||||
|
|
||||||
VERSION = '.'.join((ver, rev)) if rev else ver
|
|
||||||
# VERSION_LIST = [(int(v) for v in ver.split(".") + [rev or 0])]
|
|
||||||
|
|
||||||
print('::set-output name=ytdlp_version::' + VERSION)
|
|
||||||
|
|
||||||
file_version_py = open('yt_dlp/version.py', 'rt')
|
|
||||||
data = file_version_py.read()
|
|
||||||
data = data.replace(old_version, VERSION)
|
|
||||||
file_version_py.close()
|
|
||||||
|
|
||||||
file_version_py = open('yt_dlp/version.py', 'wt')
|
|
||||||
file_version_py.write(data)
|
|
||||||
file_version_py.close()
|
|
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
orphan: true
|
|
||||||
---
|
|
||||||
```{include} ../Changelog.md
|
|
||||||
```
|
|
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
orphan: true
|
|
||||||
---
|
|
||||||
# LICENSE
|
|
||||||
```{include} ../LICENSE
|
|
||||||
```
|
|
@ -1,2 +0,0 @@
|
|||||||
```{include} ../README.md
|
|
||||||
```
|
|
@ -0,0 +1,31 @@
|
|||||||
|
- Q: How to redirect to another extractor?
|
||||||
|
- A:
|
||||||
|
- Most simple using only `url_result`
|
||||||
|
```
|
||||||
|
# get proper url first if needed.
|
||||||
|
return self.url_result(url)
|
||||||
|
```
|
||||||
|
- Using `_request_webpage` and `to_screen` in addition
|
||||||
|
```
|
||||||
|
urlh = self._request_webpage(
|
||||||
|
url, id, note='Downloading redirect page')
|
||||||
|
url = urlh.geturl()
|
||||||
|
self.to_screen('Following redirect: %s' % url)
|
||||||
|
return self.url_result(url)
|
||||||
|
```
|
||||||
|
- Using `return` construction
|
||||||
|
```
|
||||||
|
return {
|
||||||
|
'_type': 'url_transparent',
|
||||||
|
'url': url,
|
||||||
|
'ie_key': ExampleIE.ie_key(),
|
||||||
|
'id': id,
|
||||||
|
}
|
||||||
|
# Alternative if extractor supports internal uri like kaltura
|
||||||
|
return {
|
||||||
|
'_type': 'url_transparent',
|
||||||
|
'url': 'kaltura:%s:%s' % (partner_id, kaltura_id),
|
||||||
|
'ie_key': KalturaIE.ie_key(),
|
||||||
|
'id': id,
|
||||||
|
}
|
||||||
|
```
|
@ -0,0 +1,23 @@
|
|||||||
|
Welcome to youtube-dlc's documentation!
|
||||||
|
======================================
|
||||||
|
|
||||||
|
*youtube-dlc* is a command-line program to download videos from YouTube.com and more sites.
|
||||||
|
It can also be used in Python code.
|
||||||
|
|
||||||
|
Developer guide
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This section contains information for using *youtube-dlc* from Python programs.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
module_guide
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
||||||
|
|
@ -0,0 +1,67 @@
|
|||||||
|
Using the ``youtube_dlc`` module
|
||||||
|
===============================
|
||||||
|
|
||||||
|
When using the ``youtube_dlc`` module, you start by creating an instance of :class:`YoutubeDL` and adding all the available extractors:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
>>> from youtube_dlc import YoutubeDL
|
||||||
|
>>> ydl = YoutubeDL()
|
||||||
|
>>> ydl.add_default_info_extractors()
|
||||||
|
|
||||||
|
Extracting video information
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
You use the :meth:`YoutubeDL.extract_info` method for getting the video information, which returns a dictionary:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
>>> info = ydl.extract_info('http://www.youtube.com/watch?v=BaW_jenozKc', download=False)
|
||||||
|
[youtube] Setting language
|
||||||
|
[youtube] BaW_jenozKc: Downloading webpage
|
||||||
|
[youtube] BaW_jenozKc: Downloading video info webpage
|
||||||
|
[youtube] BaW_jenozKc: Extracting video information
|
||||||
|
>>> info['title']
|
||||||
|
'youtube-dlc test video "\'/\\ä↭𝕐'
|
||||||
|
>>> info['height'], info['width']
|
||||||
|
(720, 1280)
|
||||||
|
|
||||||
|
If you want to download or play the video you can get its url:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
>>> info['url']
|
||||||
|
'https://...'
|
||||||
|
|
||||||
|
Extracting playlist information
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
The playlist information is extracted in a similar way, but the dictionary is a bit different:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
>>> playlist = ydl.extract_info('http://www.ted.com/playlists/13/open_source_open_world', download=False)
|
||||||
|
[TED] open_source_open_world: Downloading playlist webpage
|
||||||
|
...
|
||||||
|
>>> playlist['title']
|
||||||
|
'Open-source, open world'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
You can access the videos in the playlist with the ``entries`` field:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
>>> for video in playlist['entries']:
|
||||||
|
... print('Video #%d: %s' % (video['playlist_index'], video['title']))
|
||||||
|
|
||||||
|
Video #1: How Arduino is open-sourcing imagination
|
||||||
|
Video #2: The year open data went worldwide
|
||||||
|
Video #3: Massive-scale online collaboration
|
||||||
|
Video #4: The art of asking
|
||||||
|
Video #5: How cognitive surplus will change the world
|
||||||
|
Video #6: The birth of Wikipedia
|
||||||
|
Video #7: Coding a better government
|
||||||
|
Video #8: The era of open innovation
|
||||||
|
Video #9: The currency of the new economy is trust
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
myst-parser
|
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
orphan: true
|
|
||||||
---
|
|
||||||
# ytdlp_plugins
|
|
||||||
|
|
||||||
See [https://github.com/yt-dlp/yt-dlp/tree/master/ytdlp_plugins](https://github.com/yt-dlp/yt-dlp/tree/master/ytdlp_plugins).
|
|
@ -0,0 +1 @@
|
|||||||
|
py -m PyInstaller youtube_dlc\__main__.py --onefile --name youtube-dlc --version-file win\ver.txt --icon win\icon\cloud.ico
|
@ -0,0 +1,92 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
from PyInstaller.utils.win32.versioninfo import (
|
||||||
|
VarStruct, VarFileInfo, StringStruct, StringTable,
|
||||||
|
StringFileInfo, FixedFileInfo, VSVersionInfo, SetVersion,
|
||||||
|
)
|
||||||
|
import PyInstaller.__main__
|
||||||
|
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
FILE_DESCRIPTION = 'Media Downloader 32 Bit Version'
|
||||||
|
|
||||||
|
exec(compile(open('youtube_dlc/version.py').read(), 'youtube_dlc/version.py', 'exec'))
|
||||||
|
|
||||||
|
_LATEST_VERSION = locals()['__version__']
|
||||||
|
|
||||||
|
_OLD_VERSION = _LATEST_VERSION.rsplit("-", 1)
|
||||||
|
|
||||||
|
if len(_OLD_VERSION) > 0:
|
||||||
|
old_ver = _OLD_VERSION[0]
|
||||||
|
|
||||||
|
old_rev = ''
|
||||||
|
if len(_OLD_VERSION) > 1:
|
||||||
|
old_rev = _OLD_VERSION[1]
|
||||||
|
|
||||||
|
now = datetime.now()
|
||||||
|
# ver = f'{datetime.today():%Y.%m.%d}'
|
||||||
|
ver = now.strftime("%Y.%m.%d")
|
||||||
|
rev = ''
|
||||||
|
|
||||||
|
if old_ver == ver:
|
||||||
|
if old_rev:
|
||||||
|
rev = int(old_rev) + 1
|
||||||
|
else:
|
||||||
|
rev = 1
|
||||||
|
|
||||||
|
_SEPARATOR = '-'
|
||||||
|
|
||||||
|
version = _SEPARATOR.join(filter(None, [ver, str(rev)]))
|
||||||
|
|
||||||
|
print(version)
|
||||||
|
|
||||||
|
version_list = ver.split(".")
|
||||||
|
_year, _month, _day = [int(value) for value in version_list]
|
||||||
|
_rev = 0
|
||||||
|
if rev:
|
||||||
|
_rev = rev
|
||||||
|
_ver_tuple = _year, _month, _day, _rev
|
||||||
|
|
||||||
|
version_file = VSVersionInfo(
|
||||||
|
ffi=FixedFileInfo(
|
||||||
|
filevers=_ver_tuple,
|
||||||
|
prodvers=_ver_tuple,
|
||||||
|
mask=0x3F,
|
||||||
|
flags=0x0,
|
||||||
|
OS=0x4,
|
||||||
|
fileType=0x1,
|
||||||
|
subtype=0x0,
|
||||||
|
date=(0, 0),
|
||||||
|
),
|
||||||
|
kids=[
|
||||||
|
StringFileInfo(
|
||||||
|
[
|
||||||
|
StringTable(
|
||||||
|
"040904B0",
|
||||||
|
[
|
||||||
|
StringStruct("Comments", "Youtube-dlc_x86 Command Line Interface."),
|
||||||
|
StringStruct("CompanyName", "theidel@uni-bremen.de"),
|
||||||
|
StringStruct("FileDescription", FILE_DESCRIPTION),
|
||||||
|
StringStruct("FileVersion", version),
|
||||||
|
StringStruct("InternalName", "youtube-dlc_x86"),
|
||||||
|
StringStruct(
|
||||||
|
"LegalCopyright",
|
||||||
|
"theidel@uni-bremen.de | UNLICENSE",
|
||||||
|
),
|
||||||
|
StringStruct("OriginalFilename", "youtube-dlc_x86.exe"),
|
||||||
|
StringStruct("ProductName", "Youtube-dlc_x86"),
|
||||||
|
StringStruct("ProductVersion", version + "_x86 | git.io/JUGsM"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
]
|
||||||
|
),
|
||||||
|
VarFileInfo([VarStruct("Translation", [0, 1200])])
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
PyInstaller.__main__.run([
|
||||||
|
'--name=youtube-dlc_x86',
|
||||||
|
'--onefile',
|
||||||
|
'--icon=win/icon/cloud.ico',
|
||||||
|
'youtube_dlc/__main__.py',
|
||||||
|
])
|
||||||
|
SetVersion('dist/youtube-dlc_x86.exe', version_file)
|
@ -1,4 +0,0 @@
|
|||||||
[pytest]
|
|
||||||
addopts = -ra -v --strict-markers
|
|
||||||
markers =
|
|
||||||
download
|
|
@ -1,3 +0,0 @@
|
|||||||
mutagen
|
|
||||||
pycryptodome
|
|
||||||
websockets
|
|
@ -0,0 +1,44 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
from datetime import datetime
|
||||||
|
# import urllib.request
|
||||||
|
|
||||||
|
# response = urllib.request.urlopen('https://blackjack4494.github.io/youtube-dlc/update/LATEST_VERSION')
|
||||||
|
# _LATEST_VERSION = response.read().decode('utf-8')
|
||||||
|
|
||||||
|
exec(compile(open('youtube_dlc/version.py').read(), 'youtube_dlc/version.py', 'exec'))
|
||||||
|
|
||||||
|
_LATEST_VERSION = locals()['__version__']
|
||||||
|
|
||||||
|
_OLD_VERSION = _LATEST_VERSION.rsplit("-", 1)
|
||||||
|
|
||||||
|
if len(_OLD_VERSION) > 0:
|
||||||
|
old_ver = _OLD_VERSION[0]
|
||||||
|
|
||||||
|
old_rev = ''
|
||||||
|
if len(_OLD_VERSION) > 1:
|
||||||
|
old_rev = _OLD_VERSION[1]
|
||||||
|
|
||||||
|
now = datetime.now()
|
||||||
|
# ver = f'{datetime.today():%Y.%m.%d}'
|
||||||
|
ver = now.strftime("%Y.%m.%d")
|
||||||
|
rev = ''
|
||||||
|
|
||||||
|
if old_ver == ver:
|
||||||
|
if old_rev:
|
||||||
|
rev = int(old_rev) + 1
|
||||||
|
else:
|
||||||
|
rev = 1
|
||||||
|
|
||||||
|
_SEPARATOR = '-'
|
||||||
|
|
||||||
|
version = _SEPARATOR.join(filter(None, [ver, str(rev)]))
|
||||||
|
|
||||||
|
print('::set-output name=ytdlc_version::' + version)
|
||||||
|
|
||||||
|
file_version_py = open('youtube_dlc/version.py', 'rt')
|
||||||
|
data = file_version_py.read()
|
||||||
|
data = data.replace(locals()['__version__'], version)
|
||||||
|
file_version_py.close()
|
||||||
|
file_version_py = open('youtube_dlc/version.py', 'wt')
|
||||||
|
file_version_py.write(data)
|
||||||
|
file_version_py.close()
|
@ -0,0 +1,31 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
from datetime import datetime
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
|
response = urllib.request.urlopen('https://blackjack4494.github.io/youtube-dlc/update/LATEST_VERSION')
|
||||||
|
|
||||||
|
_LATEST_VERSION = response.read().decode('utf-8')
|
||||||
|
|
||||||
|
_OLD_VERSION = _LATEST_VERSION.rsplit("-", 1)
|
||||||
|
|
||||||
|
if len(_OLD_VERSION) > 0:
|
||||||
|
old_ver = _OLD_VERSION[0]
|
||||||
|
|
||||||
|
old_rev = ''
|
||||||
|
if len(_OLD_VERSION) > 1:
|
||||||
|
old_rev = _OLD_VERSION[1]
|
||||||
|
|
||||||
|
now = datetime.now()
|
||||||
|
# ver = f'{datetime.today():%Y.%m.%d}'
|
||||||
|
ver = now.strftime("%Y.%m.%d")
|
||||||
|
rev = ''
|
||||||
|
|
||||||
|
if old_ver == ver:
|
||||||
|
if old_rev:
|
||||||
|
rev = int(old_rev) + 1
|
||||||
|
else:
|
||||||
|
rev = 1
|
||||||
|
|
||||||
|
_SEPARATOR = '-'
|
||||||
|
|
||||||
|
version = _SEPARATOR.join(filter(None, [ver, str(rev)]))
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue