Hoppa till innehållet

Ljudkvalitetskontroll för livesändning

Ljudkvalitetskontroll för livesändning hos ett team för mediadrift · Byggt från grunden, solo, från design till driftsättning

Uppdaterad

Före

Personalen kontrollerade kommentatorljudet för hand, så ett missat fel kunde nå tittarna.

Efter

1 timme

av mätvärden sparade på plats under ett nätverksavbrott och sedan skickade igen en gång; ljudstyrka mätt enligt EBU-standard.

Så fungerar det
  1. 1Programvara:Arena

    Skickar kommentatorljud på många kanaler.

  2. 2Programvara:Lokal agent

    Mäter varje kanal enligt EBU:s ljudstyrkestandarder.

  3. 3Programvara:Lokal agent

    Sparar mätvärden på disk och skickar dem igen efter ett nätverksavbrott.

  4. 4Programvara:Molntjänst

    Utlöser ett larm när ett fel pågått tillräckligt länge.

  5. 5Person:Operatör

    Ser larm och incidenter i webbkonsolen.

Alltid på

  • Molnet ignorerar dubblerade mätvärden, så en omsändning räknas aldrig två gånger.

Problem

Personalen övervakade kommentatorljudet för hand. Ett missat fel riskerade klagomål från tittare, myndighetsböter och skada på anseendet.

Diagnos

Larm hjälper bara när de är fullständiga och utan falsklarm. Nätverksavbrott skulle tappa mätvärden, och detektorer som fladdrar skulle dränka operatörerna i falsklarm.

Alternativ jag vägde

  1. Länken till molnet bryts. Hur går inget mätvärde förlorat?

    Valt

    Spara mätvärden på disk lokalt och skicka dem igen; molnet ignorerar dubbletter

    En timmes mätvärden och ett dygns händelser överlever ett avbrott, och en omsändning räknas aldrig två gånger. Kostnad: fler rörliga delar på den lokala maskinen.

    • Bortvalt

      Håll mätvärden i minnet och släng de äldsta när det blir fullt

      Tappar data under ett avbrott, just när det spelar roll.

  2. En detektor slår av och på. När går ett larm?

    Valt

    Först när ett fel pågått en minsta tid, därefter en avkylningsperiod

    En instabil kanal kan inte dränka operatörerna.

    • Bortvalt

      Larma vid varje växling

      En instabil kanal begraver operatörerna i falsklarm.

Lösning

En lokal agent mäter varje kanal och skickar mätvärden till en molntjänst. Operatörerna får en webbkonsol med projekt, tröskelvärden och larm.

Lokal agent
  • Python
  • EBU R128 loudness
  • ONNX Runtime
  • PyTorch
  • SpeechBrain
  • Windows build
Moln-API
  • FastAPI
  • SQLAlchemy
  • Alembic
  • PDF reports
Data
  • TimescaleDB
  • PostgreSQL 17
Operatörskonsol
  • Next.js
  • React
  • TanStack Query
  • WebSockets
  • uPlot
  • Zustand
Kvalitet och leverans
  • Docker Compose
  • GitHub Actions
  • uv
  • Ruff
  • mypy
  • pytest
  • Playwright
  • axe

Siffror: Agentens buffertinställningar