Krótka odpowiedź
Aplikacja komputerowa Social Stream może odtwarzać zatwierdzone lokalne pliki bez przesyłania. Użyj Wybierz plik lokalny w Event Flow, a następnie skopiuj wygenerowany Lokalny URL Flow Actions do OBS.
Rozszerzenie Chrome nie może samodzielnie udostępniać plików z dysku. Użytkownicy rozszerzenia powinni nadal używać Upload lub hostowanego URL multimediów, chyba że uruchamiają też obsługiwaną aplikację towarzyszącą.
Wybierz najlepszą ścieżkę
Najlepsze dla niewielkiej biblioteki i minimalnej konfiguracji.
Zalecane, gdy SSApp, OBS i pliki znajdują się na tym samym komputerze.
Najlepsze dla dużej ilości multimediów, kopii zapasowych i użycia z wielu komputerów.
Nagroda lub wiadomość wyzwala akcję.
actions.html odbiera akcję.
OBS ładuje dźwięk, obraz, GIF lub film.
Opcja 1: użyj wbudowanego przesyłania
- W Event Flow wybierz Odtwórz klip dźwiękowy lub Wyświetl nakładkę multimedialną.
- Kliknij Prześlij, wybierz plik i dokończ przesyłanie na otwartej stronie.
- Sprawdź, czy zwrócony
https://fileuploads.socialstream.ninja/media/...URL pojawia się w akcji. - Zapisz przepływ i pozostaw
actions.html?session=YOUR_SESSIONotwarte w OBS.
Jeśli witryna przesyłania pokazuje limit konta 1 GB, a Twoja biblioteka go przekroczy, użyj opisanej poniżej opcji lokalnego folderu lub magazynu chmurowego.
Opcja 2: przechowuj bibliotekę na komputerze OBS
Samodzielna aplikacja komputerowa zawiera Local Media Library i serwer loopback nasłuchujący tylko na tym komputerze. Event Flow zapisuje stabilny identyfikator medium zamiast ścieżki dyskowej w przepływie.
- Uruchom samodzielną aplikację Social Stream i otwórz Event Flow.
- Wybierz Odtwórz klip dźwiękowy lub Wyświetl nakładkę multimedialną.
- Kliknij Wybierz plik lokalny i wybierz plik dźwiękowy, obraz, GIF lub film.
- Sprawdź, czy akcja zgłasza dostępność pliku i działanie lokalnego serwera.
- Kliknij Kopiuj lokalny URL Flow Actions dla OBS.
- Wklej ten URL do źródła przeglądarkowego OBS, zapisz przepływ i przetestuj akcję.
- Użyj Podgląd aby sprawdzić wybrany plik.
- Jeśli plik zostanie przeniesiony lub zmieni nazwę, Event Flow pokaże go jako brakujący. Kliknij Połącz ponownie i wybierz nową lokalizację; istniejące przepływy nadal działają.
- Użyj Pokaż w folderze gdy musisz znaleźć oryginalny plik.
- Pozostaw SSApp uruchomione, gdy OBS używa lokalnego URL Flow Actions.
- Nie udostępniaj wygenerowanego URL. Zawiera prywatny losowy token dostępu chroniący lokalny serwer.
Użyj wygenerowanego lokalnego URL Flow Actions. Hostowana https://socialstream.ninja/actions.html strona nie może rozpoznać identyfikatora medium z biblioteki aplikacji komputerowej.
Zaawansowana alternatywa: uruchom własny lokalny serwer
Poniższa ręczna konfiguracja pozostaje dostępna, jeśli nie używasz zarządzanej Local Media Library SSApp.
Pobierz i wypakuj Folder źródeł Social Stream Ninja, a następnie utwórz user-media folder wewnątrz niego.
C:\SSN\social_stream\
actions.html
user-media\
audio\booty.mp3
images\reward.png
video\celebration.mp4
Uruchom ręczny lokalny serwer HTTP
- Zainstaluj Python, jeśli nie jest jeszcze zainstalowany.
- Otwórz PowerShell lub Wiersz polecenia i uruchom to polecenie. Pozostaw okno otwarte podczas transmisji.
Polecenie Windows
py -m http.server 8765 --bind 127.0.0.1 --directory "C:\SSN\social_stream"
Polecenie macOS lub Linux
python3 -m http.server 8765 --bind 127.0.0.1 --directory "/path/to/social_stream"
URL Flow Actions dla źródła przeglądarkowego OBS
http://127.0.0.1:8765/actions.html?session=YOUR_SESSION_ID
Adresy URL multimediów do wklejenia w Event Flow
http://127.0.0.1:8765/user-media/audio/booty.mp3 http://127.0.0.1:8765/user-media/images/reward.png http://127.0.0.1:8765/user-media/video/celebration.mp4
127.0.0.1:8765/actions.html127.0.0.1:8765/user-media/...Ustawienie --bind 127.0.0.1 ogranicza dostęp do serwera do tego komputera. Ten prosty serwer służy do lokalnego użycia podczas transmisji, a nie do publicznego hostingu w Internecie.
file://: działa, ale jest bardziej podatne na problemy
Jeśli nie chcesz uruchamiać lokalnego serwera, skieruj OBS na lokalną stronę Flow Actions i używaj również lokalnych adresów URL multimediów:
file:///C:/SSN/social_stream/actions.html?session=YOUR_SESSION_ID file:///C:/SSN/social_stream/user-media/audio/booty.mp3
- Używaj ukośników i unikaj spacji lub znaków specjalnych w nazwach folderów i plików.
- Zarówno strona Flow Actions, jak i multimedia muszą być lokalne. Hostowana
actions.htmlstrona nie może odczytać tej ścieżki. - Jeśli OBS odmawia odtworzenia lokalnego pliku, użyj opisanej powyżej metody lokalnego serwera HTTP.
A co z rozszerzeniem Chrome?
Rozszerzenie używa tego samego formatu Event Flow, więc przepływy utworzone w aplikacji komputerowej pozostają zgodne. Akcje lokalne zapisują niejawny identyfikator medium zamiast ścieżki Windows, macOS lub Linux.
Rozszerzenie nie może samodzielnie udostępniać dowolnych plików z dysku do OBS. Bez obsługiwanego mostu towarzyszącego użyj Prześlij lub zwykłego hostowanego URL. Jeśli zaimportowany przepływ odwołuje się do lokalnych multimediów, rozszerzenie wyjaśnia, że potrzebna jest aplikacja komputerowa lub most, zamiast milcząco zawodzić.
Opcja 3: hostuj większą bibliotekę online
| Dostawca | Dobre do | Ważne uwagi |
|---|---|---|
| Cloudflare R2 | Najlepszy ogólny wybór dla publicznej biblioteki alertów. | Magazyn Standard obejmuje obecnie 10 GB-miesięcy miesięcznie i bezpłatny transfer wychodzący do internetu. Do produkcji użyj własnej domeny; r2.dev ma ograniczoną częstotliwość żądań i jest przeznaczony do prac programistycznych. |
| Backblaze B2 | Niedrogi magazyn zgodny z S3 z publicznymi adresami URL plików. | Pierwsze 10 GB jest obecnie bezpłatne; magazyn i transfer wychodzący ponad uwzględnione limity są płatne. |
| Amazon S3 lub inny host zgodny z S3 | Istniejące konta chmurowe i zaawansowana kontrola dostępu. | Włącz publiczny odczyt multimediów, ustaw prawidłowe typy treści i dodaj regułę CORS tylko do odczytu, jeśli żądania przeglądarki tego wymagają. |
| GitHub | Kilka małych publicznych plików lub okazjonalne pobieranie wydań. | Zwykłe repozytoria blokują pliki powyżej 100 MiB, a witryny GitHub Pages mają limit 1 GB opublikowanej witryny. Wydania pozwalają na większe zasoby, ale są niewygodne jako zarządzana biblioteka multimediów alertów. |
Publiczne znaczy publiczne. Każdy z adresem URL obiektu może uzyskać dostęp do multimediów. Nie przesyłaj prywatnych, licencjonowanych ani osobistych plików, których nie należy udostępniać.
Konfiguracja Cloudflare R2
- Utwórz bucket R2, używając Standard klasy magazynu.
- Prześlij multimedia z czytelnymi nazwami folderów, takimi jak
audio/,images/ivideo/. - W ustawieniach bucketu włącz dostęp publiczny. Używaj publicznego URL deweloperskiego tylko do testów albo podłącz własną domenę do regularnych transmisji.
- Otwórz URL obiektu w prywatnym oknie/incognito przeglądarki. Powinien ładować plik bezpośrednio, bez logowania ani strony udostępniania.
- Wklej ten bezpośredni URL HTTPS do akcji Event Flow.
Zwykłe obrazy i dźwięk zazwyczaj ładują się bez własnych ustawień CORS. Jeśli własna nakładka, czcionka, odtwarzacz wideo lub pobieranie przeglądarki zgłasza błąd CORS, otwórz Bucket → Settings → CORS Policy i dodaj politykę tylko do odczytu:
[
{
"AllowedOrigins": [
"https://socialstream.ninja",
"http://127.0.0.1:8765"
],
"AllowedMethods": ["GET", "HEAD"],
"AllowedHeaders": ["Range"],
"ExposeHeaders": [
"Content-Length",
"Content-Range",
"Accept-Ranges"
],
"MaxAgeSeconds": 3600
}
]
Dodaj dokładne origin każdej innej strony pobierającej pliki. Origin nie zawiera ścieżek ani końcowego ukośnika. Jeśli własna domena była już buforowana przed dodaniem CORS, wyczyść pamięć podręczną tej nazwy hosta.
Oficjalne źródła: publiczne buckety R2, CORS R2 i Cennik R2.
Przykład CORS Backblaze B2
Upublicznij bucket, użyj bezpośredniego URL pliku i zastosuj regułę tylko do pobierania, jeśli przeglądarka zgłasza błąd CORS:
[
{
"corsRuleName": "allowSSNMedia",
"allowedOrigins": ["https://socialstream.ninja"],
"allowedHeaders": ["range"],
"allowedOperations": ["b2_download_file_by_name"],
"exposeHeaders": [
"content-length",
"content-range",
"accept-ranges"
],
"maxAgeSeconds": 3600
}
]
Zobacz należącą do Backblaze oficjalną dokumentację reguł CORS.
Przed transmisją
- Otwórz dokładny URL multimediów w prywatnym oknie/incognito. Musi ładować plik bezpośrednio.
- Użyj Obraz dla multimediów PNG, JPG, WebP lub GIF. Użyj Wideo/osadzanie dla adresów URL wideo lub osadzania.
- Dla zgodności preferuj MP3 dla dźwięku, PNG/WebP/GIF dla obrazów i H.264/AAC MP4 dla wideo.
- Otwórz stronę Flow Actions w OBS z tym samym identyfikatorem sesji co Event Flow.
- Użyj panelu testowego Event Flow, a następnie przed prawdziwą transmisją raz odśwież źródło przeglądarkowe OBS.
- URL pobiera zamiast odtwarzać: host wysyła niewłaściwy typ treści lub odpowiedź wymuszającą pobranie.
- Plik w chmurze jest blokowany: udostępnij go publicznie i sprawdź origin, metodę i nagłówki CORS.
- Brakuje lokalnego pliku: otwórz akcję w SSApp i użyj Połącz ponownie.
- Lokalny serwer jest offline: uruchom SSApp i skopiuj lokalny URL Flow Actions ponownie, jeśli zmienił się port lub token bezpieczeństwa.
- Hostowane Flow Actions nie może odtworzyć lokalnego elementu: zastąp URL OBS adresem wygenerowanym przez SSApp.
- Nic nie dociera do OBS: sprawdź, czy URL Flow Actions i Event Flow używają tego samego identyfikatora sesji.