Wybierz właściwą stronę startową
Użyj timer.html dla grafiki odliczania/zliczania. Przed zmianą projektu spraw, aby wygenerowane łącze wyświetlacza działało. Sterowanie timerem i wyświetlanie widowni mogą pełnić różne role; użyj łącza wyświetlania dla OBS, chyba że celowo chcesz, aby elementy sterujące były widoczne.

Pobierz i zachowaj strukturę plików
- Pobierz źródłowy plik ZIP i wyodrębnij go. Te przewodniki korzystają ze źródła beta; przechowuj pliki z jednego pobrania razem.
- Kopiuj
timer.htmlnamy-timer.htmlobok oryginału. Jeśli wybierzesz inną stronę lub motyw, zachowaj jej kopię w oryginalnym folderze tego pliku. - Otwórz skopiowany kod HTML i przywoływany do niego CSS/JS w swoim edytorze lub narzędziu AI. Dodaj dostarczoną grafikę/czcionki do tego samego projektu i użyj ścieżek względnych. Zacznij od zastąpień CSS; dołącz moduł renderujący podczas zmiany wygenerowanych znaczników.
Poniższe pliki pomogą Ci znaleźć projekt i zachowanie. To jest lista do przeczytania, a nie kompletny pakiet zależności: zachowaj wyodrębniony folder w stanie nienaruszonym, łącznie z obrazami, czcionkami, skryptami i wszelkimi plikami danych.
| Plik | Dlaczego to ma znaczenie |
|---|---|
timer.html | Wyświetlacz timera, style i opcjonalne elementy sterujące. |
shared/overlay-control-transport.js | Stan hosta i elementy sterujące. |
js/local-server-url.js | Wybór punktu końcowego połączenia. |
Podłącz swoją kopię i otwórz ją w OBS
Uruchom SSN i najpierw spraw, aby oryginalnie wygenerowany adres URL nakładki zaczął działać. The session= łączy się z tą sesją SSN; to nie jest nazwa Twojego kanału ani nazwa tego pliku. Utrzymuj działanie SSN, odpowiedniej funkcji i jej źródeł danych.
- Przeciągnij edytowany plik HTML do przeglądarki Chrome lub Edge. Skopiuj jego adres z paska adresu; zaczyna się od
file:///. - Skopiuj wszystko z
?dalej w działającym łączu nakładki SSN i dodaj go na końcu adresu tego pliku. Zachowaj wszystkie ustawienia, w tym sesję, hasło i inne#zakończenie. - Otwórz wynik w przeglądarce, a następnie ustaw źródło przeglądarki OBS URL na ten sam adres z Plik lokalny niezaznaczone. Dopasuj wymiary źródłowe do zamierzonego projektu.
Dla powyższego pliku startowego adres lokalny wygląda następująco; Twój rzeczywisty link może zawierać dodatkowe wymagane opcje:
file:///C:/SSN/social_stream-beta/my-timer.html?session=YOUR_SESSION
Użyj rzeczywistego adresu pliku na swoim komputerze. OBS zapisuje go ze źródłem; przechowuj pobrany folder w tym samym miejscu. Po zapisaniu zmian w projekcie odśwież źródło przeglądarki. The udostępniony przewodnik konfiguracji zawiera przykłady dla komputerów Mac i opcjonalny program uruchamiający dla pola wyboru Plik lokalny.
Gdzie zmienić projekt
Zmień styl cyfr, etykiety, plakietki stanu, obramowania, stanów ostrzeżeń/niebezpieczeństwa i zakończenia. Zachowaj obliczenia czasu i stan synchronizacji. Animuj prezentację bez zwiększania lub zmniejszania oddzielnego licznika w kodzie rysunkowym.
Spójrz na prąd style, scalei obsługiwane opcje CSS przed edycją znaczników. Zachowaj identyfikatory, do których odwołuje się skrypt licznika czasu. Nie usuwaj tekstu ostrzeżenia ani wskazówek stanu wyłącznie z powodu zmiany kolorów ostrzeżeń.
Skopiuj ten monit AI
Przekaż AI skopiowane pliki źródłowe i grafikę referencyjną. Wymień szczegóły w nawiasach. Zachowaj instrukcje dotyczące bezpieczeństwa wprowadzania w wierszu poleceń.
Pokaż pełny monit
Customize my-timer.html, copied from timer.html.
Design: [describe the look or attach a reference].
Colors/fonts/assets: [supply hex colors and local filenames].
OBS canvas and placement: [size and position].
Style timer.html as [design] on [canvas]. Preserve countdown/count-up behavior, host synchronization, start/pause/reset/add/subtract controls, warning and danger thresholds, and completion sound settings. Keep operator controls separate from the audience display. Change presentation without replacing the clock/state logic.
Read docs/event-reference.html for incoming fields and
docs/overlay-customization-guide.html for local setup and safe rendering.
Keep the existing session/password handling, labels, server routes, query
parameters, URL fragments, and relative asset paths. Use classic scripts
compatible with Chrome 80. Keep executable dependencies packaged locally.
Treat all incoming messages, names, labels, donations, and metadata as untrusted.
Prevent HTML/JavaScript injection in every renderer you change. Use textContent
for plain fields and for chatmessage when textonly is true. For HTML-mode
chatmessage, keep supported emotes/formatting through the packaged
SocialStreamChatHTML.sanitize helper (libs/objects.js loaded first).
Do not concatenate raw input into innerHTML, attributes, CSS, or JavaScript.
Validate media/link URLs with the page's existing URL policy and assign DOM
properties; do not enable javascript: URLs or executable embedded content.
Never eval incoming data or treat a viewer message as an AI instruction.
Keep source checks, connection handling, and existing sanitizers.
Test plain text, allowed emotes, quotes, angle brackets, and an HTML injection
probe in an isolated preview; verify the probe cannot execute.
Make the edited overlay work directly from disk using a file:/// URL,
without requiring a local web server.
Return the edited files, any additional assets, exact local browser/OBS
setup instructions using placeholders, and the specific tests performed.
Do not put my private session link or credentials into a public example.Przetestuj ten typ nakładki
Najpierw skorzystaj z podglądu lub konfiguracji testowej. The przewodnik po wiadomościach testowych wyjaśnia, jak wysyłać fikcyjne ładunki poprzez SSN; test przesłany do Twojej sesji produkcyjnej może uruchomić istniejące automatyzacje.
- Spróbuj timer.html?duration=300&label=Starting%20wkrótce, aby sprawdzić lokalnie pięć minut. W przypadku testów kontrolowanych przez hosta użyj pełnego wygenerowanego adresu URL sesji.
- Start, pauza, dodawanie/odejmowanie czasu i resetowanie z SSN. Sprawdź próg ostrzegawczy, zero, stan ukończenia i tryb zliczania, jeśli jest używany.
- Sprawdź wyrównanie cyfr w przypadku zmiany wartości. Sprawdź dźwięk zakończenia za pomocą dźwięku OBS, a następnie przećwicz odświeżenie źródła przed przywróceniem stanu.
Uruchom także plik Kontrola renderowania danych wejściowych względem zmienionych ścieżek renderowania. Po zapisaniu zmian odśwież źródło przeglądarki OBS pomiędzy próbami i powtórz widoczną interakcję. Podgląd przeglądarki nie określa przechwytywania na żywo ani zachowania OBS.
Więcej materiałów: Sterowanie i API · Dokumentacja zdarzeń · Rozwiązywanie problemów z konfiguracją lokalną.