It is currently 24 Jun 2017, 07:59



Best Approach suggestions. Dynamic Player graphics

Moderators: Macey, Jonas Hummelstrand, didikunz

Best Approach suggestions. Dynamic Player graphics

Postby AntonZdz » 13 Dec 2016, 14:23

Hi All

I am new to CasparCG (in fact I am new to Character Generators and Playout software altogether), so please bear with me!

I am loking to overlay/generate some dynamic graphics on top of home poker video feed, and then stream live (and maybe edit later as episodes)

I want to show a graphic for each player, which will contain 3 dynamic images (their 2 cards and their picture), and 3 pieces of dynamic text (such as name, their action (bet, check, fold, etc) and their bet size). As well a graphic showing overal pot size.

As players fold/enter the hand their graphics need to be displayed and removed.

I have built a seperate c# application that is used for recording what hands the players have and what actions they have taken. This is then written to an MSSQL database.

I would like to trigger the graphics in CCG based on whats entered/recorded in my C# application so that the user only has to operate one software. I will of course do all the setup before a broadcast in CCG, but I would like most of the on air interaction to be via my C# application.

As I am new to the CCG world I was wondering if people could give me some advice on the best practise on how to achieve this.

From what I have been able to research so far, I need to create a flash template for each graphic and then using XML to pass in the variables (in my case such as player name, and the variable images). Is that correct?

How would I get my application to pass XML into CCG?

Sorry if some of these questions are basic, but I am new to this entire process.

Many Thanks

Anton
AntonZdz
 
Posts: 7
Joined: 12 Dec 2016, 19:27

Re: Best Approach suggestions. Dynamic Player graphics

Postby thos-berlin » 13 Dec 2016, 14:46

Hi Anton,

sorry, but C# isn't "my" language, but (I'm sure) here in forum you will find a lot of code examples to solve your request.

In general, you have to expand the existing program with a Caspar-library and some lines of code for displaying the CasparCG graphics.

I'm not similar in generating graphics from computercode, but instead of generating, you can design a small graphics for every possible card.

Create a template with some dynamic textfields and three placeholders for graphics - one for the player's piture, two for the cards. I prefer flash, so I can design templates which can be given away without the possibility to modify them (unallowed).

You call the template using its name and pairs of fieldname and value. You don't need to generate XML-code - this job has to be done from the library.

Sorry, but here in office, I dont't have my VB-examples. Maybe tomorrow I could give more advise....

Interesting project. Could you post a screenshot of your programs GUI and an example of your lower third wanted ?
User avatar
thos-berlin
 
Posts: 314
Joined: 13 Apr 2013, 14:50

Re: Best Approach suggestions. Dynamic Player graphics

Postby AntonZdz » 13 Dec 2016, 15:06

Thos

Thanks for the response.

I think I might have explained it badly. I am not planning on generating the graphics from code, just deciding which ones to show, so I already have a graphic for each card, so what i need to be able to do is for example, show Card 3 and 4 for player 1, and show cards 10 and 25 for player 2.

Exactly as you said below, a template with the text fields, and the relevant place holders

I have been working on some idea graphics but I haven't settled on exactly what it will look like.

However here are some lovely examples of how the professionals are doing it (assuming I have understood what lower Third is).

Image

Image

Any code examples would be really appreciated, even in a different language its always useful to see some examples.

So once I have included the library within my application, will this talk to the CasparCG server based on some connection settings I have set up?

Some of the examples of finished projects I have seen on here look amazing, and if I can get it to look half as good, I will be super happy!
AntonZdz
 
Posts: 7
Joined: 12 Dec 2016, 19:27

Re: Best Approach suggestions. Dynamic Player graphics

Postby didikunz » 14 Dec 2016, 09:27

What you describe is a normal sports graphics workflow, a software that handles all sport specific data and outputs the graphics based on this data. As a experianced C# programmer, that you sure are, it should not be a big issue to implement Caspars communication protocoll http://casparcg.com/wiki/CasparCG_2.1_AMCP_Protocol. What you need is a set of templates for the graphics. These can be built in Flash or HTML5, based on your preference / experience. You find some examples around the forum.
Didi Kunz
CasparCG Client-Programmer, Template Maker & Live CG-Operator
Media Support, CH-5722 Gränichen, Switzerland http://mediasupport.ch/
Problems? Guide to posting Bug reports & Feature requests
User avatar
didikunz
 
Posts: 3477
Joined: 10 May 2010, 09:08
Location: Aarau, Switzerland

Re: Best Approach suggestions. Dynamic Player graphics

Postby AntonZdz » 14 Dec 2016, 10:34

Didikunz

Thanks for your feedback, I am glad to hear that what I am attempting to do is along the right paths.

I am new to development as a whole, and this is my first c# project, but the more I delve into it, the more I learn.

I do work at a software house, however I am a Project Manager and Business Analyst, so this whole coding thing is new to me!

AMCP isn't something I am familiar with, but I will read through all the documentation and try and write some simple test cases.

I have been following the flash dynamic template tutuorial on YT and hope this evening to try and run my template example for the first time!

Do you think it would be best to have a seperate application controlling the graphics powered by data in the database, or should I incorporate this directly into my controller application? I would like to automate the graphics as much as possible, so I would hope that this app can mostly be loaded up and left to run, and only changed if the user needs to add a special message to the broadcast or something like that?

Thanks

Anton
AntonZdz
 
Posts: 7
Joined: 12 Dec 2016, 19:27

Re: Best Approach suggestions. Dynamic Player graphics

Postby thos-berlin » 14 Dec 2016, 12:07

Do you think it would be best to have a seperate application controlling the graphics powered by data in the database, or should I incorporate this directly into my controller application?


This is a difficult question. It depends on the production workflow. The "scorer" has to concentrate to the game. So when diferent graphics can be displayed during the game and a lot of manually work must be done, it makes sense to use different operators for scoring and graphics, so two PCs are needed and two programs.

When the "socorer" can handle the dual requirements scoring and controlling the graphics, you can use one controller application - the expanded current application. Because in this case you don't need a communication beween both programs, it would be the easier start.
User avatar
thos-berlin
 
Posts: 314
Joined: 13 Apr 2013, 14:50

Re: Best Approach suggestions. Dynamic Player graphics

Postby AntonZdz » 14 Dec 2016, 15:22

Thos

Thats a good point.

I am hoping to make most of the graphics generation automatic, so that when data in the database is updated, the graphics are turned on/off or update by this.

However having one person do the recording of bet values and who has folded etc and trying to control the broadcast might be a little too much.

One reason I am think of developing the broadcaster controller is that I mentioned earlier, I am no expert coder, so I was wondering if there might be a better language to work with?

My scoreboard application is written in C#, but if I seperate the broadcast controller into a different application, then I am not limited to C#, my SQL database can be accessed by any program so its very flexible!

Which language do you think is most widely supported/used within these forums, as I figure this is where I will be asking most of questions and looking for help?
AntonZdz
 
Posts: 7
Joined: 12 Dec 2016, 19:27

Re: Best Approach suggestions. Dynamic Player graphics

Postby itod » 14 Dec 2016, 15:48

AntonZdz wrote:My scoreboard application is written in C#, but if I seperate the broadcast controller into a different application, then I am not limited to C#, my SQL database can be accessed by any program so its very flexible!

Which language do you think is most widely supported/used within these forums, as I figure this is where I will be asking most of questions and looking for help?


If you are familiar with C# stick to it, it's a great language to use for CasparCG.

I've written small C# client example, feel free to use that code however you see fit:
https://github.com/itodorovic/CasparCG-Client-Example

Regarding your application architecture: one use case where monolithic/one-for-all application is more convenient is when you don't have much statistics, which looks like your case, poker is all action and only record you keep is how much money players have, everything else is reset after each round. Basketball is totally different, you have to have two guys with two different applications, one sitting court-side to load the database with statistics and other to display the graphics in the control room. I would try a single application in your use-case.
itod
 
Posts: 105
Joined: 29 Oct 2011, 20:54

Re: Best Approach suggestions. Dynamic Player graphics

Postby AntonZdz » 14 Dec 2016, 16:18

itod

Thanks for your feedback and the example, I will look through that this evening!

In terms of the statistics there are actually quite a lot of statistics that I am going to be storing. While I don't plan on displaying them right now, I certainly might in the few. Things like betting frequencies, fold to bet ratio's, number of hands played, all this kind of information I will record and hopefully be able to provide viewers with analysis on.

I am also thinking that the person who records the bets and action will probably need to be in the same room as the players, but I wouldnt want the graphics to be visible in the same room as it could potential be seen by a player or observer.

I will think on this some more this evening and make a decision on my core architecture layout.

While I only intend on using this software personally for now, there might be some commerical application to it in the future so I want to make it as robust as possible.

The more I think about this, the more I think making a Database to CasparCG client makes sense, I will try and build it in a generic manner so that when its working I can release the client and the source code for others to use.

Thanks
AntonZdz
 
Posts: 7
Joined: 12 Dec 2016, 19:27

Re: Best Approach suggestions. Dynamic Player graphics

Postby itod » 14 Dec 2016, 17:27

AntonZdz wrote:I am also thinking that the person who records the bets and action will probably need to be in the same room as the players, but I wouldnt want the graphics to be visible in the same room as it could potential be seen by a player or observer.


A friend of mine wrote software for real-time poker broadcast graphics, he told me that tournament organizers took security super seriously. Very few people coulgd see all the cameras showing cards from all the players, him of course being one as he typed them into the computer, and production crew had to sit totally isolated from anyone else in special "war room", no cell phones allowed inside. Not a pretty job to work on.
itod
 
Posts: 105
Joined: 29 Oct 2011, 20:54

Re: Best Approach suggestions. Dynamic Player graphics

Postby sonny_xny » 15 Dec 2016, 04:09

itod wrote:A friend of mine wrote software for real-time poker broadcast graphics, he told me that tournament organizers took security super seriously. Very few people coulgd see all the cameras showing cards from all the players, him of course being one as he typed them into the computer, and production crew had to sit totally isolated from anyone else in special "war room", no cell phones allowed inside. Not a pretty job to work on.


I agree with Itod and Thos-berlin :)

If you want to broadcast that poker tournament, at least you have to get full permission from the tournament organizer to get "all data" live from the poker table.

From my point of view, to simplifying the Caspar CG system that using to this tournament, you can using at least two person to handle it :
- One person is sitting and watch closely beside the poker table, for update every card that open on the table
- One person is operate the Caspar CG application to showing or hiding the template in Control Room

So, as a System Analyst, I suggesting you to build :
1. A mobile or web application that can input everything into MySQL database (online)
2. A controller application that can reading MySQL database and then tell CasparCG Server to show or hide the proper template.

Cheers,
Sonny
User avatar
sonny_xny
 
Posts: 112
Joined: 06 Jul 2015, 08:59

Re: Best Approach suggestions. Dynamic Player graphics

Postby AntonZdz » 15 Dec 2016, 09:06

Hey guys.

Of course, any live streaming would do with the full permision of the casino. As I said, to begin with, I will just be using this for my home games.

The cards are recorded automatically through an RFID Poker Table I have built and fed into a local MS SQL database(I wanted it local so that we can control the security access to the DB).

The controller software I have built is used to record actions that the table doesnt track, such as bet amounts. This controller can be configured to display the recorded cards within the app or not.

If I was live streaming a tournament, I would have the controller software set to hide the cards on screen so that no one else in the tournament can see them.

I would then have someone in the broadcast/commentary room, controlling the graphics.

This could all still be done by one application with multiple users, however, I think I am leaning towards seperating out these pieces of software.

Thanks for all the advice so far! I have some specific AMCP questions, but I shall post these as a seperate thread.

Anton
AntonZdz
 
Posts: 7
Joined: 12 Dec 2016, 19:27


Return to General discussions

Who is online

Users browsing this forum: No registered users and 1 guest