先确定格式再申请地址
这个入口适用于已经知道目标视频和格式的情况。先从视频流信息取得 itag,再与 video_id 或 video_url 一起用于查询;不要凭印象填写别的视频使用过的格式编号。格式选择涉及是否含音频与画面质量,拿到地址之前就应明确你的播放器需要哪一种,不让后续播放问题掩盖最初的选择错误。
有效期以返回结果为准
响应提供 itag、已签名的 url 和 expires_in_seconds。文档说明有效期通常约六小时,但实际处理应读取结果,而不是写死一个永不过期的地址。保存查询时间与有效期,使用前检查是否仍在可用窗口内。地址失效后不要把旧值反复当作永久配置,更不能据此断言视频已经删除。
给播放排查保留两段证据
假设播放工具没有声音,先核对选中的格式是否仅含视频,再检查地址是否仍有效;这两个问题不应混为一谈。自己的记录可以保存目标视频、itag、获取时间和验证结果,分享排查信息时避免不必要地公开临时地址。签名只解决地址获取问题,不授予下载或传播权利。只有在目标环境实际验证后,才把记录标记为播放通过,而不是把成功返回URL当作终点。
完整地址与参数
GET https://api.trmesh.com/openapi/api/v1/youtube/web_v2/get_signed_stream_url
| 参数 | 类型 | 必填 | 含义 |
|---|---|---|---|
video_id |
string | 否 | 视频ID |
video_url |
string | 否 | 视频URL |
itag |
integer | 是 | 格式标识符 itag (从 get_video_streams 接口获取) |
可以复制的 Python 请求
安装 requests 并在环境变量中设置 TRMESH_API_TOKEN。把示例用户名或作品 ID 换成你要查询的对象。
import os
import requests
# 使用自己的 TRMesh 开发者密钥;不要将密钥写入网页。
url = "https://api.trmesh.com/openapi/api/v1/youtube/web_v2/get_signed_stream_url"
params = {
"video_id": "dQw4w9WgXcQ",
"video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"itag": "18"
}
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 账号额度,运行前请确认接口价格。