mirror of
https://github.com/DerTyp7/teamspeak-obs-overlay.git
synced 2026-07-31 16:49:04 +02:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b8bbb610d | ||
|
|
aaa770be2b | ||
|
|
9de39752f3 | ||
|
|
2499582f66 | ||
|
|
ad26dd62ad | ||
|
|
0a026baa9b | ||
|
|
a2b8f3620a | ||
|
|
06b940b7c9 | ||
|
|
c75d81eb43 | ||
|
|
529d1acbb6 | ||
|
|
e7e295cad1 | ||
|
|
10e8752bca | ||
|
|
6eb5785bfd | ||
|
|
6c912c37e4 |
22
README.md
22
README.md
@@ -1,13 +1,13 @@
|
|||||||
# TeamSpeak5-OBS-Overlay
|
# TeamSpeak-OBS-Overlay
|
||||||
|
|
||||||
This is an overlay for OBS to show the current talking clients in your TeamSpeak5 Channel.
|
This is an overlay for OBS to show the current talking clients in your TeamSpeak5/6 Channel.
|
||||||
This App uses the new "Remote Apps" feature of TeamSpeak5.
|
This App uses the new "Remote Apps" feature of TeamSpeak5/6.
|
||||||
|
|
||||||
This overlay uses the [TeamSpeak5 Remote App API](https://github.com/DerTyp7/react-ts5-remote-app-api).
|
This overlay uses the [TeamSpeak Remote App API](https://github.com/DerTyp7/react-teamspeak-remote-app-api).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- [TeamSpeak5-OBS-Overlay](#teamspeak5-obs-overlay)
|
- [TeamSpeak-OBS-Overlay](#teamspeak-obs-overlay)
|
||||||
- [Usage](#usage)
|
- [Usage](#usage)
|
||||||
- [Quick instructions](#quick-instructions)
|
- [Quick instructions](#quick-instructions)
|
||||||
- [Detailed instructions](#detailed-instructions)
|
- [Detailed instructions](#detailed-instructions)
|
||||||
@@ -20,16 +20,16 @@ This overlay uses the [TeamSpeak5 Remote App API](https://github.com/DerTyp7/rea
|
|||||||
|
|
||||||
### Quick instructions
|
### Quick instructions
|
||||||
|
|
||||||
1. Open this link in your Browser: [https://ts5-overlay.tealfire.de/#/generate](https://ts5-overlay.tealfire.de/#/generate)
|
1. Open this link in your Browser: [https://teamspeak-overlay.tealfire.de/#/generate](https://teamspeak-overlay.tealfire.de/#/generate)
|
||||||
2. Follow the instructions on the website
|
2. Follow the instructions on the website
|
||||||
3. Accept overlay inside TeamSpeak5
|
3. Accept overlay inside TeamSpeak5/6
|
||||||

|

|
||||||
|
|
||||||
### Detailed instructions
|
### Detailed instructions
|
||||||
|
|
||||||
Try this instruction if you have problems with the quick instructions above.
|
Try this instruction if you have problems with the quick instructions above.
|
||||||
|
|
||||||
1. Open this link in your Browser: [https://ts5-overlay.tealfire.de/#/generate](https://ts5-overlay.tealfire.de/#/generate)
|
1. Open this link in your Browser: [https://teamspeak-overlay.tealfire.de/#/generate](https://teamspeak-overlay.tealfire.de/#/generate)
|
||||||
|
|
||||||
2. Follow the instructions on the website
|
2. Follow the instructions on the website
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ Try this instruction if you have problems with the quick instructions above.
|
|||||||
Make sure you accepted the notification in your TeamSpeak Client.
|
Make sure you accepted the notification in your TeamSpeak Client.
|
||||||
|
|
||||||
**Fix 2**
|
**Fix 2**
|
||||||
Sadly TeamSpeak5 does not give us any information about the current active server tab.
|
Sadly TeamSpeak5/6 does not give us any information about the current active server tab.
|
||||||
So we try currently use a workaround, where the active server tab is determined by looking on which server the your hardware input was unmuted the latest, since the non-active server tabs in TS5 usually mute the client’s microphone.
|
So we try currently use a workaround, where the active server tab is determined by looking on which server the your hardware input was unmuted the latest, since the non-active server tabs in TS5 usually mute the client’s microphone.
|
||||||
|
|
||||||
However this workaround is not 100% accurate and can fail in some cases.
|
However this workaround is not 100% accurate and can fail in some cases.
|
||||||
@@ -64,7 +64,7 @@ However this workaround is not 100% accurate and can fail in some cases.
|
|||||||
Possible fixes:
|
Possible fixes:
|
||||||
|
|
||||||
- Unmute and mute yourself in the active server tab (Just a normal unmute and mute, not the hardware mute)
|
- Unmute and mute yourself in the active server tab (Just a normal unmute and mute, not the hardware mute)
|
||||||
- Reconnect to the TS5 server while the overlay is open
|
- Reconnect to the TS5/6 server while the overlay is open
|
||||||
|
|
||||||
### OBS doesn't show the latest version of the overlay
|
### OBS doesn't show the latest version of the overlay
|
||||||
|
|
||||||
|
|||||||
2847
package-lock.json
generated
2847
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
49
package.json
49
package.json
@@ -1,17 +1,20 @@
|
|||||||
{
|
{
|
||||||
"name": "ts5-obs-overlay",
|
"name": "teamspeak-obs-overlay",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "2.1.1",
|
"version": "2.2.0",
|
||||||
"description": "Overlay for OBS to show the current talking clients in your TeamSpeak 5 Channel",
|
"description": "Overlay for OBS to show the current talking clients in your TeamSpeak Channel",
|
||||||
"author": "DerTyp7",
|
"author": "DerTyp7",
|
||||||
"homepage": "https://dertyp7.github.io/ts5-obs-overlay/#",
|
"homepage": "https://dertyp7.github.io/teamspeak-obs-overlay/#",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/DerTyp7/ts5-obs-overlay"
|
"url": "https://github.com/DerTyp7/teamspeak-obs-overlay"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"ts5",
|
"ts5",
|
||||||
|
"ts6",
|
||||||
|
"teamspeak6",
|
||||||
"teamspeak",
|
"teamspeak",
|
||||||
|
"teamspeak5",
|
||||||
"overlay",
|
"overlay",
|
||||||
"remote app",
|
"remote app",
|
||||||
"obs",
|
"obs",
|
||||||
@@ -20,7 +23,7 @@
|
|||||||
"vite"
|
"vite"
|
||||||
],
|
],
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/DerTyp7/ts5-obs-overlay/issues"
|
"url": "https://github.com/DerTyp7/teamspeak-obs-overlay/issues"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -30,24 +33,24 @@
|
|||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "^20.8.3",
|
"@types/node": "^22.10.10",
|
||||||
"react": "^18.2.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^19.0.0",
|
||||||
"react-router-dom": "^6.21.3",
|
"react-router-dom": "^7.1.3",
|
||||||
"react-ts5-remote-app-api": "^1.1.1",
|
"react-teamspeak-remote-app-api": "^2.0.0",
|
||||||
"sass": "^1.68.0"
|
"sass": "^1.83.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^29.5.2",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/react": "^18.2.35",
|
"@types/react": "^19.0.8",
|
||||||
"@types/react-dom": "^18.2.18",
|
"@types/react-dom": "^19.0.3",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.20.0",
|
"@typescript-eslint/eslint-plugin": "^8.21.0",
|
||||||
"@typescript-eslint/parser": "^6.9.1",
|
"@typescript-eslint/parser": "^8.21.0",
|
||||||
"@vitejs/plugin-react-swc": "^3.6.0",
|
"@vitejs/plugin-react-swc": "^3.7.2",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "^9.18.0",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^5.1.0",
|
||||||
"eslint-plugin-react-refresh": "^0.4.5",
|
"eslint-plugin-react-refresh": "^0.4.18",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.7.3",
|
||||||
"vite": "^4.5.2"
|
"vite": "^6.0.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import "@styles/App.scss";
|
import "@styles/App.scss";
|
||||||
|
|
||||||
import { Navigate, Route, Routes, useSearchParams } from "react-router-dom";
|
import { Route, Routes, useSearchParams } from "react-router-dom";
|
||||||
import Viewer from "./Viewer";
|
import Viewer from "./Viewer";
|
||||||
import Generator from "./Generator";
|
import Generator from "./Generator";
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import React, { ChangeEvent, useRef, useState, useEffect } from "react";
|
import { ChangeEvent, useRef, useState, useEffect } from "react";
|
||||||
import "@styles/Generator.scss";
|
import "@styles/Generator.scss";
|
||||||
import Viewer from "./Viewer";
|
import Viewer from "./Viewer";
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ export default function Generator() {
|
|||||||
<div className="generator">
|
<div className="generator">
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="headline">
|
<div className="headline">
|
||||||
<h1>TS5-OBS-Overlay Generator</h1>
|
<h1>TeamSpeak-OBS-Overlay Generator</h1>
|
||||||
<h4>by DerTyp7</h4>
|
<h4>by DerTyp7</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import "@styles/Viewer.scss";
|
import "@styles/Viewer.scss";
|
||||||
import useTSRemoteApp, { IClient } from "react-ts5-remote-app-api";
|
import useTSRemoteApp, { IClient } from "react-teamspeak-remote-app-api";
|
||||||
|
|
||||||
export default function Viewer({
|
export default function Viewer({
|
||||||
remoteAppPort = 5899,
|
remoteAppPort = 5899,
|
||||||
@@ -16,9 +16,9 @@ export default function Viewer({
|
|||||||
remoteAppPort: remoteAppPort,
|
remoteAppPort: remoteAppPort,
|
||||||
auth: {
|
auth: {
|
||||||
identifier: "de.tealfire.obs",
|
identifier: "de.tealfire.obs",
|
||||||
version: "2.1.1",
|
version: "2.2.0",
|
||||||
name: "TS5 OBS Overlay",
|
name: "TeamSpeak OBS Overlay",
|
||||||
description: "A OBS overlay for TS5 by DerTyp7",
|
description: "A OBS overlay for TeamSpeak by DerTyp7",
|
||||||
},
|
},
|
||||||
logging: true,
|
logging: true,
|
||||||
});
|
});
|
||||||
@@ -151,11 +151,11 @@ export default function Viewer({
|
|||||||
<h4>Overlay couldn't connect to the client:</h4>
|
<h4>Overlay couldn't connect to the client:</h4>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<h5>1. Make sure to accept the overlay in your TS5-Client via the notifications</h5>
|
<h5>1. Make sure to accept the overlay in your TeamSpeak-Client via the notifications</h5>
|
||||||
<br />
|
<br />
|
||||||
<h5>2. Enable remote apps inside the the TS5-Settings</h5>
|
<h5>2. Enable remote apps inside the the TeamSpeak-Settings</h5>
|
||||||
<br />
|
<br />
|
||||||
<h5>3. Make sure to match the configuration port with the port in the TS5 remote app settings</h5>
|
<h5>3. Make sure to match the configuration port with the port in the TeamSpeak remote app settings</h5>
|
||||||
<br />
|
<br />
|
||||||
<h5>4. Refresh this page/BrowserSource (Select BrowserSource & click "Refresh" in OBS)</h5>
|
<h5>4. Refresh this page/BrowserSource (Select BrowserSource & click "Refresh" in OBS)</h5>
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import React from "react";
|
|
||||||
import ReactDOM from "react-dom/client";
|
import ReactDOM from "react-dom/client";
|
||||||
import App from "./App.tsx";
|
import App from "./App.tsx";
|
||||||
import "@styles/index.scss";
|
import "@styles/index.scss";
|
||||||
|
|||||||
Reference in New Issue
Block a user