Skip to main content
Petanque Life

Match Recording & Live Production Studio [NEW] — **REBUILD: delvis levererad (D-STUDIO `0ec13810.m-1`)**

F09.04 47 features Planned

At a glance

The Match Recording & Live Production Studio turns any phone or tablet into a broadcast camera, then orchestrates 2 to 4 of them into a live-cut multi-camera production with score overlays, replays, and simultaneous streaming to YouTube, Twitch, Facebook, and Petanque Life. From a club final to a national championship, you get a TV-grade broadcast with no truck and no crew.

How it works

Open the Petanque Life app on one device and tap Record a match — that is a one-camera setup capturing the court with timecode, audio, and a synced match record. To produce a real broadcast, pair 2 to 4 phones or tablets with multi-device camera setup; each device gets a camera role (wide court view, close-up, cochonnet cam, player cam) and is locked to a shared timeline through Camera sync. Audio comes from any camera device or a separate microphone device for cleaner commentary.

A director uses Director mode on a separate iPad to choose the live feed: tap a thumbnail for manual camera switching, or let automatic camera switching follow the active end of the court via AI heuristics on score events. Picture-in-picture mode keeps a secondary angle on screen during big shots. A commentator on yet another device runs Commentator mode, with their voice mixed into the program feed.

Live overlays are auto-driven by the match scoring data already flowing through the app: live score overlay, mène counter and match progress bar, boule count indicator, tournament bracket/standings overlay, and player name/photo overlays when the camera focuses on a player. Sponsor logo overlay, lower thirds with ELO and recent form, custom text overlay, drawing tools on screen, and full telestrator (draw on paused/live video like sports TV) round out the graphics package. Pre-match player cards play as openers, post-mène summary graphics auto-generate after every end, and instant replay plus slow-motion replay or split-screen comparison let directors revisit critical boules.

Distribution is multi-platform. Direct stream to YouTube Live, Twitch, and Facebook Live runs over RTMP, optionally simultaneously, and an in-app live viewing player is always available to followers. An embeddable live player drops the same stream into federation and club websites, complete with live viewer count and chat integration, and stream schedule and notification alerts followers when the show goes live. Adaptive bitrate streaming and stream quality settings keep the picture watchable on rural 4G; for absolute worst-case, audio-only mode and score-only live feed step down gracefully.

Everything is recorded — local recording on each device plus cloud recording of every angle — so after the match you can re-cut with different camera angles, generate automatic highlight clips from score-change moments, manually clip with start/end markers, and produce an automatic match summary video. All assets land in the VOD archive, searchable by competition, player, and date, linked to the match record so the video plays from the match detail page. Offline recording with later upload guarantees nothing is lost when the venue WiFi drops.

Key capabilities

  • Single-phone recording up to 4-device live multi-camera production with synced timelines
  • Director mode with manual or AI-driven automatic camera switching plus picture-in-picture
  • Score, bracket, sponsor, lower-third, and custom-text overlays auto-driven by app match data
  • Telestrator, instant and slow-motion replay, split-screen, pre-match player cards, post-mène summaries
  • Simultaneous RTMP streaming to YouTube, Twitch, Facebook plus in-app and embeddable players
  • Cloud and local recording with auto-highlight, manual clipping, re-cut, and summary video
  • Adaptive bitrate, audio-only and score-only fallbacks, offline-record-and-upload for low-bandwidth venues

In practice

A regional federation hosts a Sunday final at a small club. The organising secretary brings four iPhones on tripods plus a borrowed iPad. She assigns one phone as wide court, one as cochonnet cam, two as player cams, and uses the iPad as Director.

A volunteer puts on a headset and takes the Commentator role from the bar. With one tap she goes live to YouTube and Facebook simultaneously; the live score overlay updates automatically every time the table-side scorer taps the score. She switches angles on big throws, drops a sponsor logo for the local hardware store between mènes, replays a winning carreau in slow motion, and at full time hits Generate summary — a two-minute highlight reel posts itself to the federation's news feed before the trophies are even handed out, and the full broadcast lives in the VOD archive linked to the match.

Features in this subsystem

47
ID Status Features
F09.04.01 In progress Record a match directly from the app (one phone = one camera) Delvis (m-1): enheten ansluter anonymt med engångskod/QR, får sitt eget device_token och en roll — men spelar inte in. Inspelningen: ⊘ — ägare m-3
F09.04.02 Shipped Multi-device camera setup (2-4 phones/tablets as camera sources for same match) m-1: 1—4 KAMERAenheter per produktion (studio.DeviceLimit, kod-deklarerat tak; commentator/director räknas inte), femte kameran ⇒ 409 studio_device_limit
F09.04.03 Shipped Camera role assignment (wide court view, close-up, cochonnet cam, player cam) m-1: wide|closeup|player|crowd + commentator|director ur studio.Roles(), serverade av GET /v1/studio/catalog
F09.04.04 In progress Automatic camera switching (AI-based or rule-based: switch to active end of court) Delvis (m-1) — REGELBASERAD, aldrig AI: score_to_closeup, score_to_wide, break_to_wide ur D-COMP:s live-händelser, med regelns NAMN bokfört på varje beslut. *»Active end«* ⇒ ⊘ — icke-mål: positionsdata om vilken ände som spelas finns inte i huset
F09.04.05 Shipped Manual camera switching (director/commentator selects which camera is live) m-1: PATCH …/program (If-Match), studio:direct eller en director-enhets eget token; switching_mode='manual' stänger auto-regeln
F09.04.06 In progress Picture-in-picture mode (main feed + small secondary camera) Delvis (m-1): PiP-tillståndet (av/på, enhet, hörn) är serverns och sänds till varje enhet. Bild-i-bild-kompositionen är video: ⊘ — ägare m-2
F09.04.07 Shipped Camera sync (all devices synchronized to same timeline) m-1: handskakning …:sync ⇒ MÄTT offset_ms, härlett sync_state ∈ {in_sync, drift, unknown} mot studio.SyncToleranceMs; produktionens started_clock_at är tidslinjens noll
F09.04.08 In progress Audio from any camera device (or separate microphone device) Delvis (m-1): ljudkällans VAL (none|this_device|commentator|device:<id>) är regi-tillstånd och validerat mot produktionens egna enheter. Ljud-mixen: ⊘ — ägare m-2
F09.04.09 Shipped Live score overlay (auto-synced from match scoring in app) m-1: valet i program_state.overlays, underlaget i overlay_data-ramen projicerat ur D-COMP vid läsning — ingen studio_*-tabell bär någonsin ett poäng
F09.04.10 In progress Player name/photo overlays when camera focuses on them Delvis (m-1): spelaretiketterna kommer ur D-COMP:s publika registreringar. Foto: ⊘ — ägare m-2 (en samtyckesgrindad bild i en sändning är ett eget beslut)
F09.04.11 In progress Mène counter and match progress bar Delvis (m-1): end_counter projiceras när D-COMP:s snapshot bär det, annars null + reason: end_counter_unavailable — aldrig ett påhittat »1«. Förloppsindikatorn är rendering: ⊘ — ägare m-2
F09.04.12 Planned Boule count indicator (how many boules each team has left) ⊘ — icke-mål i m-1: fältet finns och svarar ärligt {"state":"not_measured"}. Ingen producent av mätdata finns i huset, och ett »2–1« i en sändningsgrafik som ingen mätt är fabricerad data som tittarna ser
F09.04.13 In progress Tournament bracket/standings overlay Delvis (m-1): bracket är ett giltigt overlay-VAL. Renderingen: ⊘ — ägare m-2
F09.04.14 In progress Sponsor logo overlay (configurable per competition) Delvis (m-1): en REFERENS till D-COMM:s grafikpaket (embed_path ur förbundets default), eller null + reason: no_default_graphics. D-STUDIO bygger ingen egen grafikmotor
F09.04.15 In progress "Lower third" graphics (player stats, ELO, ranking) Delvis (m-1): samma referensmodell som ovan. ELO-/rankinginnehållet i paketet ägs av D-COMM/D-RANK
F09.04.16 Shipped Custom text overlay (commentator can add text messages) m-1: free_text i regi-tillståndet, max 140 tecken (studio.FreeTextMax), 422 too_long över taket
F09.04.17 In progress Commentator mode (separate device for commentary audio) Delvis (m-1): rollen commentator, läget mode='commentator' och ljudkällan finns som tillstånd. Ljudkanalen: ⊘ — ägare m-2
F09.04.18 Shipped Director mode (separate device to switch cameras and control overlays) m-1: mode='director'; en director-enhets token regisserar utan ett användarkonto (D-6)
F09.04.19 Planned Drawing tools on screen (draw arrows, circles to demonstrate tactics) ⊘ — ägare m-4
F09.04.20 Planned Telestrator (draw on paused/live video like sports TV) ⊘ — ägare m-4
F09.04.21 In progress Instant replay (mark moments, replay from any camera angle) Substratet i m-1: regi-tidslinjen (studio_program_event) ÄR replay-markörerna — vilken bild som var i program vid vilken tidpunkt. Video-replayen: ⊘ — ägare m-4
F09.04.22 Planned Slow-motion replay ⊘ — ägare m-4
F09.04.23 Planned Split-screen comparison (show two angles simultaneously) ⊘ — ägare m-4
F09.04.24 Planned Pre-match player cards (show stats, ELO, recent form before match) ⊘ — ägare m-2 (grafikpaketets innehåll ägs av D-COMM)
F09.04.25 Planned Post-mène summary graphic (auto-generated after each end) ⊘ — ägare m-2
F09.04.26 Planned Direct stream to YouTube Live (RTMP integration) ⊘ — ägare m-2/m-3 (visionens §Scope 3; transcoding-sidecar)
F09.04.27 Planned Direct stream to Twitch ⊘ — ägare m-2/m-3
F09.04.28 Planned Direct stream to Facebook Live ⊘ — ägare m-2/m-3
F09.04.29 Planned Multi-platform simultaneous streaming ⊘ — ägare m-2/m-3
F09.04.30 In progress In-app live viewing (watch directly in Petanque Life) Delvis (m-1): score-only — den publika läsningen ger sändningens tillstånd och D-COMP:s live-id, och appen/webben följer ställningen. Video i appen: ⊘ — ägare m-2
F09.04.31 Planned Stream quality settings (adapt to available bandwidth) ⊘ — ägare m-2/m-3
F09.04.32 Shipped Stream schedule and notification (followers get alerted) m-1: GET /v1/public/live/schedule?tenant= + följning genom viewer_follow (follow_type='broadcast') + notistypen broadcast_started, single-fire som DB-invariant med MÄTT utfall
F09.04.33 Planned Embeddable live player for federation/club websites ⊘ — ägare m-6 (en spelare utan video är en tom ruta)
F09.04.34 Planned Live viewer count and chat integration ⊘ — ägare m-6. m-1 publicerar follow_count — FÖLJARE, mätt ur viewer_follow — och kallar det aldrig ett tittarantal
F09.04.35 Planned Local recording (save to device even without streaming) ⊘ — ägare m-3
F09.04.36 Planned Cloud recording (save all camera feeds to cloud storage) ⊘ — ägare m-3
F09.04.37 In progress Automatic highlight generation (key moments based on score changes) Substratet i m-1: tidslinjens auto_switch-rader bär poänghändelsen med sin regel och sin tidpunkt — det är precis nyckelmomenten. Klippgenereringen: ⊘ — ägare m-5
F09.04.38 Planned Manual highlight clipping (mark start/end of interesting moments) ⊘ — ägare m-5
F09.04.39 Planned Post-match edit: re-cut with different camera angles ⊘ — ägare m-5
F09.04.40 Planned Automatic match summary video (condensed highlights + score) ⊘ — ägare m-5. Den AI-genererade TEXT-sammanfattningen är ett icke-mål: ingen producent finns, och en genererad text som påstår sig beskriva en match är fabricerad data
F09.04.41 Planned VOD archive (all recorded matches searchable by competition, player, date) ⊘ — ägare m-5/m-6
F09.04.42 Planned Share match recording (link to specific match video) ⊘ — ägare m-5. m-1 ger en delbar sändningsadress (/live/{slug}), inte en videolänk
F09.04.43 In progress Video linked to match record (watch the video from the match detail page) Delvis (m-1): produktionen är bunden till matchen (match_ref) och den publika posten bär den. Videon i andra änden: ⊘ — ägare m-2/m-5
F09.04.44 Planned Audio-only mode (commentary without video for low bandwidth) ⊘ — ägare m-2 (kräver en ljudkanal)
F09.04.45 Shipped Score-only live feed (text updates when video isn't possible) m-1: visionens §Scope 6 *score only* — den publika läsningen bär competition_ref (D-COMP:s live-id), och panelen återanvänder D-COMP:s egen live-vy. Ingen andra kanalklient
F09.04.46 Planned Offline recording with later upload (record locally, upload when connected) ⊘ — ägare m-3
F09.04.47 Planned Adaptive bitrate streaming (auto-adjust quality) ⊘ — ägare m-2/m-3