Aggiornamenti sulla beta di Twitch Studio
Dopo il 30 maggio 2024 interromperemo il supporto di Twitch Studio. Esplora gli strumenti per lo streaming consigliati qui, per trovare un nuovo software di trasmissione adatto a te.
La beta di Twitch Studio, il nostro software di streaming gratuito progettato per aiutare i nuovi streamer con i loro primi passi su Twitch, toglie ogni dubbio alla configurazione e alla gestione degli streaming.
Di recente abbiamo aggiornato Twitch Studio con quattro nuove funzionalità: chiave cromatica con un semplice clic, acquisizione delle finestre del browser Chrome, acquisizione dei giochi Vulkan e supporto di fonti audio multiple. Cosa è successo dietro le quinte, durante la messa a punto di queste funzionalità? Continua a leggere per scoprirlo!
Chiave cromatica con un semplice clic (Chroma Key)
La funzione Chroma Key, generalmente nota come chiave cromatica, è un filtro usato per rimuovere lo sfondo da una webcam. Probabilmente l’hai già vista in azione sui canali dei tuoi streamer preferiti. Con la chiave cromatica, gli streamer possono divertirsi e aggiungere personalità alle proprie trasmissioni, modificando in modo dinamico lo sfondo e rendendo i contenuti ancor più curati e coinvolgenti. Tuttavia, il procedimento per impostare la chiave cromatica può essere lungo e laborioso e per ottenere i risultati desiderati richiede la modifica di diverse impostazioni. Ecco perché abbiamo realizzato la funzionalità di rilevamento automatico della chiave cromatica, grazie alla quale puoi configurare automaticamente la chiave cromatica con un semplice clic.
Come funziona la chiave cromatica? Usando uno sfondo a tinta unita, il filtro trova tutti i pixel del colore indicato e li rende trasparenti. Spesso viene realizzato con un telo verde o con un pannello creato appositamente, ma va bene qualsiasi colore a tinta unita non presente in primo piano. Anche se all’occhio umano lo sfondo a tinta unita può sembrare dello stesso colore, il computer lo vede in modo diverso. Le ombre e l’illuminazione irregolare fanno rilevare al computer una vasta gamma di colori differenti. Per risolvere questo problema il filtro ignora la luminosità dei vari pixel, concentrandosi unicamente sulla crominanza o sul colore.
Purtroppo non basta ignorare la luminosità. Anche le differenze di illuminazione modificano la crominanza base dei pixel. Per questo, il filtro ha anche un’impostazione di “somiglianza” che controlla i margini di crominanza da rimuovere dallo sfondo.
Il sistema funziona a dovere in situazioni di illuminazione corretta dello sfondo e può garantire i risultati desiderati, ma la regolazione delle impostazioni può essere frustrante. Se il valore di somiglianza è troppo ampio, i colori in primo piano vengono abbinati erroneamente, mentre se è troppo contenuto, alcune parti dello sfondo restano visibili. La ricerca delle giuste impostazioni è resa ancor più difficile dalla presenza di due parametri da regolare per trovare la soluzione ideale—il colore bersaglio, e il grado di somiglianza—ed è qui che interviene la chiave cromatica con un semplice clic di Twitch Studio.
Il sistema della chiave cromatica con un semplice clic ottimizza le impostazioni con la semplice pressione di un pulsante. Inizia campionando l’immagine corrente nei punti di sfondo di una tipica impostazione con chiave cromatica:
Successivamente recupera i valori della crominanza dei pixel e li intreccia in uno spazio di colore ultravioletto. Quando nel tessuto viene individuato un gruppo di punti, il suo centro viene usato come colore bersaglio e il raggio del raggruppamento viene misurato e utilizzato per il valore di somiglianza:
In questo modo, possiamo selezionare le impostazioni ottimali senza interventi complessi!
Acquisizione Chrome
Nei software per lo streaming l’acquisizione di una finestra ha sempre usato una funzione Windows API chiamata BitBlt, per acquisire un’immagine della finestra desiderata. Si tratta di un sistema efficiente che funziona nella maggior parte dei casi, ma alcune applicazioni usano sistemi di rendering più moderni che possono causare dei problemi. Questo accade quasi sempre quando si tenta di acquisire una finestra di Chrome o altre app ad esso associate (come Discord, Slack, Spotify, VS Code e altre ancora), e le app di trasmissione possono rivelarsi inaffidabili quando si cerca di acquisire una finestra di Chrome. Il risultato è spesso una schermata nera senza comunicazioni o messaggi di errore che permettano agli streamer di capire cosa succede.
Tra le soluzioni alternative a questo problema c’erano l’acquisizione di immagini ritagliate o il passaggio alla modalità rendering software dell’app (quando possibile). Sfortunatamente, nessuna di queste soluzioni era particolarmente comoda. Con l’acquisizione di immagini ritagliate si rischiava, spostando la finestra, di condividere accidentalmente nello streaming informazioni private, mentre il passaggio alla modalità di rendering software poteva influire sulle prestazioni dell’app, anche al di fuori dello streaming.
Volevamo uscire da questa situazione di stallo. PrintWindow è un’altra API che può essere usata per acquisire i contenuti da altre finestre, ma per impostazione predefinita restituisce finestre vuote o risultati inaffidabili. A quanto pare, però, la funzione accetta un flag PW_RENDERFULLCONTENT non documentato che costringe a ridisegnare completamente la finestra indicata, risolvendo di fatto il problema.
Il nuovo metodo di acquisizione non è una panacea, visto che costringe la finestra bersaglio a uno sforzo di rendering ulteriore, ma è comunque meglio delle alternative senza alcuna uscita. Per essere sicuri di gravare sulle prestazioni solo quando è strettamente necessario, questa modalità di acquisizione è disponibile per impostazione predefinita solo per le app con problemi di acquisizione documentati con il classico metodo BitBlt, lasciando però agli utenti la libertà di attivare la modalità “Compatibilità acquisizione” per i casi che non abbiamo previsto. In questo modo l’acquisizione della finestra funziona in quasi tutte le situazioni, mantenendo un’ottimizzazione delle prestazioni.
Acquisizione dei giochi Vulkan
Sappiamo che il panorama dei videogiochi è in continua evoluzione e tra le priorità del team di Twitch Studio c’è la compatibilità con le tecnologie più recenti, per permettere agli autori di eseguire gli streaming dei giochi del momento. Per questo motivo, ora Twitch Studio supporta l’acquisizione dei giochi che utilizzano la nuova API grafica Vulkan. Questo progetto è stato molto interessante, visto che a differenza delle altre API, Vulkan fornisce un modo per acquisire i giochi ed eseguire il rendering degli overlay già al suo interno. Normalmente l’acquisizione di gioco viene eseguita immettendo il codice nel gioco in funzione, per agganciarlo al rendering delle API e intercettare ogni frame di gioco, copiandolo. Vulkan fornisce un sistema di livelli che permette ai programmi di terze parti (come le app di streaming) di registrare un DLL speciale da caricare automaticamente in tutti i giochi Vulkan. In questo modo si semplifica il processo di acquisizione del gioco, permettendoci di aggirare la complessità delle attuali tecniche di immissione del codice.
Fonti audio multiple
Twitch Studio è stato lanciato in fase di beta con un set iniziale di funzionalità con cui semplificare l’esperienza per gli streamer alle prime armi, usando quindi un modello audio semplificato con un solo microfono e un’unica acquisizione dell’audio del desktop. Con la graduale crescita delle funzionalità guidata dai feedback degli streamer, uno degli interventi più richiesti è stato il supporto di ulteriori canali/dispositivi audio e, per questo, di recente abbiamo lanciato un’importante modifica al sistema audio.
Con questa revisione dell’audio volevamo assicurarci che l’esperienza audio predefinita mantenesse la sua semplicità, aggiungendo opzioni di configurazione avanzate senza però complicare l’uso del programma. Questo ha portato a un cambiamento totale della nostra gestione dei dispositivi audio. Quando si seleziona un nuovo dispositivo da aggiungere, invece di selezionare semplicemente l’uscita predefinita e aggiungere i microfoni a richiesta, ora possiamo monitorare tutti i dispositivi di ingresso e di uscita. Oltre a semplificare il sistema audio, questo getta le basi per altre funzionalità audio che abbiamo in programma per il futuro. Resta sintonizzato!
Noi di Twitch vogliamo rendere più semplice per i nuovi emittenti muovere i primi passi con i propri streaming. Quest’anno stiamo lavorando a molti strumenti per aiutare gli streamer a migliorare le proprie trasmissioni, senza però rinunciare alla semplicità dell’esperienza. Se non hai ancora provato Twitch Studio, puoi trovarlo qui.