mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-28 09:31:01 +01:00
parent
cf4f42cb97
commit
592b748582
@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
# NEW FEATURES
|
# NEW FEATURES
|
||||||
|
|
||||||
* Based on **youtube-dl 2021.12.17 [commit/5add3f4](https://github.com/ytdl-org/youtube-dl/commit/5add3f4373287e6346ca3551239edab549284db3)** and **youtube-dlc 2020.11.11-3 [commit/f9401f2](https://github.com/blackjack4494/yt-dlc/commit/f9401f2a91987068139c5f757b12fc711d4c0cee)**: You get all the features and patches of [youtube-dlc](https://github.com/blackjack4494/yt-dlc) in addition to the latest [youtube-dl](https://github.com/ytdl-org/youtube-dl)
|
* Based on **youtube-dl 2021.12.17 [commit/6508688](https://github.com/ytdl-org/youtube-dl/commit/6508688e88c83bb811653083db9351702cd39a6a)** and **youtube-dlc 2020.11.11-3 [commit/f9401f2](https://github.com/blackjack4494/yt-dlc/commit/f9401f2a91987068139c5f757b12fc711d4c0cee)**: You get all the features and patches of [youtube-dlc](https://github.com/blackjack4494/yt-dlc) in addition to the latest [youtube-dl](https://github.com/ytdl-org/youtube-dl)
|
||||||
|
|
||||||
* **[SponsorBlock Integration](#sponsorblock-options)**: You can mark/remove sponsor sections in youtube videos by utilizing the [SponsorBlock](https://sponsor.ajay.app) API
|
* **[SponsorBlock Integration](#sponsorblock-options)**: You can mark/remove sponsor sections in youtube videos by utilizing the [SponsorBlock](https://sponsor.ajay.app) API
|
||||||
|
|
||||||
|
@ -518,17 +518,6 @@ class YoutubeDL(object):
|
|||||||
'storyboards': {'mhtml'},
|
'storyboards': {'mhtml'},
|
||||||
}
|
}
|
||||||
|
|
||||||
params = None
|
|
||||||
_ies = {}
|
|
||||||
_pps = {k: [] for k in POSTPROCESS_WHEN}
|
|
||||||
_printed_messages = set()
|
|
||||||
_first_webpage_request = True
|
|
||||||
_download_retcode = None
|
|
||||||
_num_downloads = None
|
|
||||||
_playlist_level = 0
|
|
||||||
_playlist_urls = set()
|
|
||||||
_screen_file = None
|
|
||||||
|
|
||||||
def __init__(self, params=None, auto_init=True):
|
def __init__(self, params=None, auto_init=True):
|
||||||
"""Create a FileDownloader object with the given options.
|
"""Create a FileDownloader object with the given options.
|
||||||
@param auto_init Whether to load the default extractors and print header (if verbose).
|
@param auto_init Whether to load the default extractors and print header (if verbose).
|
||||||
@ -536,6 +525,7 @@ def __init__(self, params=None, auto_init=True):
|
|||||||
"""
|
"""
|
||||||
if params is None:
|
if params is None:
|
||||||
params = {}
|
params = {}
|
||||||
|
self.params = params
|
||||||
self._ies = {}
|
self._ies = {}
|
||||||
self._ies_instances = {}
|
self._ies_instances = {}
|
||||||
self._pps = {k: [] for k in POSTPROCESS_WHEN}
|
self._pps = {k: [] for k in POSTPROCESS_WHEN}
|
||||||
@ -547,7 +537,8 @@ def __init__(self, params=None, auto_init=True):
|
|||||||
self._download_retcode = 0
|
self._download_retcode = 0
|
||||||
self._num_downloads = 0
|
self._num_downloads = 0
|
||||||
self._num_videos = 0
|
self._num_videos = 0
|
||||||
self.params = params
|
self._playlist_level = 0
|
||||||
|
self._playlist_urls = set()
|
||||||
self.cache = Cache(self)
|
self.cache = Cache(self)
|
||||||
|
|
||||||
windows_enable_vt_mode()
|
windows_enable_vt_mode()
|
||||||
@ -840,12 +831,12 @@ def to_console_title(self, message):
|
|||||||
def save_console_title(self):
|
def save_console_title(self):
|
||||||
if not self.params.get('consoletitle') or self.params.get('simulate'):
|
if not self.params.get('consoletitle') or self.params.get('simulate'):
|
||||||
return
|
return
|
||||||
self._send_console_code('\033[22;0t') # Save the title on stack
|
self._send_console_code('\033[22;0t') # Save the title on stack
|
||||||
|
|
||||||
def restore_console_title(self):
|
def restore_console_title(self):
|
||||||
if not self.params.get('consoletitle') or self.params.get('simulate'):
|
if not self.params.get('consoletitle') or self.params.get('simulate'):
|
||||||
return
|
return
|
||||||
self._send_console_code('\033[23;0t') # Restore the title from stack
|
self._send_console_code('\033[23;0t') # Restore the title from stack
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
self.save_console_title()
|
self.save_console_title()
|
||||||
|
@ -22,7 +22,7 @@ class YoutubeLiveChatFD(FragmentFD):
|
|||||||
def real_download(self, filename, info_dict):
|
def real_download(self, filename, info_dict):
|
||||||
video_id = info_dict['video_id']
|
video_id = info_dict['video_id']
|
||||||
self.to_screen('[%s] Downloading live chat' % self.FD_NAME)
|
self.to_screen('[%s] Downloading live chat' % self.FD_NAME)
|
||||||
if not self.params.get('skip_download'):
|
if not self.params.get('skip_download') and info_dict['protocol'] == 'youtube_live_chat':
|
||||||
self.report_warning('Live chat download runs until the livestream ends. '
|
self.report_warning('Live chat download runs until the livestream ends. '
|
||||||
'If you wish to download the video simultaneously, run a separate yt-dlp instance')
|
'If you wish to download the video simultaneously, run a separate yt-dlp instance')
|
||||||
|
|
||||||
|
@ -1029,7 +1029,7 @@ def make_HTTPS_handler(params, **kwargs):
|
|||||||
|
|
||||||
def bug_reports_message(before=';'):
|
def bug_reports_message(before=';'):
|
||||||
msg = ('please report this issue on https://github.com/yt-dlp/yt-dlp , '
|
msg = ('please report this issue on https://github.com/yt-dlp/yt-dlp , '
|
||||||
'filling out the "Broken site" issue template properly. '
|
'filling out the appropriate issue template. '
|
||||||
'Confirm you are on the latest version using yt-dlp -U')
|
'Confirm you are on the latest version using yt-dlp -U')
|
||||||
|
|
||||||
before = before.rstrip()
|
before = before.rstrip()
|
||||||
|
Loading…
Reference in New Issue
Block a user