Livesändning av gudstjänst 2023

En genomgång av hur vår setup för livesändning ser ut i Ytterby kyrka 2023 följer nedan. Inga stor förändringar på länge, mest vissa uppdateringar och uppstädning av lösningen kontinuerligt.

Hårdvara

Kameror

Använder fortfarande 2 st Panasonic Lumix G7, 1 st Panasonic Lumix GH4, 1 st Sony SRG-120DH PTZ-kamera samt Iphone SE med NDICam app.

Dator

Även datorn är densamma sedan start, en HP Z420 med ett Geforce GTX1660 Super grafikkort för att få bra prestanda på NVEC för encoding.

Kringutrustning

Inmatning

Två stycken Elgato Stream deck med 15 knappar vardera tillsammans med en Korg nanoKontrol Studio midi-kontroller med 8 kanaler för att styra ljud.

Kablar

HDMI-kablar på 15, 20 och 25m till Panasonic och Sony kameror är av den kraftigare typen och inte hybridkablar som finns numera och som är enklare och stabilare.

Ljudmixern

Ljudmixern som är en Yamha TF5 används som ljudkort över USB via ASIO.

Mjukvaror

OBS

Vi har stannat på version 27 av OBS pga. kompabilitet med plugins.

Utökningar

  • obs-asio 2.0.3 för att få in mixerns ASIO-kanaler som enskilda kanaler i OBS
  • obs-ndi NDI-plugin för att ta in kameran från Iphone
  • obs-websocket 4.9 för att externa program ska kunna styra OBS
  • Move-transition för zoomande övergångar mellan de olika utsnitten från samma kamera
  • Transition-table för att styra när vilka övergångar används
  • Spectralizer för grafik på ”väntar”-scenen från ljud
  • Klock-script
  • MIDI-control för att hantera styrningen av OBS från MIDI-kontrollern (vi kör fortfarande med en äldre version 1.9)

OpenLP

Vi kör OpenLP version 2.4.6 och använder en anpassad mall till webbfunktionen för att lägga OpenLP som overlay i OBS.

Holographics

För grafiken använder vi Holographics 1.11.2 som renderar en websida som sedan är overlay i OBS på samma sätt som OpenLP. Utvecklingen av Holographics verkar dock ha avstannat!

Bitfocus Companion

För att styra mer än av Elgato´s mjukvara klara av använder vi även Bitfocus Companion för att styra PTZ-kameran, OpenLP, Holographics.

Vad har vi avvecklat

  • Tally-lampor kopplade till var sin Raspberry Zero W styrda med MQTT/Node-red har vi inget behov längre när det alltid finns personer i kyrkan och inte bara hemifrån.
  • Skylt med ”I sändning” / ”Inspelning pågår” styrd via MQTT/Shelly relä har vi också städat av samma anledning.
  • Möljighet att fjärrstyra OBS via en web-sida publicerad via Nginx
  • Placeringen av PTZ-kameran mitt i kyrkan i korsarmen var bara så länge det fanns begränsningar och numera sitter kameran på en av stolparna som bär upp läktaren istället

Jämförelse av NDI-appar på IOS

Så lång har jag testat följande appar på IOS som utlovar NDI-funktionalitet.

Lite om NDI, finns två varianter, NDI och NDI HX, den senare nyttjar komprimering och har i teorin lite större fördröjning än NDI som däremot nyttjar betydligt mer bandbredd. För mer detaljer; https://www.epiphan.com/blog/ndi-ndihx-network-video-production/

NDICam

NDICam är appen jag använder mest, kostar dock 119:-. Har stöd för både NDI och NDI HX, bandbredd att nyttja för NDI HX går också att ställa in. Ytterligare en fördel för oss som är i Europa är att det skall gå att köra 25fps, dock lyckas jag bara få 29,97fps oavsett inställning. Finns 4 nivåer av kvalitet, brukar köra på 3/4, 720p, max är 1080p, lägsta är 270p, nivå 2 är 540p. Fördröjning till OBS på ~200ms i 720p.
En ytterligare nackdel jag noterat är att om man kör länge så verkar kvalitén att minska och börjar bli pixlig! Dock verkar första timmarna vara ok, sedan behöver appen startas om. Man vill alltså inte montera telefonen otillgängligt.


NDI HX Camera

NDI HX Camera är sedan början på året gratis, kostade tidigare 99:-. Finns 3 kvalitetsnivåer, 480p(4×3)@30p, 1080@30p eller 4k@30p, dock ingen möjlighet att ställa in bandbredd separat. Fördröjning till OBS med 1080p, ~900ms. Bildkvalitén upplevs som så bra som telefonens kamera är, dvs en XS är bättre än en SE, även om den senare är helt ok.


OBS Camera

OBS Camera kostar 189:-. Går att ställa High, Standard, Low, alla skickar 1080@30p. Går att ställa in även lägre upplösningar och andra fps. Exempelvis 720p och 480p, 25, 30, eller 60 fps. Enda läget med fördröjning under kontroll är 480p, de övriga inställningar lyckas jag inte att få något flyt i bilder alls. Finns fler filminställningar i OBS Camera än i övriga appar, dock är de väl tekniska och inte avpassade för praktiskt filmande.


EpocCam

EpocCam marknadsför att den hanterar NDI, lyckas inte få igång något alls…


Newtek har även en app som skickar telefonens skärm via NDI, NDI HX Capture, går att exemplevis använda Filmic Pro utan overlay, dock bara i telefonskärmens upplösning.


Slutsats så här långt är att NDICam går att synka med Panasonic + Camlink, vill man jobba med gratis-app så fungerar NDI HX Camera fint men man behöver ha fördröjning på ljud (och ev. även andra bildkällor)

Starta en livesändning till Youtube

Detaljnoteringar för hur livesändning av ljud till Youtube är uppsatt i Ytterby mars 2018.

Förberedelser inför livesändning

Starta Mixerbord (Yamaha TF5)

  1. Om det är oklart status på mix från föregående tillfälle så ladda förinställning A06 (snabbknapp E), då skall de två NT5´orna skicka ljud till AUX 17/18 som går till datorns ljudkort utan att någon regel behöver dras upp
  2. Övriga mikrofoner går till livesändningen på samma sätt som de gör ut i kyrkan.

Starta laptop

  1. Starta OBS OBS
    1. Byt grafik till aktuell gudstjänst genom att dubbelklicka på Söndagens namn i listan under Källor, png-fil med grafik återfinns i Google Drive-mapp och Overlay-OBS/2018/datum-overlay-söndagens namn.png
    2. Verifiera att ljud kommer från mixerbordet till OBS genom att de liggande gröna staplarna rör sig åt höger när det går ljud in i mixerbordet, är det tyst i kyrkan så kan även staplarna vara noll! 
    3. För att starta ström med data till Youtube, klicka på Börja strömma överst i listan med knappar nere till höger i programfönstret.
  2. Starta Chrome Chrome
    1. Gå till https://www.youtube.com/my_live_events
    2. Klicka på Kontrollrummet under aktuell gudstjänst i listan.
    3. Evenemanget skall vara inställt på att automatiskt starta ström iom att det under avancerade inställningar är ikryssat ”Starta streamen automatiskt när du börjar skicka data”, om inte behöver förhandsgranskning och sedan även ström startas manuellt.
    4. Verifiera efter några minuter att Strömstatus är BRA, kan vara lite skiftande första tiden efter start!
  3. Monitorera ljudkvalitet/status på sändning
    1. Ljud, lyssna i lurar på Phone-utgång från ljudkortet
    2. Youtube, kolla att Strömstatus bilbehålls på BRA eller OK
    3. Ström från datorn, i nederkant på OBS finns status på det som skickas från datorn och hur hög belastningen på datorn är.
  4. Avsluta
    1. För att stänga av sändningen gå till Chrome och Kontrollrummet och klicka på Stoppa ström
    2. I OBS klicka på Sluta strömma.
  5. Trimma klipp
    1. De minuter som strömmen startats innan gudstjänststart kan klippas bort efter avslutad livesändning, välj Videohanteraren i menyn till vänster och sedan Redigera under aktuell gudstjänst
    2. Välj flik Förbättringar och sedan Beskär nere till höger om bilden, då dyker en tidslinje upp där man kan dra den högra blå markören till strax innan starttiden, det blir den nya starten av Youtubevideon.

Starta med streaming av ljud

Här kommer en serie med noteringar om vilka förutsättningar som behövs för att starta med livesändning till Youtube med OBS.

I utgångsläget är första delmålet att skicka ljud återkommande där enkelt handhavande är fokus.

Vad behövs:

  1. ljudkälla, i detta exempel så finns det en Yamaha TF5-mixer som producerar ljudet i kyrkan idag.
  2. ljudinterface USB till datorn
  3. dator, befintligt laptop med Windows 7 som redan används för inspelning till mp3 tillsammans med Audacity, dock med tveksam ljudkvalitet.
  4. internetuppkoppling
  5. mjukvara, OBS, Open Broadcast Software
  6. någon form av bild/grafik behövs också iom att Youtube förväntar sig egentligen en rörlig bild.
  7. Google-konto för att komma åt Youtube studio

Konfigurering

Ljudmixer

Rumsljud

Egentligen oavsett mixer så behöver det förstärkta ljudet i kyrkan kompletteras med någon form av upptagning av rumsljudet som inte skall förstärkas ut i kyrkan utan bara skickas till livesändningen. Efter lite experimenterande så är en komplettering med två stycken RØDE NT5 gjort för detta ändamål, dessa är placerade i höjd med kyrkans högtalare riktade mot församlingen. För att dessa mikrofoner inte skall gå ut i kyrkan så är de exkluderade från mixen till samtliga högtalare.
Mer info om RØDE NT5 här: http://www.rode.com/microphones/nt5

Separat mix

De flesta mixerbord bör ha några ”Aux” där man kan ta ut ljud från mixerbordet, på ett Yamaha TF5-bord finns både mono och stereo-varianter. En stereo-aux är vald iom att de två NT5´or då kan konfigureras för att ta upp vänster resp höger. Övriga kanaler som myggor, handmikrofoner och instrument är mono och skickas till båda stereokanalerna.

Rumsljudets mikrofoner skickas till stereo-aux före reglar (pre-fader), det går med andra ord alltid vidare till livesändningen oavsett mixen i kyrkan, övriga kanaler är ju händelsestyrda och ligger därmed efter regel och följer mixen i kyrkan.

Kompressor

Dynamiken i ljudet till livesändningen behöver minskas jämfört med det som skickas ut i kyrkan därför är en ganska aggressiv kompressor lagd på utgående stereo-aux, Yamaha TF5 har den fina finessen att det finns en ”1-knob”-funktion och den är satt till 60% i dagsläget.

Ljudinterface

För att få in ljudet på ett bra sätt i datorn och som stereo behöver datorn kompletteras med en ljudkort. Den inbyggda mic-ingången är lika bra att ge upp, kvalitén blir inte tillräcklig och är enbart mono. Signalkvaliten blir bäst om den är balanserad så XLR blev valet här, har testkört med en Zoom H5 och kvalitén blir helt ok, dock är uppstarten av den till ljudkortsläge inte så enkel, därav inte att rekommendera som en långsiktig lösning.
Steg två blev ett Behringer UMC204HD som förutom attraktivt pris också har dämpning på ingångarna (”PAD”). Kortet är konfigureras med avstängd 48V, Line-nivå och PAD aktiv och har då en gain på ungefär 50%.
Mer info om Behringer UMC204HD här: http://www.musictri.be/Categories/Behringer/Computer-Audio/Interfaces/UMC204HD/p/P0BK0

Dator

Hårdvarukonfig

En några år gammal HP-laptop av typ Probook fanns redan på plats och visad sig klara av att hantera livesändning av ljud, den har dock inte kapacitet att skicka rörlig bild, för det krävs betydligt mer prestanda, mer om det i samband med konfigurering av OBS.

Nätverk

Att rekommendera är att ha en trådad anslutning till internet från datorn, har testkört med trådlös router och det fungerar (!) dock inte utan problem, stabiliteten med en sladd är svårslagen!

drivrutin ljudinterface

Installation av drivrutin för ljudinterface krävs i Windows, kör man OS X är man startklar utan att behöva installera något.

OBS OBS

Installation

Finns att ladda ner på https://obsproject.com

Förutom själva installationsfilen ovan så kan även ytterligare filer krävas på Windows-plattformen från Microsoft nämligen Visual Studio 2013 Runtime, de hittas här: https://obsproject.com/visual-studio-2013-runtimes

Konfiguration

När installationen är gjord är det dags för konfigurering, finns en automatisk konfigurationsguide som kan köras, den kan användas för att göra alla grundinställningar.

Det som inte ges med automatik är optimeringen för ljud där så här långt följande är justerat;

  • bithastighet för ljud = 160kb
  • bildhastighetsvärde = 10 fps
Skapa sändning

I enklaste utförandet så behövs en Scen och sedan några källor som;

  1. ljudinmatningsenhet, här dyker ljudinterfacet upp
  2. Bild, lämplig bakgrundsbild som kan återanvändas
  3. Text eller bild med sändningspecifik information, jag har i dagsläget valt att göra den Photoshop för att har frihet och möjlighet att vara konsekvent i uttryck.
  4. [bonus] Lua Clock, i senaste versionen av OBS finns ett script för en analog klocka, ett enkelt sätt att förmedla att sändningen inte har hängt sig innan start.
Ljudnivåer

Mixern i OBS har en skala från grönt via gult till rött. En lämplig tumregel är att musik skall hålla sig på den gröna delen av skala, tal kan ligga inom det gula området och inget skall mer än tillfälligt befinnas sig på den röda delen av skalan.

För att inte riskera att ljudet till Youtube bottnar och låter illa så är en kompressor lagd som filter på ljudinmatningsenheten;

  • Förhållande 10:1
  • Tröskel -10dB
  • Attack 6ms
  • Frigör 60ms
  • Utmatningsförstärkning 3,5dB

Youtube

Utgångsläget är att nå Youtube studio, https://www.youtube.com/dashboard?o=U

Livestreaming

I menyn till vänster återfinns ”Livestreaming” och sedan finns två val, antingen ”Streama nu” eller ”Evenemang”. För att kunna marknadsföra och även förbereda är det att föredra att skapa evenemang.

Skapa nytt live-evenemang, ge det en titel och en starttid (du kan även starta innan utsatt tid), välj om det skall vara offentligt eller olistat. För enkelhetens skull är evenemangen vi kör offentliga.
Under avancerade inställningar kan man klicka i att Starta streamen automatiskt när du börjar skicka data, vilket för att man inte behöver gå till Youtube för att starta publik visning av sändningen.
Under strömoptimering, välj Normal fördröjning för bättre stabilitet, kör även med en ytterligare fördröjning på 30s i hopp om stabilare visning.

Under inmatningsinställningar så ladda upp en bild som blir tumnagel innan sändningen startar, har valt att ta delar av bilden med information som överlagras livesändningen och återanvända här med en enfärgad bakgrund.

Dina skapade evenemang återfinns här: https://www.youtube.com/my_live_events

Streamingsnyckel

För att koppla ihop det OBS skickar till Youtube med evenemanget som skapats används en streamningnyckel.

Skapa en av typen Streamingnyckel som kan återanvändas, då behöver inte konfigurationen i OBS ändras, bara att skapa nya evenemang med samma inställningar gång efter gång, ger enkelhet!

Välj kodare: Andra omkodare, då skall ett fält som heter Namn på ström dyka upp, kopiera nyckeln i fältet för vidare användning i OBS.

I OBS inställningar under Ström återfinns val för vart sändningen skall skickas, välj Strömtyp Strömtjänster och sedan Youtube/Youtube Gaming, primär server och klistra sedan in nyckeln från Youtube.

Test

Sist men inte minst så krävs testning av hela kedjan, både avseende konfiguration men inte minst stabiliteten, bli inte orolig om Youtube anser att kvalitén på datan som når dem är dålig under en startperiod, brukar ta en liten stund innan allt är stabilt.

Lasten på CPU bör inte överstiga 60%, är den högre så är en bra början att justera utmatningen från OBS, välj Avancerat utmatningsläge, då dyker CPU användning förinställning upp, en snabbare inställning ger mindre belastning på CPU´n!

Fortsättning följer…