Skip to content

Pushing video (WHIP / OBS) ​

Video and round results are separate: results reach the platform from the result source, while the studio pushes its video to elite over WHIP, and elite delivers it to players' desktop and mobile screens over WebRTC. Whatever the result source, you push the video of your own tables yourself.

Two feeds per table ​

Every table gets two stream names when it is created:

FeedStream namePlayed to
HDelite_<table ID in lower case>_hd_<6 random characters>Desktop players by default
SDelite_<table ID in lower case>_sd_<the same random characters>Mobile players by default
  • Pushing just one feed is fine: players automatically switch to the feed that is live. If you push only HD, mobile players watch HD too; if you push only SD, desktop players watch SD.
  • When both feeds are live, players can switch between HD and SD in the table's video menu; if the chosen feed has no picture they still switch to the other one automatically.
  • Both feeds can carry the same picture at different resolutions and bitrates, for example 854×480 at about 1 Mbps for SD, so players on slower networks still get smooth video.
  • Players receive the quality you push; the platform does not transcode it into other qualities.
  • Tables created before October 2026 have stream names with _pc_ (HD) and _m_ (SD); they keep working, and Generate new stream names switches them to the new format.

Push URLs and the push key ​

In Table → Table management → My tables, click the table's Streaming button to see the HD and SD stream names and push URLs and the push key; the Table workbench shows the same two URLs under Tenant settings → Video push. Push URLs look like this:

text
https://elite-ingest.ewin888.com/whip/<stream name>
ItemWho can see and change itRules
Stream names and push URLsAccounts with table settings permission (the Administrator and Operations staff roles)Generate new push names: the old names stop working immediately and players switch to the new ones, so the studio must push to the new URLs right away
Push key (Bearer Token)Only the Administrator role can show, copy, create or rotate (Generate new) itRequires two-factor verification within the last 30 minutes (at sign-in, or by entering a code when you click show); every reveal and rotation is recorded in System → Audit log
  • There is one push key per merchant (it starts with epk_). It covers all your own tables and works only for them. If you have no key yet, click Create push key.
  • Generate new: the old key stops working immediately and every encoder must switch to the new one; streams that are already live are not interrupted, but the next push needs the new key.
  • If the streaming window says the platform push service is still being set up, pushing will fail for now.
  • Read-only showcase accounts see the stream names and push URLs masked.

Keep the push key safe

Keep the push key only on the streaming PC or encoder. If it leaks, click Generate new in the streaming window and update every encoder.

OBS settings ​

OBS Studio 30 and later have a built-in WHIP output:

  1. Settings → Stream: set Service to WHIP, paste the push URL (HD or SD) as the Server and the push key as the Bearer Token.
  2. Settings → Output: set the keyframe interval to 1 second so players see video sooner when they open the table. The field appears when the output mode is set to Advanced.
  3. Click Start Streaming.

HD and SD are two separate WHIP streams. One OBS instance is enough when you push one feed; pushing both needs two outputs — for example two streaming PCs, two OBS instances, or a hardware encoder that can send two streams at once (one OBS instance streams one feed at a time).

Other encoders: enter the push URL as the WHIP endpoint and choose Bearer Token authentication with the push key. If an encoder cannot send a Bearer Token, it can use an X-Stream-Key header instead, or append the key to the URL (?key=<push-key>); URLs may end up in encoder or network logs, so use that form only if nothing else works.

Suggested encoder settings ​

Requirements and suggestions

The platform only requires WHIP and the push key. A 1-second keyframe interval is the Console's recommendation; the platform sets no resolution or bitrate, so everything else in this table is a suggestion to adapt to your network and picture.

ItemSuggestionWhy
Keyframe interval1 secondA player who opens the table sees video only from the next keyframe; shorter is faster
Aspect ratio16:9 landscape, for example 1280×720 or 1920×1080The desktop game screens are designed for 16:9
BitrateHD about 3 Mbps (1280×720 or 1920×1080); SD about 1 Mbps (854×480)The streaming cost estimate on the website uses about 1.5, 3 and 5 Mbps; the bitrate directly sets each viewer's traffic and the streaming fee
FramingKeep the card positions and the dealer's hands in the top two-thirds of the pictureOn the desktop screens the betting panel and roadmaps cover the bottom of the video
Upload bandwidthAbove the two feeds' bitrates combined, with headroomToo little bandwidth makes the video stall

Texas Hold'em tables also need their seat frames aligned with the picture; see Hold'em seat positions.

Checking that the stream is live ​

  1. Encoder: after you start streaming, OBS shows it is connected in the status bar, with a steady bitrate and no ongoing dropped frames.
  2. Push rejected: the elite push endpoint returns these errors (encoders usually only report a failed connection; see their logs for details):
HTTPcodeCauseWhat to do
401INVALID_PUSH_KEYNo push key, a malformed key, or a key that has been rotatedPaste the current push key as the Bearer Token
404STREAM_NOT_FOUNDNo such stream name: the names were regenerated, the table was removed, or it is not your tableUse the push URL shown in the Console
404NOT_FOUNDMalformed push URLThe URL must be …/whip/<stream name>
403TENANT_DISABLEDThe account is disabled—
503PUSH_UNAVAILABLEThe platform push service is temporarily unavailableTry again later
502UPSTREAM_ERRORThe video service cannot be reached for nowTry again later
  1. Texas Hold'em tables: in My tables → Edit, the background of Seat positions (desktop) is a live snapshot of the table's video (HD first, SD when HD has no picture); click Capture again to confirm there is a picture.
  2. Player screens: once the table is open, enter it with one of your own test players on a computer and on a phone to confirm the video; when both feeds are live, switch between HD and SD in the video menu to check each. The HD badge on the toolbar means the player is watching HD. The video signal icon at the table (green, yellow, red) follows actual playback; on desktop, hover over it to see the resolution, frames per second and packet loss.

Streaming fee ​

  • The streaming fee is based on the video your players watch: pushing video to elite is not billed, and nothing is billed while nobody is watching.
  • One viewer watching for an hour uses about "bitrate in Mbps × 0.45 GB": about 1.35 GB at 3 Mbps.
  • At the time of writing (September 2026) the price is USD 0.09 per GB; the current price is shown in the Console under Plan & billing → Plan and in the pricing section of the website. At USD 0.09, one viewer-hour costs about USD 0.12.
  • A lower bitrate on the SD feed lowers the traffic of mobile players, who watch SD by default.
  • When other merchants enable a table you share with them, the video their players watch is billed to them.
  • On the free demo plan, video is limited to 3 viewers at a time and 30 minutes per session; when your prepaid credit runs out outside a grace period, video stops playing.

For how fees are charged and a worked example, see Going live and costs.

elite Tenant Integration API v1