Guide till att livesända en orienteringstävling

I augusti 2020 arrangerade Frölunda OL u10milautmaningen, ett substitut för inställda u10mila. Tävlingen hade anmälningstak och separerade starter per sträcka för att klara gällande anvisningar om folksamlingar på max 50 personer pga. covid-19-pandemin. Då det inte fanns någon arena insåg vi att det skulle vara ett uppskattat mervärde för lagkamrater och anhöriga att kunna följa tävlingen genom livesändningar.

I denna guide förklarar producenten Ola Holmer och idéskaparen Marcus Hansson hur det går till att livesända en sådan här produktion. Viss teknisk kompetens krävs för att förstå guiden.

Sändningarna i kan du se här:

Grundprincip

Grunden är enkel, vi har fem olika typer av innehåll:

  • Livevideo från start, mål och skogen.
  • GPS-spårning i Livelox.
  • Liveresultat med radiokontroller.
  • Kommentatorer.
  • Förinspelade inslag.

Navet för att sända är OBS (Open Broadcaster Software), ett program som fångar olika mediekällor och sedan skickar ut en ström till YouTube eller valfri publiceringsplattform. Programmet är öppen källkod, gratis och finns till Windows, Mac OS och Linux.

Förutom innehållet ovan hade vi även grafik över laguppställningar och sträckor som vi visade under sändningen. Denna grafik gjordes i PowerPoint.

Video

Målkamera

Målkameran kan väljas beroende på om datorn som sänder finns i närheten av upploppet. Vi satt i en sekretariatsvagn precis vid upploppet och kunde då koppla en webbkamera med en lång USB-sladd till datorn. Om du inte har möjlighet till detta går det att använda den lösningen som vi körde från radiokontrollerna. Det blir dock sämre bildkvalitet och större fördröjning.

Mobiltelefoner

Filmandet från start och skog gjorde vi med telefoner och appen Larix Broadcaster (gratis för både iOS och Android). Appen skickar en videoström till en server, och från den servern kan annan mjukvara hämta videoströmmen.

Det går egentligen bra med vilken typ av filmningsapp som helst, bara den klarar protokollet RTSP.

I studion kan producenten se alla källor när det filmas, vad som filmas och sedan välja när de skall sändas ut med OBS. Vi använde programmet VLC för att kunna ha koll på alla strömmar samtidigt.

En viktig del av produktionen är att kunna kommunicera med filmarna. Vi använde en kanal i Slack men vilken meddelandetjänst som helst går bra så länge notiser fungerar på telefonerna. Tänk på att filmaren ej kan kommunicera under filmning.

Bilden nedan visar vad producenten håller koll på. Vänstra halvan är olika videoströmmar som visas i VLC. Fönstret uppe till höger är kommunikationen i Slack och fönstret nere till vänster är vad som kommer ut på YouTube.

Mobiltäckning från skogen kan vara en svårighet. Vi valde att ställa in appen att skicka video i 1280×720 upplösning i 1 Mbit/s efter fälttester där filmningen skulle ske. Vi rekommenderar starkt att detta testas. Inställningar till telefonerna kan skickas ut med länkar, läs mer om det här.

Appen skickar video över RTSP-protokollet och för att telefoner och studion skall kunna kommunicera när de är på olika nätverk behöver videoströmmen studsa via en server som alla parter kommer åt.

Servern vi använde var en Amazon Lightsail Linuxserver av minsta storlek som kördes på AWS. Vad som helst med en publik IP-adress fungerar och servern kräver ingen kraftig dator.

Servermjukvaran var rtsp-simple-server. Vi behövde dock göra två enkla ändringar i källkoden för att öka storleken på minnesbuffertar. Efter dessa ändringar rullade programmet på helt utan avbrott i flera veckor.

Drönare

Principen för att filma från drönare är den samma som att filma från telefon. Mjukvaran för den drönare vi använde, DJI Mavic Air, stödjer dock inte RTSP-protokollet utan endast det liknande RTMP-protokollet.

Det tog en stund att hitta rätt lösning men i slutändan var det enkelt med Nginx med en tilläggsmodul för RTMP. Tyvärr fungerade inte detta i livesändning, lite oklart varför men troligen en för stor dataström för kedjan att hantera, vi hade inte samma möjlighet att styra bitrate i drönarappen. Drönaren kunde dock spela in det den filmade och vi kunde senare sända fantastiska bilder från nattstarten.

GPS-spårning

GPS-spårning var den svåraste biten att knäcka, speciellt i kombination med stafetter. Det finns åtminstone ett par kommersiella tjänster att använda men då detta var ett arrangemang med en startavgift på 40:-/deltagare fanns det inget utrymme för sådana lösningar.

Vi körde på Livelox och tillhörande app för att spela in spår – Livelox Recorder. Appen är gratis och finns till iOS och Android.

Det svåraste är att få löparna att dels springa med mobil och dels ha Livelox Recorder-appen konfigurerad korrekt och igång. Arrangören behöver kommunicera detta tidigt och gärna före tävling. Var supertydlig med klasskoder använd startpersonal som påminner precis innan start att starta igång spårning.

Livelox konfigureras som vanligt men tänk på att löpare ej kopplas till stafettsträckor förrän då resultaten publicerats. Det är möjligt att detta går att lösa med att ladda upp startlistor till Livelox men vi fick aldrig klarhet i detta.

Radiokontroller

Att ha liveresultat är i stort sett förväntat på de flesta orienteringsarrangemang. Även radiokontroller för SportIdent-enheter är vanligt förekommande även om det förstås kräver arrangörsvana. Då det är viss osäkerhet om GPS-spårningen fungerar så är många radiokontroller att föredra. Vi använde oss av tre radiokontroller, sk. ROC:ar, med trådlös överföring från SportIdent-enheterna.

Som vanligt gäller det att fälttesta radiokontrollerna innan tävlingen.

Liveresultat

Liveresultaten på liveresultat.orientering.se har inte den grafik som vi önskade i våra sändningar, så det kanske största ideella arbetet som gjordes med vår livesändning var att skriva en helt ny version av liveresultat.

Men goda nyheter – du kan använda detta helt gratis till din sändning!

För stafetter så har MeOS och liveresultat tillsammans vissa egenheter som är svåra att överbrygga:

  • Handpåläggning behövs för sträckor där man får har flera parallella löpare. Om löpare som är registrerad som #2 kommer i mål först adderas bådas tider. Man måste då manuellt byta plats på dessa så fort de kommit i mål.
  • Vi hade multipla masstarter med sammanlagd totaltid (dvs. inga växlingar), så när löpare passerar radio eller kommer i mål innan förgående sträcka är i mål så blir lagets totaltid fel. Vi tog höjd för detta genom att lägga sträckorna så att de kortaste var först men problematiken går inte att fixa helt om någon löpare gör en riktigt stor bom.

Sammanfattning av teknisk lösning

Tittar vi på alla delarna samtidigt så är det ju en vy som både är fascinerande och lite skrämmande på samma gång.

Scener i OBS

Den tekniska lösningen är en sak, men den är inte värd då mycket om tittaren inte får en bra upplevelse. I OBS definierar producenten olika scener som hen kan växla mellan. Exempelvis en sen med studiokamera, en med GPS-spårning och rullande tid, en med grafik osv.

Några olika scener vi körde:

Grafik med PowerPoint som källa.

GPS-spårning med radiotider till höger och rullande tid längst ned.

Livefilmning från radio och GPS-spårning sida vid sida.

Fast målkamera med rullande tid och radiokontroller.

Sändning

I olika faser hade vi tre olika typer av sändningar:

1. Uppsnack

För detta använde nästan ingenting live utan det var inspelade filmer och intervjuer, grafik om lag och banor samt genomgång av banor och intressanta sträckor med banläggare. Du behöver noggrant manus/körschema samt öva samspelet när ni byter innehåll. Bildproducenten måste också hela tiden ligga steget före för att förbereda nästa steg.

Att tänka på är att om det är en tävling av större dignitet så behöver löparna vara i karantän eftersom de teoretisk skulle kunna se banan innan start via livesändningen.

2. Liverapportering

Under loppet följer vi löparna med kameror i skogen och GPS-spårning. Informationsspäckat och stressigt för både bildproducent och kommentatorer. Innan sändningen hade vi tänkt att få in förinspelat material under loppen men det gick inte. 

3. Enkel målkamera

Bara en bild på mål och resultat. Ingen aktiv sändning utan bara att då och då växla vilka klasser och sträckor som det visas resultat för. Detta är väldigt enkelt att sätta upp.

Tips

  • Lär dig OBS ordentligt. Gränssnittet är inte jättebra men det är å andra sidan väldigt flexibelt.
  • Om du har flera fönster som heter samma sak kan OBS förväxla dessa vid omstart. Ett tips är att gå in i utvecklarkonsolen och ändra namn på fönster så de blir unika.
  • Du behöver en kraftfull dator att sända ifrån, en bärbar fungerar oftast inte. Provkör och ha koll på sändningens status. Du måste ha tillräckligt med CPU-tid för att koda strömmen.
  • Du är inte bara bildproducent utan också ljudproducent. Testa och använd gain-effekt för att öka/sänka ljudvolymen på studiomicen.
  • Livelox är minneskrävande när det kört en stund. Det finns risk för att du behöver starta om Livelox.

Slutligen så är detta en teknisk guide. Utöver detta krävs det övning för programledare och kommentatorer så att sändningen flyter på bra.

Lycka till önskar Ola Holmer, producent och Marcus Hansson, idéskapare.

Behöver du hjälp?