mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-07-18 03:08:31 +00:00
Merge 75f3107d4b
into c1ac543c81
This commit is contained in:
commit
59b63fd059
@ -126,7 +126,7 @@ ### Are you willing to share account details if needed?
|
|||||||
While these steps won't necessarily ensure that no misuse of the account takes place, these are still some good practices to follow.
|
While these steps won't necessarily ensure that no misuse of the account takes place, these are still some good practices to follow.
|
||||||
|
|
||||||
- Look for people with `Member` (maintainers of the project) or `Contributor` (people who have previously contributed code) tag on their messages.
|
- Look for people with `Member` (maintainers of the project) or `Contributor` (people who have previously contributed code) tag on their messages.
|
||||||
- Change the password before sharing the account to something random (use [this](https://passwordsgenerator.net/) if you don't have a random password generator).
|
- Change the password before sharing the account to something random.
|
||||||
- Change the password after receiving the account back.
|
- Change the password after receiving the account back.
|
||||||
|
|
||||||
### Is the website primarily used for piracy?
|
### Is the website primarily used for piracy?
|
||||||
|
@ -277,7 +277,7 @@ # USAGE AND OPTIONS
|
|||||||
<!-- MANPAGE: BEGIN EXCLUDED SECTION -->
|
<!-- MANPAGE: BEGIN EXCLUDED SECTION -->
|
||||||
yt-dlp [OPTIONS] [--] URL [URL...]
|
yt-dlp [OPTIONS] [--] URL [URL...]
|
||||||
|
|
||||||
`Ctrl+F` is your friend :D
|
Tip: Use `CTRL`+`F` (or `Command`+`F`) to search by keywords
|
||||||
<!-- MANPAGE: END EXCLUDED SECTION -->
|
<!-- MANPAGE: END EXCLUDED SECTION -->
|
||||||
|
|
||||||
<!-- Auto generated -->
|
<!-- Auto generated -->
|
||||||
@ -1902,8 +1902,8 @@ #### tver
|
|||||||
* `backend`: Backend API to use for extraction - one of `streaks` (default) or `brightcove` (deprecated)
|
* `backend`: Backend API to use for extraction - one of `streaks` (default) or `brightcove` (deprecated)
|
||||||
|
|
||||||
#### vimeo
|
#### vimeo
|
||||||
* `client`: Client to extract video data from. One of `android` (default), `ios` or `web`. The `ios` client only works with previously cached OAuth tokens. The `web` client only works when authenticated with credentials or account cookies
|
* `client`: Client to extract video data from. The currently available clients are `android`, `ios`, and `web`. Only one client can be used. The `android` client is used by default. If account cookies or credentials are used for authentication, then the `web` client is used by default. The `web` client only works with authentication. The `ios` client only works with previously cached OAuth tokens
|
||||||
* `original_format_policy`: Policy for when to try extracting original formats. One of `always`, `never`, or `auto`. The default `auto` policy tries to avoid exceeding the API rate-limit by only making an extra request when Vimeo publicizes the video's downloadability
|
* `original_format_policy`: Policy for when to try extracting original formats. One of `always`, `never`, or `auto`. The default `auto` policy tries to avoid exceeding the web client's API rate-limit by only making an extra request when Vimeo publicizes the video's downloadability
|
||||||
|
|
||||||
**Note**: These options may be changed/removed in the future without concern for backward compatibility
|
**Note**: These options may be changed/removed in the future without concern for backward compatibility
|
||||||
|
|
||||||
|
@ -262,5 +262,10 @@
|
|||||||
{
|
{
|
||||||
"action": "remove",
|
"action": "remove",
|
||||||
"when": "500761e41acb96953a5064e951d41d190c287e46"
|
"when": "500761e41acb96953a5064e951d41d190c287e46"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "add",
|
||||||
|
"when": "f3008bc5f89d2691f2f8dfc51b406ef4e25281c3",
|
||||||
|
"short": "[priority] **Default behaviour changed from `--mtime` to `--no-mtime`**\nyt-dlp no longer applies the server modified time to downloaded files by default. [Read more](https://github.com/yt-dlp/yt-dlp/issues/12780)"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -66,10 +66,6 @@ def _file_md5(fn):
|
|||||||
|
|
||||||
@is_download_test
|
@is_download_test
|
||||||
class TestDownload(unittest.TestCase):
|
class TestDownload(unittest.TestCase):
|
||||||
# Parallel testing in nosetests. See
|
|
||||||
# http://nose.readthedocs.org/en/latest/doc_tests/test_multiprocess/multiprocess.html
|
|
||||||
_multiprocess_shared_ = True
|
|
||||||
|
|
||||||
maxDiff = None
|
maxDiff = None
|
||||||
|
|
||||||
COMPLETED_TESTS = {}
|
COMPLETED_TESTS = {}
|
||||||
|
@ -529,6 +529,7 @@ class YoutubeDL:
|
|||||||
discontinuities such as ad breaks (default: False)
|
discontinuities such as ad breaks (default: False)
|
||||||
extractor_args: A dictionary of arguments to be passed to the extractors.
|
extractor_args: A dictionary of arguments to be passed to the extractors.
|
||||||
See "EXTRACTOR ARGUMENTS" for details.
|
See "EXTRACTOR ARGUMENTS" for details.
|
||||||
|
Argument values must always be a list of string(s).
|
||||||
E.g. {'youtube': {'skip': ['dash', 'hls']}}
|
E.g. {'youtube': {'skip': ['dash', 'hls']}}
|
||||||
mark_watched: Mark videos watched (even with --simulate). Only for YouTube
|
mark_watched: Mark videos watched (even with --simulate). Only for YouTube
|
||||||
|
|
||||||
|
@ -392,6 +392,8 @@ class InfoExtractor:
|
|||||||
chapters: A list of dictionaries, with the following entries:
|
chapters: A list of dictionaries, with the following entries:
|
||||||
* "start_time" - The start time of the chapter in seconds
|
* "start_time" - The start time of the chapter in seconds
|
||||||
* "end_time" - The end time of the chapter in seconds
|
* "end_time" - The end time of the chapter in seconds
|
||||||
|
(optional: core code can determine this value from
|
||||||
|
the next chapter's start_time or the video's duration)
|
||||||
* "title" (optional, string)
|
* "title" (optional, string)
|
||||||
heatmap: A list of dictionaries, with the following entries:
|
heatmap: A list of dictionaries, with the following entries:
|
||||||
* "start_time" - The start time of the data point in seconds
|
* "start_time" - The start time of the data point in seconds
|
||||||
@ -406,7 +408,8 @@ class InfoExtractor:
|
|||||||
'unlisted' or 'public'. Use 'InfoExtractor._availability'
|
'unlisted' or 'public'. Use 'InfoExtractor._availability'
|
||||||
to set it
|
to set it
|
||||||
media_type: The type of media as classified by the site, e.g. "episode", "clip", "trailer"
|
media_type: The type of media as classified by the site, e.g. "episode", "clip", "trailer"
|
||||||
_old_archive_ids: A list of old archive ids needed for backward compatibility
|
_old_archive_ids: A list of old archive ids needed for backward
|
||||||
|
compatibility. Use yt_dlp.utils.make_archive_id to generate ids
|
||||||
_format_sort_fields: A list of fields to use for sorting formats
|
_format_sort_fields: A list of fields to use for sorting formats
|
||||||
__post_extractor: A function to be called just before the metadata is
|
__post_extractor: A function to be called just before the metadata is
|
||||||
written to either disk, logger or console. The function
|
written to either disk, logger or console. The function
|
||||||
|
@ -18,7 +18,7 @@ class MirrativIE(MirrativBaseIE):
|
|||||||
IE_NAME = 'mirrativ'
|
IE_NAME = 'mirrativ'
|
||||||
_VALID_URL = r'https?://(?:www\.)?mirrativ\.com/live/(?P<id>[^/?#&]+)'
|
_VALID_URL = r'https?://(?:www\.)?mirrativ\.com/live/(?P<id>[^/?#&]+)'
|
||||||
|
|
||||||
TESTS = [{
|
_TESTS = [{
|
||||||
'url': 'https://mirrativ.com/live/UQomuS7EMgHoxRHjEhNiHw',
|
'url': 'https://mirrativ.com/live/UQomuS7EMgHoxRHjEhNiHw',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
'id': 'UQomuS7EMgHoxRHjEhNiHw',
|
'id': 'UQomuS7EMgHoxRHjEhNiHw',
|
||||||
|
@ -18,7 +18,6 @@ class NewsPicksIE(InfoExtractor):
|
|||||||
'title': '日本の課題を破壊せよ【ゲスト:成田悠輔】',
|
'title': '日本の課題を破壊せよ【ゲスト:成田悠輔】',
|
||||||
'cast': 'count:4',
|
'cast': 'count:4',
|
||||||
'description': 'md5:09397aad46d6ded6487ff13f138acadf',
|
'description': 'md5:09397aad46d6ded6487ff13f138acadf',
|
||||||
'duration': 2940,
|
|
||||||
'release_date': '20220117',
|
'release_date': '20220117',
|
||||||
'release_timestamp': 1642424400,
|
'release_timestamp': 1642424400,
|
||||||
'series': 'HORIE ONE',
|
'series': 'HORIE ONE',
|
||||||
@ -35,7 +34,6 @@ class NewsPicksIE(InfoExtractor):
|
|||||||
'title': '【検証】専門家は、KADOKAWAをどう見るか',
|
'title': '【検証】専門家は、KADOKAWAをどう見るか',
|
||||||
'cast': 'count:3',
|
'cast': 'count:3',
|
||||||
'description': 'md5:2c2d4bf77484a4333ec995d676f9a91d',
|
'description': 'md5:2c2d4bf77484a4333ec995d676f9a91d',
|
||||||
'duration': 1320,
|
|
||||||
'release_date': '20240622',
|
'release_date': '20240622',
|
||||||
'release_timestamp': 1719088080,
|
'release_timestamp': 1719088080,
|
||||||
'series': 'NPレポート',
|
'series': 'NPレポート',
|
||||||
|
@ -2076,7 +2076,7 @@ def _extract_signature_function(self, video_id, player_url, example_sig):
|
|||||||
assert os.path.basename(func_id) == func_id
|
assert os.path.basename(func_id) == func_id
|
||||||
|
|
||||||
self.write_debug(f'Extracting signature function {func_id}')
|
self.write_debug(f'Extracting signature function {func_id}')
|
||||||
cache_spec, code = self.cache.load('youtube-sigfuncs', func_id, min_ver='2025.03.31'), None
|
cache_spec, code = self.cache.load('youtube-sigfuncs', func_id, min_ver='2025.07.10'), None
|
||||||
|
|
||||||
if not cache_spec:
|
if not cache_spec:
|
||||||
code = self._load_player(video_id, player_url)
|
code = self._load_player(video_id, player_url)
|
||||||
@ -2180,7 +2180,7 @@ def _load_player_data_from_cache(self, name, player_url):
|
|||||||
if data := self._player_cache.get(cache_id):
|
if data := self._player_cache.get(cache_id):
|
||||||
return data
|
return data
|
||||||
|
|
||||||
data = self.cache.load(*cache_id, min_ver='2025.03.31')
|
data = self.cache.load(*cache_id, min_ver='2025.07.10')
|
||||||
if data:
|
if data:
|
||||||
self._player_cache[cache_id] = data
|
self._player_cache[cache_id] = data
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user