[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"navigation_docs":3,"-interface-video-analytics":224,"-interface-video-analytics-surround":456},[4,157,184],{"title":5,"path":6,"stem":7,"children":8,"page":156},"Interface","\u002Finterface","1.interface",[9,53,61,68,75,82,90,97,104,111,132,139,145],{"title":10,"path":11,"stem":12,"children":13,"icon":15},"Courts","\u002Finterface\u002Fcourts","1.interface\u002F01.courts\u002F1.index",[14,16],{"title":10,"path":11,"stem":12,"icon":15},"sporty-court-sport",{"title":17,"path":18,"stem":19,"children":20,"icon":22},"Access control and lights","\u002Finterface\u002Fcourts\u002Fintegrations","1.interface\u002F01.courts\u002F5.integrations\u002F1.index",[21,23,28,33],{"title":17,"path":18,"stem":19,"icon":22},"sporty-toggle-large-on",{"title":24,"path":25,"stem":26,"icon":27},"Weblock","\u002Finterface\u002Fcourts\u002Fintegrations\u002Fweblock","1.interface\u002F01.courts\u002F5.integrations\u002F2.weblock","sporty-door-open",{"title":29,"path":30,"stem":31,"icon":32},"Shelly","\u002Finterface\u002Fcourts\u002Fintegrations\u002Fshelly","1.interface\u002F01.courts\u002F5.integrations\u002F3.shelly","sporty-bolt",{"title":34,"path":35,"stem":36,"children":37,"icon":27},"UniFi Access","\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access","1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F1.index",[38,40,44,49],{"title":39,"path":35,"stem":36,"icon":27},"Overview",{"title":41,"path":42,"stem":43,"icon":22},"Connect the VPN","\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access\u002Fvpn","1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F2.vpn",{"title":45,"path":46,"stem":47,"icon":48},"Create an API token","\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access\u002Fapi-token","1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F3.api-token","sporty-gear",{"title":50,"path":51,"stem":52,"icon":15},"Set it up in Club Admin","\u002Finterface\u002Fcourts\u002Fintegrations\u002Funifi-access\u002Fclub-admin","1.interface\u002F01.courts\u002F5.integrations\u002F4.unifi-access\u002F4.club-admin",{"title":54,"path":55,"stem":56,"children":57,"icon":60},"Members","\u002Finterface\u002Fmembers","1.interface\u002F02.members\u002F1.index",[58],{"title":59,"path":55,"stem":56,"icon":60},"Member management","sporty-user-group",{"title":62,"path":63,"stem":64,"children":65,"icon":67},"Memberships","\u002Finterface\u002Fmemberships","1.interface\u002F03.memberships\u002F1.index",[66],{"title":62,"path":63,"stem":64,"icon":67},"sporty-id-card",{"title":69,"path":70,"stem":71,"children":72,"icon":74},"Leagues","\u002Finterface\u002Fleagues","1.interface\u002F04.leagues\u002F1.index",[73],{"title":69,"path":70,"stem":71,"icon":74},"sporty-ranking-star",{"title":76,"path":77,"stem":78,"children":79,"icon":81},"Tournaments","\u002Finterface\u002Ftournaments","1.interface\u002F05.tournaments\u002F1.index",[80],{"title":76,"path":77,"stem":78,"icon":81},"sporty-trophy",{"title":83,"path":84,"stem":85,"children":86,"icon":89},"Payments and subscriptions","\u002Finterface\u002Fpayments","1.interface\u002F06.payments\u002F1.index",[87],{"title":88,"path":84,"stem":85,"icon":89},"Payments","sporty-credit-card",{"title":91,"path":92,"stem":93,"children":94,"icon":96},"Shop","\u002Finterface\u002Fshop","1.interface\u002F07.shop\u002F1.index",[95],{"title":91,"path":92,"stem":93,"icon":96},"sporty-bag-shopping",{"title":98,"path":99,"stem":100,"children":101,"icon":103},"Schools and coaches","\u002Finterface\u002Fschools","1.interface\u002F08.schools\u002F1.index",[102],{"title":98,"path":99,"stem":100,"icon":103},"sporty-graduation-cap",{"title":105,"path":106,"stem":107,"children":108,"icon":110},"Emails","\u002Finterface\u002Femails","1.interface\u002F09.emails\u002F1.index",[109],{"title":105,"path":106,"stem":107,"icon":110},"sporty-envelope",{"title":112,"path":113,"stem":114,"children":115,"icon":117},"Video and cameras","\u002Finterface\u002Fvideo","1.interface\u002F10.video\u002F1.index",[116,118,122,127],{"title":112,"path":113,"stem":114,"icon":117},"sporty-camera-cctv",{"title":119,"path":120,"stem":121,"icon":117},"Dahua cameras","\u002Finterface\u002Fvideo\u002Fdahua","1.interface\u002F10.video\u002F2.dahua",{"title":123,"path":124,"stem":125,"icon":126},"Other RTMP cameras","\u002Finterface\u002Fvideo\u002Frtmp","1.interface\u002F10.video\u002F3.rtmp","sporty-video",{"title":128,"path":129,"stem":130,"icon":131},"Match analytics","\u002Finterface\u002Fvideo\u002Fanalytics","1.interface\u002F10.video\u002F4.analytics","sporty-chart-simple",{"title":133,"path":134,"stem":135,"children":136,"icon":138},"Reports","\u002Finterface\u002Freports","1.interface\u002F11.reports\u002F1.index",[137],{"title":133,"path":134,"stem":135,"icon":138},"sporty-chart-mixed",{"title":140,"path":141,"stem":142,"children":143,"icon":48},"Settings","\u002Finterface\u002Fsettings","1.interface\u002F12.settings\u002F1.index",[144],{"title":140,"path":141,"stem":142,"icon":48},{"title":146,"path":147,"stem":148,"children":149,"icon":151},"Social publishing","\u002Finterface\u002Fsocial","1.interface\u002F13.social\u002F1.index",[150,152],{"title":146,"path":147,"stem":148,"icon":151},"sporty-newspaper",{"title":153,"path":154,"stem":155,"icon":22},"Connecting channels","\u002Finterface\u002Fsocial\u002Fchannels","1.interface\u002F13.social\u002F2.channels",false,{"title":158,"path":159,"stem":160,"children":161,"icon":164},"Website","\u002Fwebsite","2.website\u002F1.index",[162,165,170,174,179],{"title":163,"path":159,"stem":160,"icon":164},"Website builder","sporty-browser",{"title":166,"path":167,"stem":168,"icon":169},"Pages, hero and footer","\u002Fwebsite\u002Fpages","2.website\u002F2.pages","sporty-file-lines",{"title":171,"path":172,"stem":173,"icon":151},"News and events","\u002Fwebsite\u002Fnews-and-events","2.website\u002F3.news-and-events",{"title":175,"path":176,"stem":177,"icon":178},"Coaches and gallery","\u002Fwebsite\u002Fcoaches-and-gallery","2.website\u002F4.coaches-and-gallery","sporty-images",{"title":180,"path":181,"stem":182,"icon":183},"FAQ and sponsors","\u002Fwebsite\u002Ffaq-and-sponsors","2.website\u002F5.faq-and-sponsors","sporty-circle-question",{"title":185,"path":186,"stem":187,"children":188,"icon":190},"OAuth & Sign in with Sporty","\u002Foauth","4.oauth\u002F1.index",[189,191,195,199,203,207,211,215,219],{"title":185,"path":186,"stem":187,"icon":190},"sporty-brackets-curly",{"title":192,"path":193,"stem":194,"icon":190},"Registering an application","\u002Foauth\u002Fclients","4.oauth\u002F2.clients",{"title":196,"path":197,"stem":198,"icon":190},"The authorization code flow","\u002Foauth\u002Fauthorization-code","4.oauth\u002F3.authorization-code",{"title":200,"path":201,"stem":202,"icon":190},"Scopes","\u002Foauth\u002Fscopes","4.oauth\u002F4.scopes",{"title":204,"path":205,"stem":206,"icon":190},"Sign in with Sporty","\u002Foauth\u002Fsign-in-with-sporty","4.oauth\u002F5.sign-in-with-sporty",{"title":208,"path":209,"stem":210,"icon":190},"The partner API","\u002Foauth\u002Fpartner-api","4.oauth\u002F6.partner-api",{"title":212,"path":213,"stem":214,"icon":190},"Syncing bookings","\u002Foauth\u002Fbooking-sync","4.oauth\u002F7.booking-sync",{"title":216,"path":217,"stem":218,"icon":190},"MCP and AI clients","\u002Foauth\u002Fmcp-and-ai-clients","4.oauth\u002F8.mcp-and-ai-clients",{"title":220,"path":221,"stem":222,"icon":223},"Agent checkout","\u002Foauth\u002Fagent-checkout","4.oauth\u002F9.agent-checkout","sporty-cart-shopping",{"id":225,"title":128,"body":226,"description":448,"extension":449,"links":450,"meta":451,"navigation":452,"path":129,"seo":453,"stem":130,"__hash__":455},"docs\u002F1.interface\u002F10.video\u002F4.analytics.md",{"type":227,"value":228,"toc":438},"minimark",[229,233,237,245,250,282,286,289,300,322,325,329,336,340,343,354,357,361,364,391,394,397,401,426,430],[230,231,232],"warning",{},"Match analytics is in an early release. Movement statistics are available for padel and\ntennis courts; hits, rallies and shot types are coming in later versions.",[234,235,236],"p",{},"SportyPlus can analyse a recording after the fact and tell each player how much they moved,\nhow fast, where on the court they spent their time, and how often they came to the net. The\nanalysis runs from the same camera that records the match — nothing extra to install on court.",[234,238,239,240,244],{},"Players are shown as ",[241,242,243],"strong",{},"court positions P1–P4",", not by name.",[246,247,249],"h2",{"id":248},"what-you-need","What you need",[251,252,253,262,269,276],"ol",{},[254,255,256,257,261],"li",{},"A camera on the court, recording as usual (see ",[258,259,112],"a",{"href":260},"\u002Fvideo",").",[254,263,264,265,268],{},"The court's ",[241,266,267],{},"sport"," set to padel or tennis. Sports come from the court settings.",[254,270,271,272,275],{},"The camera ",[241,273,274],{},"calibrated"," for that sport — a one-time step, below.",[254,277,278,281],{},[241,279,280],{},"Match analytics enabled"," for your club (ask SportyPlus).",[246,283,285],{"id":284},"calibrating-a-camera","Calibrating a camera",[234,287,288],{},"Calibration tells the analyser where the court is in the camera's picture. You do it once\nper camera and sport, and again only if the camera is moved.",[234,290,291,292,295,296,299],{},"Open the camera under ",[241,293,294],{},"Club Admin → Commercial → Cameras"," and find ",[241,297,298],{},"Court & calibration",".",[251,301,302,305,312,315],{},[254,303,304],{},"Pick the sport, and say how the camera is mounted (behind the back glass, on a side wall,\nin a corner, overhead). This is a hint for accuracy, not a requirement.",[254,306,307,308,311],{},"The editor shows a frame from the camera's latest recording. Use the play and scrub\ncontrols to pause on a clear moment — ideally an empty court. If the camera has no\nrecording yet, or only old ones, press ",[241,309,310],{},"Record a clip now",": the camera records twenty\nseconds, the clip is uploaded, and the editor opens on it.",[254,313,314],{},"Click each landmark the editor asks for, as precisely as you can: the ends of the service\nlines, the service T, the net post bases, the far corners. Skip anything you cannot see.\nDrag a point to adjust it. Four is the minimum; eight or more is better.",[254,316,317,318,321],{},"Press ",[241,319,320],{},"Calibrate",". Within a minute the court lines are drawn over the frame through your\ncalibration. If they sit on the paint, you are done. If they do not, undo the worst point and\ntry again.",[234,323,324],{},"The score next to the result grades how consistent your clicks were; anything above about\n0.7 is good. Coverage tells you how much of each half of the court your points spanned.",[326,327,328],"note",{},"Cameras mounted high behind the back glass, looking down the court, give the most accurate\npositions. A side or corner mount still works, but positions at the far end of the court will\nbe less precise, and the analyser says so in its quality notes.",[234,330,331,332,335],{},"If the analyser later finds that the court lines no longer sit where the calibration expects\nthem, it marks the calibration ",[241,333,334],{},"stale"," and asks you to redo it. The camera was probably\nnudged.",[246,337,339],{"id":338},"getting-a-recording-analysed","Getting a recording analysed",[234,341,342],{},"Analysis is requested per booking, next to the video option. A recording of a booking that\nasked for it is analysed automatically as soon as it finishes. Analysis needs the video, so a\nbooking that asks for analysis alone is not recorded.",[234,344,345,346,349,350,353],{},"A club admin can also start it from the recording's page: open the video under ",[241,347,348],{},"Videos","\nand press ",[241,351,352],{},"Analyse",". If the button does nothing, the page tells you why — the camera is not\ncalibrated for this sport, the court's sport is not supported, or analytics is not enabled for\nthe club.",[234,355,356],{},"Results usually appear within a few minutes of the recording finishing. A one-hour match\ntakes longer than a short clip.",[246,358,360],{"id":359},"reading-the-results","Reading the results",[234,362,363],{},"On the recording's page, below the video:",[365,366,367,373,379,385],"ul",{},[254,368,369,372],{},[241,370,371],{},"Play time and play share"," — how much of the recording was actual play, judged from how\nthe players moved.",[254,374,375,378],{},[241,376,377],{},"Timeline"," — play segments as bars. Click anywhere to jump the video there.",[254,380,381,384],{},[241,382,383],{},"Per player"," (P1–P4): distance covered, average and top speed, sprints, net approaches,\nand the share of time spent at the net, mid-court and at the back. P1 and P2 are the pair\nnearer the camera at the start, P3 and P4 the far pair.",[254,386,387,390],{},[241,388,389],{},"Heatmaps"," — where each player stood, on a drawing of the court.",[234,392,393],{},"Distances are measured on the floor, so they are smaller than what a wrist device reports;\na player's arm moves more than their feet. Top speeds are peaks over half a second.",[234,395,396],{},"Members can see the same page at the link in their \"recording ready\" notification, for\nrecordings of bookings they were on.",[246,398,400],{"id":399},"what-is-not-there-yet","What is not there yet",[365,402,403,409,414,420],{},[254,404,405,408],{},[241,406,407],{},"The ball"," — so no hits, rallies, serves, shot counts or shot types yet.",[254,410,411,299],{},[241,412,413],{},"Highlights",[254,415,416,419],{},[241,417,418],{},"Names"," — players are positions, never identities. Linking a position to a member,\nwith their consent, is planned.",[254,421,422,425],{},[241,423,424],{},"Courts with two sports"," — a booking on such a court cannot be analysed until the booking\nsays which sport was played.",[246,427,429],{"id":428},"good-to-know","Good to know",[365,431,432,435],{},[254,433,434],{},"The analysis never looks at faces and keeps no crops of people; it stores positions and\nstatistics. Results are kept when the recording itself is removed after the retention period.",[254,436,437],{},"Analytics files are stored separately from recordings and are fetched by your browser\ndirectly; if a heatmap does not appear, refresh the page.",{"title":439,"searchDepth":440,"depth":440,"links":441},"",2,[442,443,444,445,446,447],{"id":248,"depth":440,"text":249},{"id":284,"depth":440,"text":285},{"id":338,"depth":440,"text":339},{"id":359,"depth":440,"text":360},{"id":399,"depth":440,"text":400},{"id":428,"depth":440,"text":429},"How SportyPlus turns a court recording into player statistics, and what it needs from you","md",null,{},{"icon":131},{"title":128,"description":454},"Player movement statistics from your court cameras — setup, calibration and what the numbers mean","APZCvESS-NvJymOm2MtSGMU2EGGhxT040UFbwOCpads",[457,459],{"title":123,"path":124,"stem":125,"description":458,"icon":126,"children":-1},"Settings for any camera that can push RTMP, whatever the make",{"title":133,"path":134,"stem":135,"description":460,"icon":138,"children":-1},"Here we learn how to read club reports",1790691909306]