Can we use emotes in extensions? + video extension question

1st question:

I haven’t developed an extension before so I don’t know what resources we have access to.

Can we access streamer and global emotes and use them for a video extension? I.e Display them on the screen


2nd question:

I understand that a video component is supposed to be a panel on the screen whereas an overlay is a full screen thing, but can the iframe for a component take up the full screen? Or can you use multiple iframes for a single component extension?

I’m not familiar with front end development. My idea is to use the full screen for my extension sometimes, but it would mainly be a small panel. Is this possible?

Cheers

As per the Trademark Guidelines

So for Twitch’s emotes, it would be for them to grant you express permission. It’s not for me to say if submitting an extension for review, and it passing that review, would count as permission or not. If you were to use assets that Twitch owns the copyright to where you need express permission you would certainly have to make it clear what you are using and how you are using it.

As for Partner/Affiliate emotes, which the copyright is owned by the partner/affiliate themselves (and they license its use on Twitch), it would be up to them, as well as Twitch, to decide if you can use their emotes. This could potentially be something that you could have the user agree to in a ToS that they agree to let your extension display their emotes (and again, you should be clear the scope of the use of the emotes, ie if you’ll be using the emotes only on their channel or if you intend to use those emotes on other channels with the extension). And you certainly can’t use emotes owned by channels who don’t use your extension unless you reach out to them and get permission first.

This subject may also get a little more strict in the months ahead due to article 13, which mainly will impact broadcasters who use content from outside of Twitch, but it’ll also impact extension devs too. Twitch has a post on that here: https://blog.twitch.tv/from-our-ceo-a-letter-to-twitch-creators-about-article-13-16ae8ec41c70

As for question 2, components can be a maximum of 50% the width of the player, and 100% of the height, and they can’t overlap. So if your extension will be full screen it has to be an overlay, not a component.

Thanks for the info about emotes :slight_smile: . I guess I’ll need to look into it a bit more.


If my extension is a video overlay (I.e fullscreen) how does that impact on it’s functionality compared to a component?

  • A video-overlay extension renders on top of the video player as a transparent overlay. This type of extension is viewable only when the channel is live.
  • A video-component extension renders on top of both the video player and any video-overlay extensions. Component extensions take up only part of the screen and can be hidden by viewers. This type of extension is viewable only when the channel is live.

The docs seem to suggest that if your extension is an overlay then viewers can’t hide it but that seems like the only difference to me.

If I understand the capabilities of JS correctly, it would be no trouble for me to have the extension as an overlay then display only a small panel until I wanted the fullscreen component to come into play.

I also assume that I could make the panel be a drop down or something that auto hides if it’s not moused over.

Overlays can be hidden by the user too, not sure why that isn’t also mentioned there like it is with component.

I assume you’re talking abut some sort of button element, as a ‘panel’ is a different type of extension entirely lol. A large portion of overlay extensions start off using a small portion of the screen just to display a button that then opens a menu or activate stuff that makes use of more screen space.

The nice thing about overlay extensions too is that as you always have the full size of the player available to you, it’s easy to do things like fade out (or hide entirely) certain elements if the users cursor leaves the player, and fade back in when it enters, so as to not disturb the viewing experience of the actual stream. With components you can sometimes run into the issue where you want to hide elements, but then the user has to find where the extension is on the player because it can’t start fading elements in again unless the cursor is within the specific region of the extension, as it can’t tell if the mouse is hovering over the player when it’s outside of its own area.

2 Likes

Haha yes, I didn’t mean the panel type extension. Like I said, I’m not familiar with JS so wasn’t sure what to call it other than a panel on the screen.

The nice thing about overlay extensions too is that as you always have the full size of the player available to you, it’s easy to do things like fade out (or hide entirely) certain elements if the users cursor leaves the player, and fade back in when it enters, so as to not disturb the viewing experience of the actual stream.

This is exactly the sort of thing I want to do, sounds like I’ll be making it an overlay extension. Thanks for your help :smiley: