There are a lot of beautiful and useful apps for players, there is a beautiful and useful app for PC streamers, but I was not able to find something useful for console streamers, via UDP only... so I did it by myself (a big thanks to pjrblue who gave me a DLL to read UDP input stream)
It is not professional, maybe real software developers will laugh at it (I used Excel with VBA code), but it works and combines game infos with your own championship infos: drivers, rankings, etc...
Of course you will need a streaming software like Xsplit (better) or OBS Studio (unfortunately I found that OBS Classic can not overlay an Excel window), you will need a powerful PC, a video capture device (Elgato or others) and... Excel (>2010)
(Pictures are clearly photomontages, with the scope of showing lot of things in few pictures. Reality still offers the same image quality)
> TOP LEFT: laps, race standings, nick, car color, gap from 1st, last lap times, difference between actual and starting grid position, car number, gap from previous driver at sector change (white label), best time in qualifying sessions (alternately time & gap), driver stopped along the track signaling (!!!), driver at BOX signaling, driver DISconnected signaling, driver RETired signaling, overtake signaling
> TOP RIGHT: best lap
> CENTER RIGHT: race pace
> BOTTOM LEFT: driver's card
> BOTTOM CENTER: "currently watching" area with various infos about the driver (real name, team name, country flag, last lap, best lap, championship position and points, race number, race position)
> BOTTOM CENTER: scrolling text with ranking positions and gap between drivers
> BOTTOM RIGHT: sector times comparison (2 or 3 drivers), lap times comparison (2 or 3 drivers), last 4 laps gap between 2 drivers
While broadcasting you will work on a single Excel sheet which has a big black area (where data will appear) surrounded by a grey area with commands.
When pushing the <START> button, the app (it is not an app... but it is easier to call it in this way ) will receive game data looking for packet type 1 with driver names inside.
After receiving these infos, the black area will always show in the top left area actual race/qualify standings.
There is an automatic routine to fix the starting grid but you may need, for some reasons (non automatic positioning lap), to fix by yourself: click on <Fix start GRID>. A short text will confirm you which lap the grid was fixed (lap "0" means automatic fixing at the race start).
During time sessions (qualifying, warm-up, etc...) there will be only the best time for each driver. During race sessions it will be shown most of the time the gap from the 1st driver, for each driver (starting from lap 3).
Sometimes it will be shown the comparison with starting grid or last lap times, less often car numbers and championship points updated. Of course these types of data are not coming from the game: you will have another sheet where to insert them... if you want. Each of these outputs can be enabled/disabled by <GRID> <NUMBERS> <CHAMP> buttons with led status. All the top left area can be enabled/disabled (except white cells) by <TOP LEFT> button with led status. Top left area can show only rank position and driver's nick: to enable/disable this limitation use <Only NICKs> button with led status.
If a driver overcomes another driver, it will be highlighted with a green led on the left side (red led for the other one).
If a driver disconnets, he will be described with "DSC" text on the right side. Sometimes disconnections have a bad influence on the code... sometimes you can have double names or the wrong name hilighted as disconnected: wait 10 seconds, refresh the screen and, if things are still not OK, you can disable disconnection highlighting using the <En/Dis DISC.> button with led status.
If a driver has more than 5 laps gap from the 1st, and his position is not changing on the track, he will be described with "DNF" text on the right side.
If a new fastest lap will come, it will be shown in the top right area (automatically)
Gap between drivers is calculated at each of 3 sectors.
Sometimes you will see 3 dots instead of time/gap values: this is because the value to show has no meaning (usually when a driver ends a lap, his gap from the 1st can be higher than the gap of the next driver, if they are both slower than the 1st. In this case I choosed to show "..." instead of gaps in a not correct descending order).
You can enable/disable the "Current watching" area, bottom center of the screen, with various informations about the viewed driver. Some data taken from the game (race position, last lap, best lap, car category), some optional from your personal database (real name, team name, country flag, championship position and points, race number) appearing pseudo-randomly.
With the bottom area you can work in manual or automatic mode.
MANUAL MODE: you can choose to show sector times comparison (enabled with <SECTORS> button) or lap times comparison (enabled with <LAP TIMES> button) for 2 or 3 drivers. To choose which driver to show you have to click on bottom left orange numbered buttons. Actually only the first 10 drivers will be considered.
Pressing <OFF> button will erase bottom right area with time comparisons (if not, data will stay on the screen; there is no timed view in manual mode).
As a streamer, I'm assuming that you retired from the race.
When you show a drivers in your video, the app checks if data are ready for showing the driver infocard (race position, real name, driver picture, car picture) and warns you if they are ready (at least one picture) with a green led: to show the card click on <Driver/Car> button. The card will appear and disappear after 10 seconds.
Same story for the graph showing the gap trend over the last 4 laps between selected driver and the previous one in rankings, and for the race pace over last 10 laps. When you have the green led, click on <4 LAPS> or <R. PACE> buttons respectively.
AUTOMATIC MODE: enabled with <AUTO VIEW> button. You can watch the race on your console and comment it.... all the rest will be done automatically. Lap comparison, sector comparison, driver card, 4 laps graph, race pace will be shown in a pseudo-random mode. Still you will be able to force some features (cards, graphs and race pace), without moving to manual mode, if data will be ready. If you press another manual command you will switch the mode to manual.
In this mode the selected driver will be highlighted by a yellow arrow on the right side and sometimes you can also view the gap from previous driver (white label) at the end of sector 1 and 2.
You can enable/disable automatic appearing on the screen of: Race PACE, GRID positions difference, CHAMPionship points, race NUMBERS, sector DELAY (GAP), SCROLling TEXT, entire TOP LEFT area. Even graphics can be enabled/disabled with En/Dis DRV. for driver infocard with text, En/Dis CAR for driver infocard with car picture, En/Dis 4LAPS for gap trend.
ORANGE buttons are used for manual commands
LIGHT ORANGE buttons are used to start actions working bot in manual or automatic mode ("one shot")
BLUE commands are used to enable/disable features, typically in automatic mode
GREEN commands (on the bottom part of the screen) are used for special actions related with screen setup or refresh
I limited the number of drivers to 16 (console limit for online races).
The app can recognize you as a streamer (you and all other commentators) without showing in the race rankings. The ranking area will adapt automatically to the number of racing drivers (except commentators) or not racing (disconnections memory)..
If things are disappearing from the screen too fast (except cards, graphs and race pace data; they disappear always after 10 seconds), you can change the delay by setting the "clock". Bigger value means bigger delay. Enter the desired value under <Clock (ms)> label before pushing <START>.
App shows driver's data after few seconds you select the driver in game (via pad): you can set this value entering it under <Autoview delay (s)> label before pushing <START>.
Due to asynchronous appearing and disappearing of things on the screen, it can happen that some cell is coloured of filled with data when it should be not. If it happens you can <REFRESH Screen> to go back to normal view.
I tested this app with PS4 (UTF-8 data decoding method found) but I was not able to test with XBOX or PC (Cp1252 data decoding method ignored, used ASCII standard). You can select your console type entering the value "PS4" (if you have a PS4) or something else, not important what (if you use PC or XBOX), under <Console> label before pushing <START>.
App will record in the sheet called race "REPORT" for each driver Name, Best Lap, Starting grid position, and for each lap Position, Laps completed, Gap from 1st, Last lap time. Maximum 100 laps. The sheet will be automatically erased at the beginning of the race so... remember to save it (if you need old data) before starting a new race!
Drivers lists: drivers racing, actual race ranking, championship ranking
During my tests I was able to reach 1/10s precision in timings (data calculated by app, not coming from the game) so I suggest to set UDP streaming to 5 (50ms) or 6 on your console.
DO NOT FORGET that this is Excel !!! It has his rules.
Do NOT change worksheet during data receiving... push <STOP> before if you have to change something.
Do NOT write something on the worksheet during data receiving (in Excel, editing mode stops the execution of the code. You can erase some cells but not write into them)
All these actions will cause the crash of Excel or at least, damage to the Excel file.
I tested this file on Excel 2010 and Excel 2013, Windows 7 and Windows 8.1, italian and english language but only italian localization: this means that I don't know what will happen... maybe some problem with language or with number format (even if did not used formatted time, only strings). Hope not.
RAR file attached comes with 4 folders for pictures: DRIVERS, FLAGS, CARS, LOGOS.
Excel file and picture folders must stay in the same folder (C:\BAX\ or the one you choosed)