Twitch embedded video now broken on iOS?

See image:
http://imgur.com/KhCd7zy

I developed an app that uses the old TwitchKit plugin for iOS, which basically just uses an HTML5 embed in a webview. Sometime recently, a change on Twitch’s side has completely broken these embeds from playing. See the screenshot above. Can you please fix ASAP?

EDIT: I believe this coincides with the change to redirecting the /embed endpoint to the player.twitch.tv domain and the new HTML5 player. It is not working properly in mobile safari. Per the post below, I’ve tested in a web view (TwitchKit), in a Safari webview (SFSafariViewController), in Mobile Safari, and the iOS version of Chrome (which also uses Safari’s rendering engine I believe). All broken for most streams.

On further testing it’s definitely not just limited to the app.

I’d say maybe one in ten streams works. Sometimes a stream will work, and that same stream will play every time.

Here’s my recorded video. The (randomly selected) channel “kindly” seems to work fine, but all the more notable streamers I try (1FOW1, Fuzziness, VitaminZK, FatGoku) don’t work. Maybe “kindly” is unmonetized and the others have ads? Not sure the connection.

High res testing different scenarios, 25 mb

The first thing I did after the last post was to try creating a SFSafariViewController and using that instead to go to Twitch Error of the TwitchKit plugin. My test was the fuzzyness channel which was streaming a Super Smash Bros Melee single player speedrun (and still is at time of writing).

I got the exact same thing as with the TwitchKit plugin, when using Apple’s SFSafariViewController:

Next, I exited the app and typed the same url in to Safari manually. I got the same results:

There’s clearly some kind of issue here.

And just to rule out a network or caching issue, I sent my wife the URL over Facebook Messenger. She clicked the link and got the same result (unable to play).

I then fired up my app in the iOS simulator, and was still unable to get it to play (tested both TwitchKit and SFSafariViewController). Then I tested in MobileSafari on the iOS simulator, and it played just fine.

I had the stream playing on my desktop to validate it was still up.

I’m thoroughly confused as to this inconsistency (two iPhones don’t work in mobile safari, but the simulator does, all, all three fail in the app using SFSafariViewController), but there’s definitely some kind of issue going on here.

This issue is still occurring. I’ve tested in Mobile Safari and Chrome. ~90% of streams I test show as broken when I try to play them from player.twitch.tv/?channel=CHANNELNAME .

Something Twitch changed has broken Twitch streaming to iOS clients on mobile safari and web views.

Can someone look in to this ASAP?

At some point today, it has changed from showing a broken play button, to showing “Channel could not be found, or has been deleted by owner.”

Screenshot: http://i.imgur.com/ZkTAuP9.png

Is someone working on this? I’ve reached out on Reddit, Twitter, and these boards and am not getting much of a response to a major issue that seems to break Twitch streaming on the player.twitch.tv domain on all iOS/mobile Safari clients.

We investigated and could not reproduce the issue. As you discovered in the reddit thread, the channel parameter must be the channel login, not display_name, which is always lowercase.

Ok, after the comment in the reddit thread, I’m able to reproduce consistently.

The issue is that, for some reason, if a login is used that contains case letters, it works fine on a desktop browser but not on mobile. So, the new player.twitch.tv is case sensitive on mobile browsers (iOS Safari) but not case sensitive on desktops (Windows Chrome).

So for example,
twitch.tv/ArmadaUGS/embed
redirects to
player.twitch.tv/?channel=ArmadaUGS

The latter url works fine on Windows/Chrome, but does not work on iOS/Safari. The old /embed url used to work fine, but now that it is redirecting to the player domain, it’s broken (on iOS). A simple suggestion patch that would fix existing clients and existing embed links out on the internet: When redirecting, use the lowercase version.

Therefore, twitch.tv/ArmadaUGS/embed would redirect to:
player.twitch.tv/?channel=armadaugs

This would be a global fix for any existing applications/embeds.

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