Twitch-in-Twitch

Open Twitch players inside Twitch player.

What is Twitch-in-Twitch?

Twitch-in-Twitch is a Chrome extension developed by fuzzysound, and its main feature is "Open Twitch players inside Twitch player.".

Extension Screenshots

screenshot
screenshot
screenshot

Download Twitch-in-Twitch Extension CRX File

Download Twitch-in-Twitch extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.

Extension Usage Instructions

                        Pop up one or more Twitch streaming windows inside other Twitch channel (or some other supported streaming platform channel).

Features:
- Pop up one or more Twitch streaming windows inside Twitch or other supported streaming platform channel
(Currently supported: Twitch, Youtube, Naver eSports, AfreecaTV)
- Pop up Twitch chat window (not supported for VOD)
- Find the latest VOD of streamer and pop it up
- Go to the latest VOD of streamer
- Move or resize popped streaming or chat (using header bar)
- Add streamers to Favorites
- Set delay for main broadcast
- Support Move Time Together mode and Spoiler Free mode for Twitch VODs

How to Use:
[Basic Features]
- The extension icon will only be activated once you get into a supported streaming platform.
- Click the icon to open control panel.
- Type a streamer ID or VOD ID in [streamer/VOD ID] field.
- Example: www.twitch.tv/some_streamer -> streamer ID: some_streamer
                    www.twitch.tv/videos/12345678 -> VOD ID: 12345678
- Click Twitch button to open streaming window.
- Click chat button to open chat window.
- Click video button to open the latest VOD of the streamer as window.
- Click video with arrow button to go to the latest VOD page of the streamer.
- Click the star button to add to Favorites. Click the empty star button on Favorites list to remove from Favorites.

[Dark Mode]
- Toggle the switch on "Dark mode" panel to enable/disable dark mode.
- The dark mode will be applied to:
    - Control panel
    - Streaming window
    - Chat window

[Twitch VOD Only Features]
- Move Time Together: While you are watching Twitch VOD with other Twitch VODs popped up as streaming windows, you might want all VODs move time together when you fast-forward / back with arrow keys. You can do this with Move Time Together mode enabled. Toggle the switch on "Twitch VOD only features" panel's "Move time together" to enable / disable Move Time Together mode.
- Spoiler Free Mode: Sometimes you might not want to look at time information of a VOD because it is kinda spoiler for something like Bo5 match. You can hide time information with Spoiler Free mode enabled. Toggle the switch on "Twitch VOD only features" panel's "Spoiler free" to enable / disable Spoiler Free mode.

[Stream Layer Config]
You can choose one of the two streaming layer configuration.
- Inside main: The streaming windows will be inside the main broadcast. You cannot move the windows out of the main broadcast, but they will be still visible in fullscreen mode.
- Outside main: The streaming windows will be outside the main broadcast. You can move the windows to everywhere, but they will not be visible in fullscreen mode.

[Window Finder]
When you cannot find the opened window, click the "I can't see streams or chat!" button. It will reveal the position of opened windows with colored layout. If they are hidden underneath other HTML elements at their first open (so that you don't even have a chance to move them), you can go to Options and change initial window position. If you still cannot find anything after the button click, then just refresh the page.

[Main Broadcast Delay]
- Type number in field next to [Main Broadcast Delay] and click "APPLY" button to apply delay on main broadcast.
- You can also apply negative or decimal values.

FAQ:
- I can't find any stream or chat when I clicked the buttons.
: There are two possibilities; one is that the frames actually didn't pop up, and the other is that the frames did pop up but at positions not visible to you. To check, click extension icon and click "I can't see streams or chat!" button. If the frames exist, their overlays will be highlighted one by one. If they don't, try refreshing the page.
If the initial position of the frame is unreachable, go to options and adjust initial position and size of the frame.

- A purple screen with some texts appears intermittently and blocks screen.
: It is shown to you instead of Twitch Ad. There is no way other than subscribing.

- I mistakenly moved the frame out to unreachable place.
: In Twitch-in-Twitch, it remembers the last position and size of the frame for each streamer and uses it when it pops up the frame again. So if you want to initialize the position of the frame, you have to reset data. Go to options and click data reset button.

- I got #2000 error.
: Twitch's #2000 error occurs due to network issues. Some publicly known solutions are below.
- Turn off Adblock
- Delete internet browsing history on your browser
- Turn off VPN (in case you are using it)
- Relogin Twitch
- Add Twitch to exceptions on your antivirus software
- Restart your computer
- Use secret mode
- Use other browsers (Edge, Whale, ...)
If any of these don't work, please check your network.

Updates:
v1.1
- fix issue icon not being activated
- adjust text field width

v1.2
- add options page
    - manage favorites
    - adjust initial position and size
    - reset data
- add dark mode
- add content finder
- add showing current delay
- enable minus delay

v1.2.1
- fix bug with popup not showing (caused by Twitch UI update)

v1.3
- fix bugs
    - chat window not open at its last position before close
    - chat window position is not initialized after data reset
    - changing initial position to value 0 not working in Options page
- add Twitch VOD related features
    - open the latest VOD of the streamer
    - go to the latest VOD page of the streamer
    - Move Time Together mode
    - Spoiler Free mode
- add stream layer config so that users can choose in which layer to locate streaming windows
- add multi-platform support for Youtube, Naver eSports and AfreecaTV

v1.3.1
- fix bugs
    - fix spoiler-free mode
- Make move-time-together mode work more smoother
- Add choices for time move unit
- Make "Go to the latest VOD" button work anywhere
- Add Reset pos/size button

v1.3.2
- fix bugs 
    - control panel is too narrow (caused by Chrome update)

Github: https://github.com/fuzzysound/twitch-in-twitch                    

Extension Basic Information

Name Twitch-in-Twitch Twitch-in-Twitch
ID khjnemehcblfobbhkhlmjjeionfabgab
Official URL https://chromewebstore.google.com/detail/twitch-in-twitch/khjnemehcblfobbhkhlmjjeionfabgab
Description Open Twitch players inside Twitch player.
File Size 2.01 MB
Installation Count 23,275
Current Version 1.3.2
Last Updated 2023-12-09
Publish Date 2021-09-30
Rating 4.53/5 Total 15 Ratings
Developer fuzzysound
Email [email protected]
Payment Type free
Supported Languages en,ko
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "manifest_version": 3,
    "name": "Twitch-in-Twitch",
    "version": "1.3.2",
    "description": "__MSG_description__",
    "permissions": [
        "declarativeContent",
        "tabs",
        "storage",
        "webNavigation",
        "debugger"
    ],
    "host_permissions": [
        "https:\/\/www.twitch.tv\/",
        "https:\/\/www.youtube.com\/",
        "https:\/\/game.naver.com\/",
        "https:\/\/*.afreecatv.com\/"
    ],
    "background": {
        "service_worker": "static\/js\/background.js"
    },
    "content_scripts": [
        {
            "js": [
                "static\/js\/content.js"
            ],
            "css": [
                "static\/css\/content.css"
            ],
            "matches": [
                "https:\/\/www.twitch.tv\/*",
                "https:\/\/www.youtube.com\/*",
                "https:\/\/game.naver.com\/*",
                "https:\/\/*.afreecatv.com\/*"
            ]
        },
        {
            "js": [
                "static\/js\/iframeContent.js"
            ],
            "all_frames": true,
            "matches": [
                "https:\/\/player.twitch.tv\/*"
            ]
        }
    ],
    "icons": {
        "16": "logo\/logo16.png",
        "32": "logo\/logo32.png",
        "48": "logo\/logo48.png",
        "128": "logo\/logo128.png"
    },
    "action": {
        "default_icon": {
            "16": "logo\/logo16.png",
            "32": "logo\/logo32.png",
            "48": "logo\/logo48.png",
            "128": "logo\/logo128.png"
        },
        "default_title": "Popup",
        "default_popup": "popup.html"
    },
    "options_ui": {
        "page": "options.html"
    },
    "web_accessible_resources": [
        {
            "resources": [
                "static\/media\/*"
            ],
            "matches": [
                "https:\/\/www.twitch.tv\/*",
                "https:\/\/www.youtube.com\/*",
                "https:\/\/game.naver.com\/*",
                "https:\/\/*.afreecatv.com\/*"
            ]
        }
    ],
    "default_locale": "en"
}