Mediální soubory pro Event Flow

Používejte v OBS vlastní zvuky, obrázky, GIFy a videa.

Stručná odpověď

Desktopová aplikace Social Stream může přehrávat schválené místní soubory bez nahrávání. Použijte Vybrat místní soubor (Choose Local File) v Event Flow a poté zkopírujte vygenerovanou Místní URL Flow Actions do OBS.

Rozšíření Chrome samo nemůže poskytovat soubory z disku. Uživatelé rozšíření mají nadále používat Nahrát nebo hostovanou URL média, pokud současně neprovozují podporovanou doprovodnou desktopovou aplikaci.

Vyberte nejlepší cestu

Nejrychlejší Vestavěné nahrávání

Nejlepší pro menší knihovnu a minimum nastavování.

Velké nebo sdílené knihovny Cloudové objektové úložiště

Nejlepší pro mnoho médií, zálohy a použití z více počítačů.

1Event Flow

Odměna nebo zpráva spustí akci.

2Flow Actions

actions.html přijme akci.

3URL média

OBS načte zvuk, obrázek, GIF nebo video.

Možnost 1: Použijte vestavěné nahrávání

  1. V Event Flow vyberte Přehrát zvukový klip (Play Audio Clip) nebo Zobrazit mediální překryv (Display Media Overlay).
  2. Klikněte na Nahrát, vyberte soubor a dokončete nahrávání na stránce, která se otevře.
  3. Ověřte, že vrácená https://fileuploads.socialstream.ninja/media/... URL se objeví v akci.
  4. Uložte scénář a ponechte actions.html?session=YOUR_SESSION otevřené v OBS.

Pokud nahrávací web uvádí limit účtu 1 GB a vaše knihovna jej překročí, použijte níže uvedenou možnost místní složky nebo cloudového úložiště.

Vlastnosti akce Display Media Overlay v Event Flow s polem Media URL a tlačítkem Upload
Tlačítko Nahrát vytváří hostovanou URL. Nejde o výběr místního souboru pro přehrávání v Event Flow.

Možnost 2: Uchovávejte knihovnu na počítači OBS

Samostatná desktopová aplikace obsahuje Místní knihovnu médií a server místní smyčky, který naslouchá pouze na tomto počítači. Event Flow ukládá stabilní ID média místo cesty k souboru na disku.

  1. Spusťte samostatnou aplikaci Social Stream a otevřete Event Flow.
  2. Vyberte Přehrát zvukový klip (Play Audio Clip) nebo Zobrazit mediální překryv (Display Media Overlay).
  3. Klikněte na Vybrat místní soubor (Choose Local File) a vyberte zvukový soubor, obrázek, GIF nebo video.
  4. Ověřte, že akce hlásí dostupný soubor a spuštěný místní server.
  5. Klikněte na Kopírovat místní URL Flow Actions pro OBS (Copy Local Flow Actions URL for OBS).
  6. Vložte tuto URL do zdroje Prohlížeč v OBS, uložte scénář a otestujte akci.
  • Použijte Náhled pro kontrolu vybraného souboru.
  • Pokud se soubor přesune nebo přejmenuje, Event Flow jej označí jako chybějící. Klikněte na Znovu propojit (Relink) a vyberte nové umístění; stávající scénáře budou dále fungovat.
  • Použijte Zobrazit ve složce (Reveal in Folder) pokud potřebujete najít původní soubor.
  • Nechte SSApp spuštěné, když OBS používá místní URL Flow Actions.
  • Vygenerovanou URL nesdílejte. Obsahuje soukromý náhodný přístupový údaj chránící místní server.

Použijte vygenerovanou místní URL Flow Actions. Hostovaná https://socialstream.ninja/actions.html stránka nedokáže najít ID média desktopové knihovny.

Pokročilá záloha: spusťte vlastní místní server

Následující ruční nastavení zůstává dostupné, pokud nepoužíváte spravovanou Místní knihovnu médií SSApp.

Stáhněte a rozbalte zdrojovou složku Social Stream Ninja a potom vytvořte user-media složku uvnitř.

C:\SSN\social_stream\
  actions.html
  user-media\
    audio\booty.mp3
    images\reward.png
    video\celebration.mp4

Spusťte ruční místní HTTP server

  1. Nainstalujte Python, pokud ještě není nainstalovaný.
  2. Otevřete PowerShell nebo Příkazový řádek a spusťte tento příkaz. Při vysílání ponechte okno otevřené.

Příkaz pro Windows

py -m http.server 8765 --bind 127.0.0.1 --directory "C:\SSN\social_stream"

Příkaz pro macOS nebo Linux

python3 -m http.server 8765 --bind 127.0.0.1 --directory "/path/to/social_stream"

URL Flow Actions pro zdroj Prohlížeč v OBS

http://127.0.0.1:8765/actions.html?session=YOUR_SESSION_ID

URL médií k vložení do 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
Zdroj Prohlížeč v OBS
127.0.0.1:8765/actions.html
Místní média
127.0.0.1:8765/user-media/...

Nastavení --bind 127.0.0.1 omezuje přístup k serveru na tento počítač. Tento jednoduchý server slouží k místnímu použití při streamování, nikoli k veřejnému internetovému hostingu.

file://: funguje, ale je méně spolehlivé

Pokud nechcete provozovat místní server, nasměrujte OBS na místní stránku Flow Actions a použijte také místní URL médií:

file:///C:/SSN/social_stream/actions.html?session=YOUR_SESSION_ID
file:///C:/SSN/social_stream/user-media/audio/booty.mp3
  • Používejte dopředná lomítka a v názvech složek a souborů se vyhýbejte mezerám a zvláštním znakům.
  • Stránka Flow Actions i média musí být místní. Hostovaná actions.html stránka tuto cestu nemůže číst.
  • Pokud OBS odmítá místní soubor, použijte výše uvedenou metodu místního HTTP serveru.

A co rozšíření Chrome?

Rozšíření používá stejný formát Event Flow, takže scénáře vytvořené na desktopu zůstávají kompatibilní. Místní akce ukládají neprůhledné ID média místo cesty Windows, macOS nebo Linuxu.

Rozšíření samo nemůže OBS zpřístupňovat libovolné soubory z disku. Bez podporovaného doprovodného mostu použijte Nahrát nebo běžnou hostovanou URL. Pokud importovaný scénář odkazuje na místní média, rozšíření místo tichého selhání vysvětlí, že je potřeba desktopová aplikace nebo most.

Možnost 3: Hostujte větší knihovnu online

PoskytovatelVhodné proDůležité poznámky
Cloudflare R2 Nejlepší obecná volba pro veřejnou knihovnu médií upozornění. Standardní úložiště v současnosti zahrnuje 10 GB-měsíc za měsíc a bezplatný odchozí provoz do internetu. Pro produkci použijte vlastní doménu; r2.dev má omezený počet požadavků a je určeno pro vývoj.
Backblaze B2 Cenově dostupné úložiště kompatibilní s S3 s veřejnými URL souborů. Prvních 10 GB je v současnosti zdarma; úložiště a nadlimitní odchozí provoz se po zahrnutých objemech platí.
Amazon S3 nebo jiný hosting kompatibilní s S3 Existující cloudové účty a pokročilé řízení přístupu. Zapněte veřejné čtení médií, nastavte správné typy obsahu a přidejte pravidlo CORS pouze pro čtení, pokud je požadavky prohlížeče vyžadují.
GitHub Několik malých veřejných souborů nebo občasné stahování vydání. Běžné repozitáře blokují soubory nad 100 MiB a weby GitHub Pages mají limit publikovaného webu 1 GB. Vydání umožňují větší soubory, ale jako spravovaná knihovna médií upozornění jsou nepraktická.

Veřejné znamená veřejné. K médiím může přistupovat kdokoli s URL objektu. Nenahrávejte soukromé, licencované ani osobní soubory, které se nemají sdílet.

Nastavení Cloudflare R2

  1. Vytvořte úložiště R2 s třídou úložiště Standard .
  2. Nahrávejte média s přehlednými názvy složek, například audio/, images/, a video/.
  3. V nastavení úložiště zapněte veřejný přístup. Veřejnou vývojovou URL používejte pouze pro testování, pro běžný provoz připojte vlastní doménu.
  4. Otevřete URL objektu v soukromém/anonymním okně prohlížeče. Soubor by se měl načíst přímo bez přihlášení nebo stránky sdílení.
  5. Vložte přímou URL HTTPS do akce Event Flow.

Běžné obrázky a zvuk se obvykle načítají bez vlastního nastavení CORS. Pokud vlastní překryv, písmo, přehrávač videa nebo načítání prohlížeče hlásí chybu CORS, otevřete Bucket → Settings → CORS Policy a přidejte zásadu pouze pro čtení:

[
  {
    "AllowedOrigins": [
      "https://socialstream.ninja",
      "http://127.0.0.1:8765"
    ],
    "AllowedMethods": ["GET", "HEAD"],
    "AllowedHeaders": ["Range"],
    "ExposeHeaders": [
      "Content-Length",
      "Content-Range",
      "Accept-Ranges"
    ],
    "MaxAgeSeconds": 3600
  }
]

Přidejte přesný původ každé další stránky, která soubory načítá. Původy neobsahují cesty ani koncové lomítko. Pokud byla vlastní doména před přidáním CORS již v mezipaměti, vymažte mezipaměť daného hostitelského jména.

Oficiální odkazy: veřejná úložiště R2, CORS pro R2, a Ceny R2.

Příklad CORS pro Backblaze B2

Nastavte úložiště jako veřejné, použijte přímou URL souboru a pokud prohlížeč hlásí chybu CORS, použijte pravidlo pouze pro stahování:

[
  {
    "corsRuleName": "allowSSNMedia",
    "allowedOrigins": ["https://socialstream.ninja"],
    "allowedHeaders": ["range"],
    "allowedOperations": ["b2_download_file_by_name"],
    "exposeHeaders": [
      "content-length",
      "content-range",
      "accept-ranges"
    ],
    "maxAgeSeconds": 3600
  }
]

Viz Backblaze oficiální příručku pravidel CORS.

Před vysíláním

  1. Otevřete přesnou URL média v soukromém/anonymním okně. Musí načíst soubor přímo.
  2. Použijte Obrázek pro média PNG, JPG, WebP nebo GIF. Použijte Video/Vložení pro URL videa nebo vloženého obsahu.
  3. Pro kompatibilitu upřednostněte MP3 pro zvuk, PNG/WebP/GIF pro obrázky a H.264/AAC MP4 pro video.
  4. Otevřete stránku Flow Actions v OBS se stejným ID relace, které používá Event Flow.
  5. Použijte testovací panel Event Flow a před skutečným vysíláním jednou obnovte zdroj Prohlížeč v OBS.
  • URL stahuje místo přehrávání: hostitel odesílá nesprávný typ obsahu nebo odpověď pouze ke stažení.
  • Cloudový soubor je blokován: nastavte jej jako veřejný a zkontrolujte původ, metodu a hlavičky CORS.
  • Místní soubor chybí: otevřete akci v SSApp a použijte Znovu propojit (Relink).
  • Místní server je offline: spusťte SSApp a znovu zkopírujte místní URL Flow Actions, pokud se změnil port nebo bezpečnostní token.
  • Hostované Flow Actions nepřehraje místní položku: nahraďte URL v OBS tou, kterou vygenerovalo SSApp.
  • Do OBS nic nepřichází: ověřte, že URL Flow Actions a Event Flow používají stejné ID relace.