Assetto Corsa Streaming Guide and Tips/Tricks

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
I'm going to try and make this a post that links in other information on the internet, but as there are questions I'll do what I can to expand the OP to include necessary information.

This is an example of how I've been "AutoCasting" races lately:

This is another example of someone streaming a "RaceCast" while in VR:
https://www.twitch.tv/videos/463153510

And here's an example of a "Broadcast" with an announcer:
https://www.twitch.tv/videos/472855028

So, you want to stream your Assetto Corsa session, either online, offline, replays, etc. My experience is mostly with streaming league races, so this guide may revolve around that scenario a bit, but the information should apply to other scenarios.

In it's simplest form the only things you really need to stream are a decent network connection, a place to stream (probably Twitch or YouTube), and a method for pushing the streaming (OBS, ShadowPlay, etc).

You can get OBS from here:
https://obsproject.com/

If you don't have a solid/stable network connection there is also the option of capturing the session locally and uploading to YouTube afterwards. For the sake of simplicity I'll refer to streaming in this guide, but the majority of information also applies to capturing.

OBS has guides on their website related to NVenc and x264 encoding options. You can find that information here: https://obsproject.com/forum/resources/categories/guides-general.9/

They also have guides on how to stream to YouTube or Twitch, so you should investigate that information as well. It's not that complicated, but it can take some time to get setup and tested the first time. I mostly use YouTube because I have a YT Premium account, and that's where I watch the vast majority of streaming content, but Twitch is also a great platform if that's your preference.

The 2nd PC that I use for streaming has an i5 6500 running at 4.1Ghz with a GTX 1660 TI using OBS to encode NVenc at 1080p60 at 9000kbps.

One consideration is what audio to include as part of your stream. If you can have a dedicated team of announcers (I think two is optimum), that's probably going to result in the best and most entertaining experience for anyone viewing the stream (either live or on demand). If you don't have dedicated announcers that are available you can choose to include a voice chat channel. This is not a bad option, but it can be hard to get everyone's volume set properly, and any disagreements that happen while "driving in anger" will be immortalized for posterity. If you are "RaceCasting" (streaming your driving perspective) it may be helpful to use Crew Chief to add in some talking. I've been developing an AC app called "Announcer Bot" that automates the announcing, but it's only really able to talk in terms of hard data. The final option is to only include the sounds coming from AC, which may be fine, especially if you have relevant driver and position data being included by overlay apps in AC (like BCast or ACTV).

Announcer Bot is here:
https://www.racedepartment.com/downloads/announcer-bot.28585/

BCast is here:
https://www.assettocorsa.net/forum/index.php?threads/bcast-app-for-broadcasting-v1-12.32536/

ACTV is here:
https://www.racedepartment.com/downloads/actv.7889/

Since racing is a fast-paced activity I'd suggest trying to stream at 60FPS if at all possible. You'll also want to get AC running at a stable 60FPS by either limiting the framerate or using VSync, and also limiting graphical settings as much as needed to ensure the game is not GPU bound during the sessions you'll be capturing.

If you're streaming from OpenVR with OBS you'll want to use this plug-in: https://obsproject.com/forum/resources/openvr-input-plugin.534/

The on-screen images in OpenVR with AC have a fairly strong fish-eye effect, and the Open VR Input Plug-In solves that problem.

If you are planning to stream something important to you, you should do lots of test streaming to work out the bugs before "the big race". There are a multitude of things that can go wrong, and knowing how to deal when them in advance is better than trying to figure it out when the clock is ticking.

If there are any questions about any of this information please let me know.

Cheers,

Esotic
 
Last edited:

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
@Nouak Sent me a question about how to get the second camera view in AC while driving, and I decided to post that response here in case other folks had a similar question.

My solution is to use a second computer running a second copy of steam and AC and connecting as a "spectator" to the race I want to stream. There's no way that I know of to stream something other than what's being shown on the monitor.
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
Please note that the "Auto Start System" AC App has been posted here: https://www.racedepartment.com/downloads/auto-start-system.30106/

This app should automate keeping the car in the pits and out of setup screens as often as possible on a 2nd PC that's setup for streaming races with almost no human interaction.

This app works in conjunction with AutoCam

and AnnouncerBot

to fully automate the process of broadcasting race streams.

Cheers,

Esotic
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
The Timer in BCast is in Seconds how can i change it to H:M:S to be aprear in the Screen?
You'd have to edit this routine (from what I can tell)

Code:
def formatSessionInfoTime(time):
    
    laptime_sec = int(time)//1000
    laptime_min = laptime_sec//60
    laptime_sec = laptime_sec%60
    
    if time <= 0:
        return "0:00"
    else:
        return "{:>2}:{:02}".format(laptime_min,laptime_sec)
 

JohnnyCash

10RPM
Nov 27, 2016
18
0
39
You'd have to edit this routine (from what I can tell)

Code:
def formatSessionInfoTime(time):
   
    laptime_sec = int(time)//1000
    laptime_min = laptime_sec//60
    laptime_sec = laptime_sec%60
   
    if time <= 0:
        return "0:00"
    else:
        return "{:>2}:{:02}".format(laptime_min,laptime_sec)
Yes it is th same as you provide but still mine is in seconds what i have to do? And thanks for the quick reply!!!
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
Please note that I've posted an AutoIT Script that you can compile and call as a windows scheduled task to automate the process of connecting to online assetto corsa sessions and streaming with OBS.

 

beqa16v

10RPM
May 9, 2020
13
0
38
Thanks for this. I have installed ACTV and it is not working. I can see PRUNN in the settings menu and selected it but once in game the app just does not show up. Neither in single player nor on servers. Can anyone help?
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
Thanks for this. I have installed ACTV and it is not working. I can see PRUNN in the settings menu and selected it but once in game the app just does not show up. Neither in single player nor on servers. Can anyone help?
Did you check the log.txt or the py_log.txt for information?
 

beqa16v

10RPM
May 9, 2020
13
0
38
No I haven't I'm new to the game and a recent returnee to sim racing which used to be a hobby long time ago. What should I look for in those log files?
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
There should be some code in the log.txt like this (but for actv/prunn, not BCast):

Code:
Cleaning Python Cache in path apps/python/BCast/
Init PyPlugin:BCast
KGL CREATE FONT Open Sans; Weight=Regular with locale
KGL CREATE FONT Open Sans; Weight=Regular with locale
KGL CREATE FONT Calling Code with locale
Function acUpdate bind to module
That would let you know if the app loaded or not. The py_log.txt would have output specifically from actv/prunn if it did load, but was unable to operate, for whatever reason.
 

beqa16v

10RPM
May 9, 2020
13
0
38
Thanks a lot. So if those texts are missing, the app did not load at all and if they are there, then it loaded but failed to operate?

I'm currently reinstalling a game. I have installed Bcast afterwards as well and it did not show up either. Maybe there was a problem with all apps.
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
I've not had this issue personally, but I've heard that certain version of the Custom Shader Patch have resulted in apps not loading. If you are using the CSP you could try disabling it to see if the apps show up again. Users have suggested that disabling "custom errors handling for Python apps" and/or "custom errors handling message" under the CSP->General Patch Setting may help.

You may want to double check that the "assettocorsa\apps\python\prunn\prunn.py" file does indeed exist, and that you installed it correctly, and that you've enabled it in the Setting -> Apps.
 

beqa16v

10RPM
May 9, 2020
13
0
38
Thanks a bunch. I have not installed any custom patches. Can you tell me where should I find those CSP settings? Sorry I'm noob and have no idea on most of this stuff.
 

Esotic

500RPM
Premium
Nov 25, 2014
764
496
47
If you were using the Custom Shaders Patch/CSP, then you would know it. I generally assume that anyone using Assetto Corsa these days is using Content Manager and the Custom Shaders Patch. :)
 

beqa16v

10RPM
May 9, 2020
13
0
38
Damn it still does not work. Even the in game chat, which is in the pits does not show. Files are located in: C:\Program Files (x86)\Steam\steamapps\common\assettocorsa\apps\python\prunn
another location for two folders, fonts and gui is C:\Program Files (x86)\Steam\steamapps\common\assettocorsa\content
Is this right?
 

beqa16v

10RPM
May 9, 2020
13
0
38
OK i have turned it on, this is silly but I had no idea how to switch apps on since I'm so new to this. I had to press the down arrow on the apps menu on the right to find next available apps. The apps menu was not showing up because I had mouse steering activated.

Can you help me with the safety car mode? How can I designate one car as a safety car?