aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal <salin87@gmail.com>2024-02-05 00:25:13 +0100
committerGitHub <noreply@github.com>2024-02-04 23:25:13 +0000
commit96d0f8c1cb8aec250c5614bfde6b5fb95f10819b (patch)
tree3b9e1fdfd204703c7d9db6a8c95eb8d3bdc99048
parente3ce2b385ec1f03fac9d4210c57fda77134495fc (diff)
[ie/eporner] Extract AV1 formats (#9028)
Authored by: michal-repo
-rw-r--r--yt_dlp/extractor/eporner.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/yt_dlp/extractor/eporner.py b/yt_dlp/extractor/eporner.py
index aee2dee58..b18a76c7c 100644
--- a/yt_dlp/extractor/eporner.py
+++ b/yt_dlp/extractor/eporner.py
@@ -1,8 +1,10 @@
from .common import InfoExtractor
from ..utils import (
- encode_base_n,
ExtractorError,
+ encode_base_n,
+ get_elements_by_class,
int_or_none,
+ join_nonempty,
merge_dicts,
parse_duration,
str_to_int,
@@ -81,6 +83,7 @@ class EpornerIE(InfoExtractor):
sources = video['sources']
formats = []
+ has_av1 = bool(get_elements_by_class('download-av1', webpage))
for kind, formats_dict in sources.items():
if not isinstance(formats_dict, dict):
continue
@@ -106,6 +109,14 @@ class EpornerIE(InfoExtractor):
'height': height,
'fps': fps,
})
+ if has_av1:
+ formats.append({
+ 'url': src.replace('.mp4', '-av1.mp4'),
+ 'format_id': join_nonempty('av1', format_id),
+ 'height': height,
+ 'fps': fps,
+ 'vcodec': 'av1',
+ })
json_ld = self._search_json_ld(webpage, display_id, default={})