RTRT.me is an excellent solution for Broadcasters needing fast, reliable timing data for the purpose of generating Live TV graphics for an event.
Live Place calculations are available on a per-category basis. Therefore, to get place information in your results, do queries on 'categories'.
Data can be retrieved by using either of the RTRT API's as explained below.
Use the RTRT.me REST API to make queries specific to the view you are needing to build.
See REST API documentation for more details.
Depending on your how your graphics software functions, the REST API may be a simpler alternative to the TCP method below. Here are a few options to consider when using the REST API for TV:
Example Query with:
/events/EVENTDEMO/categories/top-women/splits/10M?timesort=1 |
Use querystring 'timesort=1' to get splits in order of place on this query.
Yields a result set such as:
{ "list":[{ "time":"00:55:32.08", "point":"10M", "label":"10M", "leaderDiff":"+00:00.00", "placeChange":"1", "place":"1", "pid":"RYKLUSR6", "timestamp":"1304150133.15", "tag":"1106", "name":"Karina Rosales", "timeOfDay":"7:55:34 am", "milePace":"05:33", "milePaceAvg":"05:34", "mph":"10.81", "kmPace":"03:27", "kmPaceAvg":"03:28", "kmh":"17.40", "etnp":"13.1M~01:12:45~8:12am", "etfp":"FINISH~02:25:33~9:25am", "startTime":"7:00:02 am", "sex":"F", "epochTime":"1304171733.15", "pace":"05:33 min/mile", "paceAvg":"05:34 min/mile", "i":"1373325965_000123", "u":"1385399843_000078" }, { "time":"00:55:37.87", "point":"10M", "label":"10M", "leaderDiff":"+00:05.79", "placeChange":"1", "place":"2", "pid":"RNL5C347", "timestamp":"1304150138.94", "tag":"1028", "name":"Brenda McLeod", "timeOfDay":"7:55:39 am", "milePace":"05:34", "milePaceAvg":"05:34", "mph":"10.81", "kmPace":"03:27", "kmPaceAvg":"03:28", "kmh":"17.39", "etnp":"13.1M~01:12:51~8:12am", "etfp":"FINISH~02:25:41~9:25am", "startTime":"7:00:02 am", "sex":"F", "epochTime":"1304171738.94", "pace":"05:34 min/mile", "paceAvg":"05:34 min/mile", "i":"1373325965_000145", "u":"1385399843_000080" }, { "time":"00:55:42.16", "point":"10M", "label":"10M", "leaderDiff":"+00:10.08", "placeChange":"2", "place":"3", "pid":"R9BWRC35", "timestamp":"1304150143.23", "tag":"1007", "name":"Jana Gross", "timeOfDay":"7:55:44 am", "milePace":"05:34", "milePaceAvg":"05:35", "mph":"10.81", "kmPace":"03:27", "kmPaceAvg":"03:28", "kmh":"17.40", "etnp":"13.1M~01:12:55~8:12am", "etfp":"FINISH~02:25:44~9:25am", "startTime":"7:00:02 am", "sex":"F", "epochTime":"1304171743.23", "pace":"05:34 min/mile", "paceAvg":"05:35 min/mile", "i":"1373325965_000143", "u":"1385399843_000082" }], "info":{ "first":"1", "last":"3", "lasti":"1373325965_000143", "cacheVer":"30~7828", "leaderTag":"1007", "leaderPid":"RTRYHG84", "latestPoint":"FINISH", "epc":"100", "emiles":"26.2187575", "startTime":"07:00:01.07 US/Central" } } |
Example: https://api.rtrt.me/events/EVENTDEMO/categories/top-women/splits/10M?timesort=1
There is also a special keyword of LATEST_POINT, which auto-selects the point which the leader of the category most recently crossed.
/events/EVENTDEMO/categories/top-women/splits/LATEST_POINT?timesort=1 |
PLEASE NOTE: Since START splits have no place information, start splits are excluded when doing queries on categories.
For more info on using live place calculations, please contact us.
Do this on an interval, or as often as desired manually when building a view in the graphics software.
Query with:
/events/EVENTDEMO/points/FINISH/splits?reverse=1&igt=[LASTI]&max=10 |
This would give you a list of runners that crossed since you last checked (based on lasti) and will cap it at max 10 (which is probably more than can be put on a TV screen in a given second). The first runner in the list will be the runner that most recently crossed, and the 'lasti' returned in the info area will be for that most recent runner. On your next query, use this "lasti" and you will once again get the most recently crossed runners.
In summary, by doing max combined with igt of "lasti" and the reverse option, you are ensured to get at most [max] runners per query. Any splits beyond your max setting simply get skipped, which is usually the desired behavior if you have no way of using the extras.
NOTE: It is only possible to test such an implementation by doing a real-time replay or simultaion of an event.
Use the RTRT.me TCP API and your own socket client implementation to stream categories and points of interest in real time.
See TCP API documentation for more details on how to fully implement the protocol.
Example stream command:
stream~/events/EVENTDEMO/categories/top-women/splits/ALL_POINTS~0~agt |
The above command would stream all elite-women splits soon as they arrive. Since 'agt' polling mode is specified, if ranks or times change for splits, they would be resent in the same stream with new "u" value.
Comparison of Web vs TCP for live feeds.