Language not available Language not available Language not available

Det här inlägget är inte tillgängligt på ditt språk. Här är några andra alternativ:

Uppdateringar om Twitch Studio-betan

Apr 6 2020

Twitch Studio-betan, vårt kostnadsfria streamingprogram som är designat för att hjälpa nya streamare att komma igång på Twitch, gör det enklare att konfigurera och hantera din stream. 

Vi uppdaterade nyligen Twitch Studio med fyra spännande nya funktioner: greenscreen med ett klick, inspelning av Chrome-fönster, inspelning av Vulkan-spel, och stöd för flera ljudkällor. Vad hände bakom kulisserna för att skapa dessa funktioner? Läs vidare för att ta reda på det!

Greenscreen med ett klick (chroma key)

Chroma key, eller greenscreen med ett vanligare namn, är ett filter som används för att ta bort bakgrunden från en webbkamera. Du har antagligen redan sett det användas i några av dina favoritstreamares kanaler. Greenscreens är ett roligt sätt för streamare att göra sina streamar mer personliga genom att de dynamiskt kan ändra streamens bakgrund och göra innehållet ännu mer engagerande och polerat. Men processen för att konfigurera en greenscreen kan ofta vara manuell och tidskrävande och kräva en hel del justeringar av olika inställningar för att allt ska fungera perfekt. Därför har vi skapat vår automatiska detekteringsfunktion för greenscreen som automatiskt ställer in chroma key och hittar din greenscreen med ett enda klick.

Så hur fungerar en greenscreen? Genom att använda en bakgrund med fast färg kan filtret hitta alla pixlar med just den färgen och göra dem genomskinliga. Detta görs ofta med en grön skiva eller skärm som är gjord specifikt för detta ändamål, men det kan fungera med vilken fast färg som helst som inte finns i förgrunden. Även om den fasta bakgrunden verkar vara samma färg för en människa så ser datorn det på ett helt annat sätt. Skuggor och ojämn belysning innebär att datorn ser den bakgrunden som ett helt spektrum av färger. För att ta detta i beaktning ignorerar filtret luminansen eller ljusstyrkan för varje pixel och tittar istället enbart på krominansen eller färgen.

Att bara ignorera luminansen räcker inte alltid. Ljusskillnader förändrar även den underliggande krominansen för pixlarna. För att ta hänsyn till detta har filtret också en "likhetsinställning" som styr hur nära en pixels krominans måste ligga målbakgrundens färg för att kunna tas bort.

Detta fungerar bra så länge man har någorlunda jämn belysning på bakgrunden och kan få till inställningarna precis rätt, men att justera dessa inställningar kan vara extremt frustrerande. Om likhetsvärdet är för stort kommer färgerna från förgrunden att matchas av misstag och om värdet är för litet kommer delar av bakgrunden fortsätta att visas. Att hitta rätt inställningar kompliceras av det faktum att det faktiskt finns två parametrar att justera för att hitta rätt inställningar – målfärgen och likhetsvärdet – och det är här Twitch Studios greenscreen med ett klick kommer in.

Vårt enklickssystem för greenscreen optimerar dessa inställningar åt dig med ett enda knapptryck. Det börjar med att ta stickprov av den aktuella bilden på ställen som mest är bakgrund i en typisk greenscreenkonfiguration:

Därefter tar vi krominansvärdena för dessa pixlar och plottar dem i UV-färgrymden. Om vi upptäcker ett kluster av punkter i detta diagram kan vi lokalisera klustrets mittpunkt, använda det som målfärg och mäta radien på klustret som då blir likhetsvärdet:

Och på detta vis kan vi välja de optimala inställningarna utan behov av ytterligare justeringar!

Chrome-inspelning

Fönsterinspelning i streamingprogram har tidigare använt Windows API-funktionen BitBlt för att registrera en bild av målfönstret. Detta är effektivt och fungerar bra i de flesta fall, men vissa applikationer använder mer moderna renderingsmetoder som gör att denna metod misslyckas. Detta märks oftast när man försöker spela in Chrome eller andra Chromium-baserade appar (som Discord, Slack, Spotify, VS Code och andra), och streamingappar kan vara opålitliga och felbenägna när man spelar in Chrome-fönster. Detta resulterar ofta i en svart skärm utan någon kommunikation eller några felmeddelanden som informerar streamarna om vad som händer. 

Lösningar på detta problem var bland annat att använda beskärd skärminspelning eller försätta appen i mjukvarurenderingsläge (när detta var möjligt). Tyvärr är ingen av dessa lösningar särskilt praktiska. Beskärd skärminspelning innebär att man riskerar att streama något av misstag om fönstret flyttas, och att byta till mjukvarurenderingsläge kan innebära prestandaproblem för appen även när man inte streamar.

Vi ville förbättra status quo. PrintWindow är ett annat API som kan användas för att spela in innehållet i andra fönster, men som standard visas för det mesta tomt eller opålitligt innehåll även i dessa fönster. Det visar sig dock att funktionen accepterar en odokumenterad PW_RENDERFULLCONTENT-flagga som tvingar en fullständig ommålning av målfönstret och löser detta problem.

Denna nya inspelningsmetod är dock ingen universallösning eftersom den tvingar målfönstret att arbeta ytterligare för att rendera detta, men det är fortfarande bättre än alternativet att inte visa något alls. För att säkerställa att vi bara får denna prestandadipp när det är absolut nödvändigt aktiverar vi endast detta inspelningsläge som standard för appar som är kända för att ha inspelningsproblem med den traditionella BitBlt-metoden och låter användarna välja att använda detta "kompatibilitetsinspelningsläge" för allt annat vi kan ha missat. Detta gör att fönsterinspelning helt enkelt fungerar i nästan alla fall, samtidigt som prestandan fortfarande optimeras.

Inspelning av Vulkan-spel 

Vi vet att spellandskapet hela tiden utvecklas, och en prioritet för Twitch Studio-teamet är att hålla jämna steg med den senaste tekniken och hjälpa kreatörerna att streama alla de senaste spelen. För detta ändamål stöder Twitch Studio nu spelinspelning för spel som körs på grafik-AIP:et Vulkan. Detta var ett intressant projekt eftersom Vulkan, till skillnad från andra renderings-API:er, faktiskt tillhandahåller ett sätt att spela in spel och rendera överlägg som standard. Spelinspelning utförs normalt genom att injicera kod i det spel som körs som sedan hakar fast i renderings-API:na för att fånga varje bildruta av spelet och göra en kopia. Vulkan tillhandahåller ett lagersystem som tillåter tredjepartsprogram (som streamingappar) att registrera en särskild DLL som laddas in i alla Vulkan-spel automatiskt. Detta gör spelinspelningsprocessen smidigare genom att vi kan kringgå mycket av komplexiteten med dagens kodinjektionstekniker.

Flera ljudkällor

Twitch Studio lanserades som beta med ett antal initiala funktioner som syftade till att strömlinjeforma upplevelsen för nya streamare och använde således en förenklad ljudmodell med en mikrofon och en skrivbordsljudsinspelning. När vi nu utökar funktionerna och frågade streamarna vad de helst ville ha var en av de mest efterfrågade funktionerna stöd för flera ljudkanaler/-enheter, och nyligen gjorde vi en rejäl omstrukturering av det underliggande ljudsystemet för att erbjuda just detta.

Med denna översyn av ljudet ville vi säkerställa att den vanliga ljudupplevelsen var lika enkel som vanligt, samtidigt som vi lade till mer avancerade konfigureringsalternativ på ett sätt som var så enkelt som möjligt att använda. Under huven innebar detta att helt ändra sättet vi hanterar ljudenheter på. Istället för att bara välja standardutgång och lägga till mikrofoner vid behov har vi nu möjlighet att kontrollera alla in- och utgångsenheter när vi väljer en ny enhet att lägga till. Utöver att detta förenklar ljudsystemet lägger det också grunden för mer spännande ljudfunktioner som vi har planerat för framtiden, så håll ögonen öppna!

På Twitch är vi fast beslutna att göra det enklare än någonsin för nya streamare att komma igång på sin streamingresa. Vi skapar många fler verktyg i år som hjälper streamarna att förbättra sina streamar samtidigt som upplevelsen förblir så enkel och smidig som möjligt. Om du inte har kollat in Twitch Studio än kan du pröva här.

Andra nyheter