Fully animated, data driven broadcast graphics for sports and events production - based on CasparCG is my specialty.
Hello everyone I’m Diego from Argentina and after a while I decided to share one of the many projects/ideas that I’ve developed. I’m a professional software developer, and when I was learning NodeJS/SocketIO/etc, I came up with the idea to combine them to resolve this issue (getting info from the scoreboards). In my country almost every basketball event broadcast (tv/streaming) use a few cameras for showing the score and the timer on the scoreboard graphic also. I though that it should exist an affordable solution for CaspaCG too. I don’t know if this is going to be the right solution but I would like that you give it a try. Below there is a basic documentation and some videos. Caterpillar fleet production and cost analysis software download6627842. Thank you for giving us a great open source project like CasparCG!!
Scoreboard OCR About This is a prototype of web app (NO production ready) for getting info from electronic scoreboards using OCR detection (7 segment). It was created as a low cost option for working with CasparCG to have professional scoreboard graphics on sports event broadcasting. Features • Detects/reads 7 segments scoreboards. • Send information directly to custom CasparCG html template (only html).
• No more score or timer cam. You can use it even to read just the score and take out that task from the operator. • Master/slave node setup for reading info from different scoreboards (i.e. Main scoreboard and shot timer). • Set the fields to read and then save them as a layout (for reusing them). • Control input/webcam settings (only on linux with uvcdynctrl). • Includes a javascript library for adding easily in any custom html template.
• Log files listing and viewer for debugging use. System requirements • CasparCG Server 2.0.7 • CasparCG Client (optional) • Webcam or any input used as webcam (compatible with linux) • PC/Notebook or raspberry pi • Node.js v6.10.3 or superior • NPM v3.10.10 or superior • Windows command prompt console (windows) or similar application (). For linux you need a terminal. • A compatible browser (Chrome, Firefox, Chromium). All the development was tested using Chromium 58 x64.
Installation For installing Node.js read the from the official site. This also installs npm (Node Package Manager). Check the versions with the commands (console/terminal): $ node -v $ npm -v Download the application file from and extracted to a folder. Go to the application folder and run this command (console/terminal): $ npm install And finally run this command (console/terminal): $ node app.js Now open a browser and go to this url: Now you’ll see the home page of Scoreboard OCR (only enabled from the same device because the input is the webcam). Allow access to the camera or use the demo mode, then start setting fields and sending info to the html template. For testing use this html template as an example: How to use it • (7 min) • (2 min) • (2 min) • (7 min) • (12 min) Go ahead and play with it. Thanks for the comments.
I agree with you about nodejs. I think that html templates open a new world of opportunities, brings all the universe of web technologies (nodejs, svg, css animation, etc) to make dynamic graphics. Take for example the work that was made for the archery streaming. When html templates can handle 3d animations in Caspar that will be another new level. I made this tool trying to solve that issue (clock cams), the ideal solution would it be that the scoreboard have had an read only data interface (websocket, osc, socket, etc) that you can subscribe to (you as a broadcaster, streamer, bet page, etc) and receive the score in real time. I hope this can be useful on you local station to improve the quality. Thanks for you comment and suggestion.
I already use casparcg-connection for other clients (one general client and another just for twitter) but in this case I made a software architecture’s decision. We know that Caspar can handle acmp commands and in some cases many times at once for example update calls for a clock template, but I think when you expect to have update/calls in a range of milliseconds the performance of the server can be affected. Also every time you add a layer of processing you’re adding a delay in the response, that in this case we’re trying to reduce/avoid to get real time precision (clock). For this tool I applied the separation of concerns, I use Caspar for controlling the presentation and some initial settings and leave the html template deal with the data updated in real time (send by the web app).