获取 Twitch VOD 源视频 URL

Posted

技术标签:

【中文标题】获取 Twitch VOD 源视频 URL【英文标题】:Get Twitch VOD source video URL 【发布时间】:2017-10-25 18:31:26 【问题描述】:

我正在 Unity 中构建一个可以通过 AVPro 视频播放器播放 Twitch VOD 的应用程序。使用 Twitch 的 V5 API,我最多可以检索给定频道 (source) 的 100 个最新 VOD。

我已经成功地做到了;然而,JSON 对象包含带有指向 VOD 链接的 URL——如果你去一个频道并点击一个存档的广播,你会看到相同的 URL——但不是指向视频文件本身的链接。我需要一个视频文件来链接到 AVPro 以播放 VOD,我已经在整个互联网上搜索并通过 Twitch 的 API 并找不到获取与 VOD 对应的视频文件的 URL 的方法。我不想通过第 3 方服务下载 VOD,因为这会占用用户太多的内存。需要注意的是,我使用 Unity 的 WWW 类在 C# 中获取这些数据。

我缺少什么,或者这根本不可能?非常感谢所有帮助!

【问题讨论】:

我不相信 Twitch 提供他们 VOD 的直接下载,但是还有其他程序,例如 Livestreamer 和 Streamlink,已经实现了通过选择的播放器(例如 VLC)传输直播流和 VOD 的能力仅使用流/VOD 的 URL。我相信这两个都是开源的,因此您可以查看他们的代码以寻求帮助或直接使用程序将字节传输到您的应用程序。 【参考方案1】:

通过查看源代码到Twitch Leecher,我发现了以下两个API调用:

1. https://api.twitch.tv/api/vods/0/access_token
2. https://usher.ttvnw.net/vod/0?nauthsig=1&nauth=2&allow_source=true&player=twitchweb&allow_spectre=true&allow_audio_only=true

第一个 API 接收 0 的 VOD 的视频 ID 并返回令牌和签名。对于第二个 API,再次使用 0 的视频 ID、1 的签名和 2 的整个令牌。

完成后,我得到了一个字符串,其中包含对应于不同质量的 VOD 的各种源 URL。那么解析结果并获取我想要的链接就很简单了!

【讨论】:

您使用 javasript 吗?我怎样才能获得与纯 js 的直接链接(没有 npm)

以上是关于获取 Twitch VOD 源视频 URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 在 youtube 和 Vimeo 源之间切换

在 PHP 中使用 Twitch API 获取 Twitch 关注者

将 JavaScript 评估为 WKWebView 以获取视频 URL 不起作用

如何在 youtube 上获取可下载的直播视频 URL

jquery里的ajax怎么获取返回的数据

视频的上传及购买播放