此页面介绍了用于处理 ThePlatform 内容分发系统和 MTV 服务基础设施内容的提取器。MTV 服务基础设施为许多热门媒体网站提供支持。这些多站点提取器构成了基础,使 youtube-dl 能够以最小的代码重复来支持数十个不同的网站。
有关通用提取器架构的信息,请参阅 提取器系统。
ThePlatform 是康卡斯特旗下的视频内容管理系统(CMS),为许多主要网络网站提供支持。MTV 服务是维亚康/维亚康CBS(现为派拉蒙)旗下的公司使用的另一个内容分发基础设施。这两个系统具有相似的特点,即它们
来源:youtube_dl/extractor/theplatform.py youtube_dl/extractor/mtv.py youtube_dl/extractor/nbc.py
ThePlatform 提取器处理由康卡斯特的 ThePlatform CMS 提供支持的网站。这些提取器组织在一个类层次结构中,以最大程度地提高代码重用性。
来源:youtube_dl/extractor/theplatform.py34-124 youtube_dl/extractor/theplatform.py127-319 youtube_dl/extractor/theplatform.py322-404 youtube_dl/extractor/nbc.py289-433
ThePlatformBaseIE:提供 ThePlatform 提取器通用功能的基类。
_extract_theplatform_smil():从 SMIL XML 数据中提取视频格式_download_theplatform_metadata():从 ThePlatform API 下载元数据_parse_theplatform_metadata():解析元数据,包括字幕和章节_extract_theplatform_metadata():结合下载和解析元数据ThePlatformIE:ThePlatform 内容的主要提取器。
ThePlatformFeedIE:处理 ThePlatform 馈送 URL。
ThePlatform 内容的提取过程遵循以下通用步骤
例如,在提取 NBC 内容时
来源:youtube_dl/extractor/theplatform.py235-319 youtube_dl/extractor/nbc.py376-433
MTV 服务为 MTV、Comedy Central 和 Nickelodeon 等许多维亚康/派拉蒙网络网站提供支持。MTVServicesInfoExtractor 是针对这些网站的提取器的基类。
来源:youtube_dl/extractor/mtv.py33-302 youtube_dl/extractor/mtv.py305-339 youtube_dl/extractor/mtv.py342-366 youtube_dl/extractor/comedycentral.py6-27 youtube_dl/extractor/nick.py10-79 youtube_dl/extractor/southpark.py7-39
MTVServicesInfoExtractor:MTV 网络提取器的基类。
_id_from_uri():从内容 URI 中提取 ID_extract_video_formats():从 MTV 服务 API 响应中提取视频格式_get_video_info():获取全面的视频信息_extract_triforce_mgid():从网页中提取 MGID(媒体组 ID)_get_videos_info():获取多个视频的信息特定站点提取器:为不同站点自定义行为。
_VALID_URL 以匹配特定站点的 URL 模式_FEED_URL 以指向站点的馈送端点_get_feed_query() 以自定义 API 参数MTV 服务提取器使用几个关键概念
| 概念 | 描述 |
|---|---|
| MGID | 媒体组 ID - MTV 服务中内容的唯一标识符 |
| URI | 资源标识符,格式为 mgid:namespace:type:site.com:id |
| 馈送 URL | 提供内容元数据的 API 端点 |
| Mediagen | 提供实际媒体 URL 的服务 |
来源:youtube_dl/extractor/mtv.py37-204 youtube_dl/extractor/comedycentral.py8-11
来源:youtube_dl/extractor/mtv.py212-233 youtube_dl/extractor/comedycentral.py9-27
The Platform 提取器支持各种网站,包括:
NBCIE)NBCNewsIE)NBCSportsIE)NBCOlympicsIE)MTV 服务提取器支持广泛的维亚康/派拉蒙旗下网站
| 网站 | 提取器 | 备注 |
|---|---|---|
| MTV | MTVIE | 原始的 MTV 网站 |
| Comedy Central | ComedyCentralIE | 喜剧频道 |
| Nickelodeon | NickIE | 儿童频道 |
| South Park | SouthParkIE | 该剧集的专用网站 |
| Nick Jr | NickJrIE | 学龄前节目 |
| VH1 | VH1IE | 音乐和娱乐 |
| TV Land | TVLandIE | 经典电视节目 |
| CMT | CMTIE | 乡村音乐电视 |
| Paramount Network | ParamountNetworkIE | 原 Spike TV |
来源: youtube_dl/extractor/nbc.py21-157 youtube_dl/extractor/comedycentral.py6-27 youtube_dl/extractor/nick.py10-249 youtube_dl/extractor/southpark.py7-127 youtube_dl/extractor/vh1.py7-42 youtube_dl/extractor/tvland.py7-37 youtube_dl/extractor/cmt.py6-54 youtube_dl/extractor/spike.py24-48
多站点提取器遵循扩展新站点功能的常见模式
ThePlatformIE 的新提取器类_VALID_URL 模式_real_extract() 来处理特定于站点的提取逻辑MTVServicesInfoExtractor 的新提取器类_VALID_URL 模式_FEED_URL 设置为站点的 feed 端点_get_feed_query()_real_extract() 以进行特定站点的处理Comedy Central 站点的示例
来源: youtube_dl/extractor/comedycentral.py6-27 youtube_dl/extractor/nick.py10-79
许多 ThePlatform 和 MTV Services 站点都实现了地理限制。提取器通过以下方式处理此问题:
某些内容需要身份验证。这通过以下方式处理:
站点通常提供多种格式和质量。提取器:
剧集通常包含多个片段。提取器通过以下方式处理此问题:
来源: youtube_dl/extractor/theplatform.py41-75 youtube_dl/extractor/mtv.py71-111
ThePlatform 和 MTV Services 提取器展示了 youtube-dl 架构在高效处理多个相似站点方面的强大功能。通过识别通用的后端系统并为它们创建基础提取器,代码库保持了可维护性,同时以最少的重复代码支持了数十个流行的媒体网站。
多站点方法允许快速添加使用相同后端系统的新站点,并提供对地理限制、身份验证和格式选择等常见挑战的一致处理。
刷新此 Wiki
最后索引时间2025年4月17日(c052a1)