Een vriend van me belt me net op met een interessant project.
Hij hockeyed bij een elftal (DSHC), en ze willen graag digitale video gebruiken voor spel analyse. Ik zal zijn voorstel hier uiteen zetten:
Het idee is dat een wedstrijd wordt gefilmt met 1 digitale videocamera die direct op een laptop zit aangesloten, zodat de video stream realtime op de laptop zichtbaar is. Deze video stream moet dan op een bepaald moment kunnen worden gecaptured en opgeslagen in een database. Als Janssen bijvoorbeeld een foute loopactie maakt, dan moet in een programma de naam Janssen en loopactie worden selecteerd, en moet de stream worden gecaptured en opgeslagen in een database systeem totdat de loopactie stopt, en de capture dus ook (handmatig) wordt gestopt.
Ik kan me de inplementatie van het database systeem nog wel voorstellen. Je drukt op 'Start capture'; het capturen start en er wordt een ID toegekent aan het fragment;
tijdens het capturen selecteer je (eventueel, als er tijd voor is) de naam en de actie; je drukt op 'Stop capture'; als er geen naam en actie is geselecteerd komt het ID in een lijst van niet gearchieveerde actie's, om later (tijdens de wedstrijd) te archieveren. Is er wel een naam en actie geselecteerd, dan word het ID gelijk in de database gegooid (ik denk dat het niet handig is om het fragment zelf in de database te zetten, de database zou dan onhandig groot worden); hierna is het systeem klaar om het volgende fragment te capturen.
Later kunnen dan bijvoorbeeld uit de database alle foute loopacties van Janssen uit een aantal wedstrijden worden geselecteerd.
Ik heb echter geen idee hoe de implementatie van het caputeren zelf moet gebeuren.
Een vergelijkbaar systeem wordt al ontwikkeld door het nationale team van Australie en Duitsland. Ook Nederland heeft er plannen voor.
Nu heb ik zelf nog weinig ervaring met C++, ik ben er pas net een beetje in begonnen. Wel heb ik ruime ervaring met php, sql en (iets minder met) java. Het is mij ook niet gevraagd of ik dit programma kan ontwikkelen (want dat kan ik (nog) niet), maar wat mijn ideeen erover zijn.
Mijn vraag is nu in hoeverre dit systeem in welke taal uitvoerbaar is. Ik denk dat elke digitale videocamere wel een programma heeft om fragmenten te capturen, maar niet met de optie's zoals hierboven beschreven. Mij lijkt het dus noodzakelijk om zelf een programma te ontwikkelen die het capturen aanstuurt. Bestaan hiervoor (windows) API's, in bijvoorbeeld C++, of zou je die ook nog zelf moeten schrijven?
Heeft iemand ervaring met een vergelijkbaar programma, of is er misschien al een commercieele applicatie die is soortgelijks doet.
Kortom, alle ervaring, advies, etc is welkom.
Hij hockeyed bij een elftal (DSHC), en ze willen graag digitale video gebruiken voor spel analyse. Ik zal zijn voorstel hier uiteen zetten:
Het idee is dat een wedstrijd wordt gefilmt met 1 digitale videocamera die direct op een laptop zit aangesloten, zodat de video stream realtime op de laptop zichtbaar is. Deze video stream moet dan op een bepaald moment kunnen worden gecaptured en opgeslagen in een database. Als Janssen bijvoorbeeld een foute loopactie maakt, dan moet in een programma de naam Janssen en loopactie worden selecteerd, en moet de stream worden gecaptured en opgeslagen in een database systeem totdat de loopactie stopt, en de capture dus ook (handmatig) wordt gestopt.
Ik kan me de inplementatie van het database systeem nog wel voorstellen. Je drukt op 'Start capture'; het capturen start en er wordt een ID toegekent aan het fragment;
tijdens het capturen selecteer je (eventueel, als er tijd voor is) de naam en de actie; je drukt op 'Stop capture'; als er geen naam en actie is geselecteerd komt het ID in een lijst van niet gearchieveerde actie's, om later (tijdens de wedstrijd) te archieveren. Is er wel een naam en actie geselecteerd, dan word het ID gelijk in de database gegooid (ik denk dat het niet handig is om het fragment zelf in de database te zetten, de database zou dan onhandig groot worden); hierna is het systeem klaar om het volgende fragment te capturen.
Later kunnen dan bijvoorbeeld uit de database alle foute loopacties van Janssen uit een aantal wedstrijden worden geselecteerd.
Ik heb echter geen idee hoe de implementatie van het caputeren zelf moet gebeuren.
Een vergelijkbaar systeem wordt al ontwikkeld door het nationale team van Australie en Duitsland. Ook Nederland heeft er plannen voor.
Nu heb ik zelf nog weinig ervaring met C++, ik ben er pas net een beetje in begonnen. Wel heb ik ruime ervaring met php, sql en (iets minder met) java. Het is mij ook niet gevraagd of ik dit programma kan ontwikkelen (want dat kan ik (nog) niet), maar wat mijn ideeen erover zijn.
Mijn vraag is nu in hoeverre dit systeem in welke taal uitvoerbaar is. Ik denk dat elke digitale videocamere wel een programma heeft om fragmenten te capturen, maar niet met de optie's zoals hierboven beschreven. Mij lijkt het dus noodzakelijk om zelf een programma te ontwikkelen die het capturen aanstuurt. Bestaan hiervoor (windows) API's, in bijvoorbeeld C++, of zou je die ook nog zelf moeten schrijven?
Heeft iemand ervaring met een vergelijkbaar programma, of is er misschien al een commercieele applicatie die is soortgelijks doet.
Kortom, alle ervaring, advies, etc is welkom.