mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-12 08:36:28 +01:00
[hls] Warn user when trying to download live HLS
We do not automatically switch to ffmpeg because the detection is not 100% accurate
This commit is contained in:
parent
30d22d775b
commit
bbae437723
@ -61,12 +61,18 @@ class HlsFD(FragmentFD):
|
|||||||
s = urlh.read().decode('utf-8', 'ignore')
|
s = urlh.read().decode('utf-8', 'ignore')
|
||||||
|
|
||||||
can_download, message = self.can_download(s, info_dict, self.params.get('allow_unplayable_formats')), None
|
can_download, message = self.can_download(s, info_dict, self.params.get('allow_unplayable_formats')), None
|
||||||
if can_download and not Cryptodome_AES and '#EXT-X-KEY:METHOD=AES-128' in s:
|
if can_download:
|
||||||
if FFmpegFD.available():
|
has_ffmpeg = FFmpegFD.available()
|
||||||
|
no_crypto = not Cryptodome_AES and '#EXT-X-KEY:METHOD=AES-128' in s
|
||||||
|
if no_crypto and has_ffmpeg:
|
||||||
can_download, message = False, 'The stream has AES-128 encryption and pycryptodomex is not available'
|
can_download, message = False, 'The stream has AES-128 encryption and pycryptodomex is not available'
|
||||||
else:
|
elif no_crypto:
|
||||||
message = ('The stream has AES-128 encryption and neither ffmpeg nor pycryptodomex are available; '
|
message = ('The stream has AES-128 encryption and neither ffmpeg nor pycryptodomex are available; '
|
||||||
'Decryption will be performed natively, but will be extremely slow')
|
'Decryption will be performed natively, but will be extremely slow')
|
||||||
|
elif re.search(r'#EXT-X-MEDIA-SEQUENCE:(?!0$)', s):
|
||||||
|
install_ffmpeg = '' if has_ffmpeg else 'install ffmpeg and '
|
||||||
|
message = ('Live HLS streams are not supported by the native downloader. If this is a livestream, '
|
||||||
|
f'please {install_ffmpeg}add "--downloader ffmpeg --hls-use-mpegts" to your command')
|
||||||
if not can_download:
|
if not can_download:
|
||||||
has_drm = re.search('|'.join([
|
has_drm = re.search('|'.join([
|
||||||
r'#EXT-X-FAXS-CM:', # Adobe Flash Access
|
r'#EXT-X-FAXS-CM:', # Adobe Flash Access
|
||||||
|
Loading…
Reference in New Issue
Block a user