The Genvid Broadcast Session
Genvid’s technologies are not your typical video game broadcasting software. Instead of focusing on the individual players broadcasting their streams, Genvid gives the game developer an opportunity to stream a global perspective. For this reason, some common assumptions of what a broadcasting session is and how a session happens must be changed.
A broadcast session is basically a direct TV program of your game. You start this program the first time you start the server. It could contain a single match or it could contain a whole championship. For this reason, the broadcast session doesn’t end when the game stops. You must tell Genvid’s services that the session is terminated and that you’re ready to move on to something else.
So, a typical flow of the Genvid Broadcast goes this way:
![Broadcast Session](../_images/broadcast_session.png)
Fig. 2 Broadcast Session
The broadcast session here happens over the course of streaming. To accomplish this type of session, you must first set up the Supervisor Servers. In the The Local Environment used for development, this command will launch different services locally for allowing you to emulate the production environment. After that, you must provide the necessary configuration information for your upcoming broadcast session. More details are available under the Streaming Platforms and The Local Environment sections.
In order for your session to be broadcast, you must first start different services. For this version of the SDK, all services are started at the beginning of the session. In future versions, the services may be started on-demand, to allow for better resource efficiency while offering more flexibility. The services started for enabling a broadcast session are described in the The Genvid Services section. Once those services are started, you can launch your game and associated web server, and start experiencing with the Genvid streams.
It should be noted that the Genvid Services are designed for an automated environment, trying to give the best experience for the viewers as well as the operators. That means that if a disconnection happens, the services will try to reconnect to the session instead of stopping the broadcast session. This is intentional: if a service crashes, the supervisors will attempt to restart it. This means that you have to decide for yourself what happens if the game crashes; we assume you are operating a broadcast, not just a stream of a game, and you don’t want to stop a stream. In our samples, we decided not to interrupt the stream and just continue to stream when the game is back online. Later versions will show how to implement an alternate strategy.