
Harbor流媒体排序引擎是如何挑出最佳资源的parse到rank四阶段流水线完全解读【免费下载链接】harborA Custom Stremio Client Built for Adventure!项目地址: https://gitcode.com/gh_mirrors/harbor18/harborHarbor 是一个为冒险而生的自定义 Stremio 流媒体客户端它的流媒体排序引擎通过parse → trust → score → rank四阶段流水线从成百上千个候选资源里挑出最清晰、最快可播的那一条。这篇文章用通俗的方式带你完整看懂这条 Harbor 资源排序流水线是怎么工作的。为什么需要 Harbor 流媒体资源排序引擎在 Stremio 生态里你同时接入多个插件addon时同一部电影往往会返回几十甚至上百条流4K、1080p、枪版CAM、预告片、甚至伪装成电影的.exe文件混在一起。原生客户端只是按插件返回顺序罗列用户只能自己眼力见挑。Harbor 的做法是让一套引擎替你挑Parse 解析把乱码般的文件名翻译成结构化数据Trust 门禁直接淘汰不可播、可疑的候选Score 评分用几十个信号给每条流加减分Rank 排序缓存优先、质量分层选出最终播放项核心逻辑全部实现为一组纯函数写在 Rust 模块harbor-core/中通过 WASM 同时服务 WebView 前端和原生外壳保证两条路径行为完全一致见harbor-core/src/lib.rs。四阶段流水线全景整条链路的入口可以分成两层Rust 核心harbor-core/src/parser.rs负责解析、trust.rs负责信任过滤、scoring.rs负责评分与排序、types.rs定义了ParsedStream、ScoredStream、RankedPicker三种核心数据结构。lib.rs里的runPipelinePure一次性跑完 parse trust score rank pick 全流程。TypeScript 编排层src/lib/streams/pipeline.ts的runPipeline负责并发抓取插件流与本地库Debrid library流合并去重后喂给 Rust 核心并在等待期间每 250ms 产出一次部分结果让界面先有内容可展示。原始 Stream[] → parse结构化→ trust淘汰可疑→ score打分→ rank挑选→ RankedPicker阶段一Parse 解析——读懂乱码资源文件名一条典型资源名可能长这样2025.1080p.WEBRip.x265.10bit.AAC5.1-[YTS.BZ]对人是天书对parser.rs却是一本说明书。它用一组预编译正则从名称、标题、描述、behaviorHints中抽取分辨率与 HDR4K / 1080p / 720p / SD以及 DV、HDR10、HLG 等格式视频编码HEVC、AVC、AV1 等片源sourceBluRay、WEB-DL、WEBRip、CAM、SCR……这直接决定后续的质量档位音频编码Atmos、TrueHD、DTS、DD、AAC…与声道数5.1、7.1元信息文件大小、种源数seeders、年份、S01E01 剧集号、REPACK/PROPER、硬字幕标记、发行组release group缓存状态识别[RD⚡]、[TB]、⚡instant等各家插件的缓存徽章记录在哪些 Debrid 上已缓存解析完的每条流都带上一个scam_score欺诈初评分交给下一阶段处理。阶段二Trust 信任门禁——先淘汰不可播的候选trust.rs的apply_trust是一票否决制的安检门被拒的流会附带明确的reason常见拦截理由包括拦截理由含义suspicious-extension:.exe伪装成视频的可执行文件trailer-or-extra预告片或附加内容no-playable-source既无 URL 也无 infoHash根本播不了size-stub大小可疑的占位文件scam-score-7欺诈评分超标series-result-for-movie电影查询却返回整季包cinema-bare-untagged院线新片的裸枪版addon-placeholder-banner插件塞进来的状态卡片门禁支持按场景开关TrustOptions比如允许 season pack、允许低带宽下的 CAM 源、按上映日期校验片源是否时间上合理等。阶段三Score 评分——几十个信号给资源打分scoring.rs的score_stream是整条流水线的灵魂。它先对整个候选集计算语料统计中位数大小、p90 大小、种源分布、院线源占比再用 30 多个信号逐条加减分每条分数变动都记录成可读的reasons完全可追溯加分项节选⚡ 已在 Debrid 缓存60最优先信号直链可播25指定来源插件origin addon250匹配偏好语言12白名单发行组2种源数每 10 个 1封顶 10减分项节选CAM 枪版-80Telesync-60Screener-40年份对不上-70 ~ -150新片更严格文件名写高清、实际是 CAM-100 ~ -200片长与大小不匹配假 4K-120新片 4K 小于 6GB-250新片小得离谱疑似病毒文件-250DTS/TrueHD 在 WebView 里不易解码-6 ~ -13带宽不足按预算惩罚低带宽下 4K 重罚院线窗口博弈电影上映 150 天内若市场被枪版主导疑似假 REMUX/假提前蓝光重罚 -200而真枪版反而 65 ~ 95 让你抢先看评分的同时还会给每条流定质量档位Tier4K_DV → 4K_HDR → 4K → 1080p_HDR → 1080p → 720p → SD → ROUGH为下一阶段分层兜底做准备。阶段四Rank 排序挑选——缓存优先与质量分层兜底rank_and_pick的选法非常讲究产出的RankedPicker包含三样东西primary最终播放项、by_tier每档质量的最优代表、all完整排序列表。挑选规则按优先级缓存优先已缓存/直链的流整体排前秒开就是正义首选已缓存且非院线源的流中分数最高者胜出兜底一若无缓存取第一条非院线源兜底二仍无取排序后的第一条可选模式开启尊重插件顺序时按你在设置里的插件优先级而非纯分数排序同时by_tier保证每个质量档位都留一个最优代表——这就是界面上你能随时在最佳 / 4K / 1080p / 720p之间一键切换的底层能力。四个阶段如何串成一次播放当你点开某部影片的播放时src/lib/streams/pipeline.ts会并发请求所有插件和 Debrid 本地库边收边算每 250ms 刷新一次部分结果合并去重 →parseStream批量解析 →applyTrust安检computeCorpusStatsscoreStream打分 →rankAndPick定标最后一步救援如果新片刚上映多个发行组/多条流互相佐证同一早期泄漏源会把被门禁误杀的高清流恢复回候选集重算整个过程对纯函数部分一次 FFI 调用搞定runPipelinePure快且不丢精度。小结Harbor 资源排序引擎的设计思路纯函数核心四阶段逻辑无副作用前端、原生、测试共用一份实现先淘汰、再打分、后分层Trust 保证能播Score 保证好Rank 保证快且可切换理由可追溯每个加减分都有reason信号排序结果不是黑盒懂场面院线窗口、假 REMUX、病毒小文件……这些真实世界的坑都被写成了规则理解了这条 parse 到 rank 的四阶段流水线你就能明白 Harbor 为何总能第一下就对——它不是运气好而是把挑选资源的经验变成了一套可计算的引擎。【免费下载链接】harborA Custom Stremio Client Built for Adventure!项目地址: https://gitcode.com/gh_mirrors/harbor18/harbor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考