作品和分P是两个层次

准备观看一个多分P教程时,打开了错误片段可能并不是播放故障。这个请求需要 bv_id 与 cid:前者定位作品,后者对应具体内容片段。先从可靠的作品资料确认二者属于同一目标,不要把整个合集的标识或另一个分P的编号混入。明确要看的是哪一节,比反复刷新地址更有帮助。

获取地址后仍需检查实际播放

该入口返回视频流地址,使用前核对响应中实际给出的内容。它不自动替你选择正确分P,也不能保证所有客户端都以相同方式播放。假设你想看安装部分,却获取了介绍部分的 cid,应先纠正标识关系,而不是把播放器设置越改越复杂。把地址获取与播放验证分成两步,便于判断问题在哪个环节。

保留定位信息而非长期依赖临时地址

自己的排查笔记可以包含 BV、cid、目标片段说明、检查时间与实际观察。不要把视频流地址直接当作永久来源引用,原作品链接更适合保留出处。地址可访问也不等于有下载、剪辑或再分发许可。完成检查时说明是否只是取得数据,还是确实在目标环境中验证了播放;没有做后一步,就不能把“已获取”写成“所有设备均可播放”。

完整地址与参数

GET https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_video_playurl

参数 类型 必填 含义
bv_id string 是 作品id
cid string 是 作品cid

可以复制的 Python 请求

安装 requests 并在环境变量中设置 TRMESH_API_TOKEN。把示例用户名或作品 ID 换成你要查询的对象。

import os
import requests

# 使用自己的 TRMesh 开发者密钥;不要将密钥写入网页。
url = "https://api.trmesh.com/openapi/api/v1/bilibili/web/fetch_video_playurl"
params = {
    "bv_id": "BV1y7411Q7Eq",
    "cid": "171776208"
}
response = requests.get(
    url, params=params, timeout=30,
    headers={"Authorization": f"Bearer {os.environ['TRMESH_API_TOKEN']}"},
)
response.raise_for_status()
payload = response.json()
print(payload)  # 先核对真实响应,再提取业务字段

对应接口文档 · 返回免费查询工具

调用接口会使用你的 TRMesh 账号额度,运行前请确认接口价格。