File multimediali per Event Flow

Usa i tuoi suoni, immagini, GIF e video in OBS.

Risposta breve

L'app desktop Social Stream può riprodurre file locali approvati senza caricarli online. Usa Scegli file locale in Event Flow, poi copia il link generato: URL Flow Actions locale in OBS.

L'estensione Chrome non può servire da sola i file del tuo disco. Gli utenti dell'estensione devono continuare a usare Upload o un URL multimediale ospitato, a meno che eseguano anche un'app desktop complementare supportata.

Scegli il percorso migliore

Il più rapido Caricamento integrato

Ideale per una libreria modesta e una configurazione minima.

Librerie grandi o condivise Archiviazione di oggetti nel cloud

Ideale per molti media, backup e uso da più computer.

1Event Flow

Una ricompensa o un messaggio attiva l'azione.

2Flow Actions

actions.html riceve l'azione.

3URL multimediale

OBS carica il suono, l'immagine, la GIF o il video.

Opzione 1: usa il caricamento integrato

  1. In Event Flow, seleziona Riproduci clip audio oppure Mostra overlay multimediale.
  2. Fai clic su Carica, scegli il file e completa il caricamento nella pagina che si apre.
  3. Conferma che l’URL restituito https://fileuploads.socialstream.ninja/media/... compaia nell’azione.
  4. Salva il flusso e mantieni actions.html?session=YOUR_SESSION aperto in OBS.

Se il sito di caricamento indica un limite di 1 GB per account e la tua libreria lo supererà, usa l'opzione cartella locale o archiviazione cloud sotto.

Proprietà di Display Media Overlay in Event Flow con il campo Media URL e il pulsante Upload
Il pulsante Upload crea un URL ospitato. Non è un selettore di file locali per la riproduzione Event Flow.

Opzione 2: mantieni la libreria sul computer OBS

L'app desktop autonoma include una Libreria multimediale locale e un server loopback che ascolta solo su questo computer. Event Flow memorizza un ID multimediale stabile invece di inserire il percorso del disco nel flusso.

  1. Avvia l'app autonoma Social Stream e apri Event Flow.
  2. Seleziona Riproduci clip audio oppure Mostra overlay multimediale.
  3. Fai clic su Scegli file locale e seleziona un file audio, immagine, GIF o video.
  4. Conferma che l'azione indichi che il file è disponibile e che il server locale sia in esecuzione.
  5. Fai clic su Copia URL Flow Actions locale per OBS.
  6. Incolla quell'URL in una sorgente browser OBS, salva il flusso e prova l'azione.
  • Usa Anteprima per controllare il file selezionato.
  • Se il file viene spostato o rinominato, Event Flow lo mostra come mancante. Fai clic su Ricollega e scegli la sua nuova posizione; i flussi esistenti continuano a funzionare.
  • Usa Mostra nella cartella quando devi trovare il file originale.
  • Mantieni SSApp in esecuzione mentre OBS usa l'URL Flow Actions locale.
  • Non condividere l'URL generato. Contiene una credenziale casuale privata usata per proteggere il server locale.

Usa l'URL Flow Actions locale generato. La pagina ospitata https://socialstream.ninja/actions.html non può risolvere un ID multimediale della libreria desktop.

Alternativa avanzata: esegui un tuo server locale

La configurazione manuale seguente resta disponibile se non usi la Libreria multimediale locale gestita di SSApp.

Scarica ed estrai la cartella dei sorgenti Social Stream Ninja, poi crea al suo interno una cartella chiamata user-media .

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

Avvia il server HTTP locale manuale

  1. Installa Python se non è già installato.
  2. Apri PowerShell o il Prompt dei comandi ed esegui questo comando. Lascia aperta la finestra durante la diretta.

Comando Windows

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

Comando macOS o Linux

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

URL Flow Actions per la sorgente browser OBS

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

URL multimediali da incollare in 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
Sorgente browser OBS
127.0.0.1:8765/actions.html
Media locali
127.0.0.1:8765/user-media/...

L’opzione --bind 127.0.0.1 mantiene il server su questo computer. Questo semplice server è destinato allo streaming locale, non all’hosting pubblico su Internet.

file://: funziona, ma è meno affidabile

Se non vuoi eseguire un server locale, indirizza OBS a una pagina Flow Actions locale e usa anche URL multimediali locali:

file:///C:/SSN/social_stream/actions.html?session=YOUR_SESSION_ID
file:///C:/SSN/social_stream/user-media/audio/booty.mp3
  • Usa barre normali ed evita spazi o caratteri speciali nei nomi di cartelle e file.
  • Sia la pagina Flow Actions sia i media devono essere locali. Una pagina ospitata actions.html non può leggere quel percorso.
  • Se OBS rifiuta un file locale, usa il metodo del server HTTP locale sopra.

E l'estensione Chrome?

L'estensione usa lo stesso formato Event Flow, quindi i flussi creati sul desktop restano compatibili. Le azioni locali memorizzano un ID multimediale opaco invece di un percorso Windows, macOS o Linux.

L'estensione non può esporre da sola file arbitrari del disco a OBS. Senza un bridge complementare supportato, usa Carica oppure un normale URL ospitato. Se un flusso importato fa riferimento a media locali, l'estensione spiega che serve l'app desktop o il bridge invece di fallire silenziosamente.

Opzione 3: ospita online una libreria più grande

ProviderAdatto aNote importanti
Cloudflare R2 Migliore scelta generale per una libreria pubblica di avvisi. L'archiviazione Standard include attualmente 10 GB-mese al mese e traffico in uscita Internet gratuito. Usa un dominio personalizzato per la produzione; r2.dev ha limiti di frequenza ed è destinato allo sviluppo.
Backblaze B2 Archiviazione economica compatibile con S3 con URL pubblici dei file. I primi 10 GB sono attualmente gratuiti; oltre le quantità incluse, archiviazione e traffico in uscita aggiuntivo sono a pagamento.
Amazon S3 o un altro host compatibile con S3 Account cloud esistenti e controlli di accesso avanzati. Abilita la lettura pubblica dei media, imposta i tipi di contenuto corretti e aggiungi una regola CORS di sola lettura se le richieste del browser lo richiedono.
GitHub Pochi file pubblici piccoli o download occasionali delle release. I repository normali bloccano i file superiori a 100 MiB e i siti GitHub Pages hanno un limite di 1 GB per il sito pubblicato. Le release consentono risorse più grandi, ma sono scomode come libreria gestita di media per gli avvisi.

Pubblico significa pubblico. Chiunque abbia l'URL dell'oggetto può accedere ai media. Non caricare file privati, soggetti a licenza o personali che non devono essere condivisi.

Configurazione Cloudflare R2

  1. Crea un bucket R2 usando la classe Standard di archiviazione.
  2. Carica i media usando nomi chiari per le cartelle, come audio/, images/, e video/.
  3. Nelle impostazioni del bucket, abilita l'accesso pubblico. Usa l'URL pubblico di sviluppo solo per i test oppure collega un dominio personalizzato per l'uso regolare in diretta.
  4. Apri l'URL di un oggetto in una finestra privata/in incognito del browser. Deve caricare direttamente il file senza accesso o pagina di condivisione.
  5. Incolla quell'URL HTTPS diretto nell'azione Event Flow.

Le normali immagini e l'audio di solito si caricano senza impostazioni CORS personalizzate. Se un overlay personalizzato, un font, un lettore video o un fetch del browser segnala un errore CORS, apri Bucket → Settings → CORS Policy e aggiungi una regola di sola lettura:

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

Aggiungi l'origine esatta di qualsiasi altra pagina che recupera i file. Le origini non contengono percorsi né una barra finale. Se un dominio personalizzato era già nella cache prima di aggiungere CORS, svuota la cache di quel nome host.

Riferimenti ufficiali: bucket R2 pubblici, CORS R2, e Prezzi R2.

Esempio CORS per Backblaze B2

Rendi pubblico il bucket, usa l'URL diretto del file e applica una regola di solo download se un browser segnala un errore CORS:

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

Consulta la documentazione di Backblaze: riferimento ufficiale delle regole CORS.

Prima di andare in diretta

  1. Apri l'URL multimediale esatto in una finestra privata/in incognito. Deve caricare direttamente il file.
  2. Usa Immagine per media PNG, JPG, WebP o GIF. Usa Video/Incorporamento per URL video o di incorporamento.
  3. Preferisci MP3 per l'audio, PNG/WebP/GIF per le immagini e MP4 H.264/AAC per la compatibilità video.
  4. Apri la pagina Flow Actions in OBS con lo stesso ID sessione usato da Event Flow.
  5. Usa il pannello di test di Event Flow, poi aggiorna una volta la sorgente browser OBS prima della diretta reale.
  • L'URL scarica invece di riprodurre: l'host sta inviando il tipo di contenuto errato oppure una risposta di solo download.
  • Il file cloud è bloccato: rendilo pubblico e controlla origine, metodo e intestazioni CORS.
  • Il file locale manca: apri l'azione in SSApp e usa Ricollega.
  • Il server locale è offline: avvia SSApp e copia di nuovo l'URL Flow Actions locale se la porta o il token di sicurezza sono cambiati.
  • Flow Actions ospitato non riesce a riprodurre l'elemento locale: sostituisci l'URL OBS con quello generato da SSApp.
  • Non arriva nulla a OBS: conferma che l'URL Flow Actions ed Event Flow usino lo stesso ID sessione.