Download /v/ vods, using video API call

Hi there,

I was wondering about the index of the new TS chunks for the new vod system, identified by the /v/ links (like http://www.twitch.tv/merlinidota/v/3643712). When requesting information about this video through an API call (like https://api.twitch.tv/api/videos/v3643712) the information that was previously stored in “chunks” is no longer available.

This makes sense of course, because the new system doesn’t use the FLV chunks anymore, but the new 3-4 second .ts files. I can see in the chrome console where the GET requests are going, and what’s coming back, and I found the .m3u8 index at that same location that holds the references to the small “chunks”. My question is: will the location of that index file (the m3u8) become a part of the API information that’s returned for /v/ vods?

I have a desktop application that automatically FFMPEG-ed together the chunks after downloading each individually, and want to make it compatible with the new system, ideally by being able to write a parser for the m3u8 index after retrieving it from the API call.

If I missed something, or was unclear, please let me know and I’ll try to clarify! Thanks for all the hard work!

I’m very much interested in this answer, too. Not being someone very well-versed in interacting with APIs, I just spent a few weeks (here and there) finding a way to make downloading saved broadcasts easier on myself. Finished it last night, and today the whole thing changed. So, it’s probably my fault. Sorry guys! :smile:

That is likely not a feature what will be provided in a public documented API. Twitch does not support playing (and by extension downloading) video content outside the provided Flash, HTML5, or platform players.

Ah ok, thanks for the response!

I’m assuming you mean that Twitch doesn’t support this feature in the new system, as it was supported in the “chunks” field returned by the API call in the old system? I’ll see what I can cook up without this information being delivered by the API though!

It’s not supported as in its an undocumented API intended to provide functionality to the official Twitch players. You’re not going to find assistance through official channels.

Good to know, thanks again!

I figured out how it works and outlined it on a repository: https://github.com/fonsleenaars/twitch-hls-vods. I’ll add an example / library once I’ve finished up the work on my current project. I haven’t put things on public repositories before so if I missed something/messed something up, please let me know.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.