On Windows, you can make OBS launch when the streaming user logs in and ask it to begin streaming with the documented --startstreaming argument. The reliable part is not the argument alone: you must first confirm the OBS account, profile, scenes, stream destination and working directory on that particular PC.
This setup starts OBS after a user logon, not necessarily at the instant Windows powers on. It can reduce the manual work after a reboot, but it does not prove that YouTube accepted the stream or that every source and network connection was ready.
Confirm OBS streams manually first
Before creating a scheduled task, run OBS normally and start the stream yourself. Use the Windows account that will later run OBS, because profiles, scene collections, permissions and saved settings may differ between accounts.
Check the following in the existing OBS installation:
- The correct profile is selected.
- The intended scene collection is selected.
- The opening scene is the one you want viewers to see.
- Every media source points to a file that still exists.
- Audio meters move when audio should be present.
- The stream settings use the intended YouTube destination and stream key.
- YouTube shows the broadcast as live after OBS connects.
Leave the stream running long enough to confirm that the actual destination receives it. An OBS window opening is not evidence that the stream is live. A scheduled launch can only repeat the settings it has been given; it cannot repair an invalid key, missing video file, disabled source or incomplete YouTube setup.
If YouTube rejects the connection, solve that before automating startup. The guide on decoding stream key and publish errors is useful when OBS appears ready but the platform does not accept the broadcast.
For a loop-based channel, also check the media itself rather than assuming that a file which plays locally is suitable for an all-day broadcast. The checks in Public-Domain Films as a 24/7 Channel cover some of the content and playback issues that can be missed during a short test.
Record the configuration before changing it
Write down the names of the OBS profile, scene collection and starting scene. You may be able to pass these names as launch parameters later, but only if they exist exactly as named. Spaces in a name require quotation marks in the command or task arguments.
If you are already using a custom OBS shortcut, do not replace it casually. It may contain a profile, collection or scene selection that the ordinary executable path does not include. Open the shortcut properties and note its current Target before building the Task Scheduler action.
Find the installed OBS executable
Task Scheduler needs the full path to the OBS executable. Do not assume that every Windows computer has OBS in the same folder. The location depends on how OBS was installed and whether the installation was changed later.
The file you normally need is obs64.exe. To find it, use one of these approaches while logged into the streaming account:
- Open OBS.
- Open Task Manager with
Ctrl+Shift+Esc. - Find OBS in the process list.
- Right-click the process and choose the option to open its file location, if available.
- Note the folder and the complete path to
obs64.exe.
You can also right-click an OBS shortcut, open its properties and inspect the Target field. If the Target is quoted, copy the executable path inside the quotation marks. The file name belongs in the Program/script field in Task Scheduler, while its containing folder will be used separately as the working directory.
The distinction matters. If your executable is at a path such as:
C:\Some OBS Folder\bin\64bit\obs64.exe
then the program is the complete path ending in obs64.exe, while the working directory is:
C:\Some OBS Folder\bin\64bit
The example is only a pattern. Use the path found on your own PC. The OBS launch parameters documentation describes the executable and working-directory requirements for automated launches.
Create a task for the streaming user’s logon
Open the Windows Start menu, search for Task Scheduler, and open it. In the Actions pane, choose Create Task, rather than relying on the simpler basic-task wizard. The full dialog gives you better control over the account, trigger, action and working directory.
Give the task a name that explains its purpose, such as OBS - start YouTube stream. A clear name helps when you later inspect the task history or need to disable it temporarily.
General settings
On the General tab, select the Windows account that normally runs OBS. The task should run in that user’s session, where the OBS configuration and desktop sources are available.
For an ordinary desktop OBS setup, choose Run only when user is logged on. This keeps the launch connected to the interactive session and makes it possible to see OBS, its status and any error message. A task that runs under a non-interactive system account is not the same as launching OBS for the person’s desktop session.
Avoid treating Run whether user is logged on or not as a shortcut to unattended reliability. It changes the session in which the program runs and can affect sources that need the desktop, user profile or visible hardware. Test any different choice separately rather than changing it because the name sounds more automatic.
If the account is protected by a password or organisational policy, Windows may ask for credentials when you save the task. Use the account that is genuinely intended to operate the channel, not an administrator account chosen only to get past a prompt.
Trigger settings
Open the Triggers tab and select New. Set Begin the task to At log on. Choose Specific user and select the Windows account that runs the stream.
A logon trigger means that OBS starts when that account logs into Windows. It does not mean that OBS runs before Windows has loaded, and it does not mean that the task will operate if the account never signs in. Microsoft documents this trigger as a user-logon event in its Task Scheduler logon trigger reference.
If your PC needs time to establish its network connection or load other software, enable a delay for the trigger. Use a modest delay and test it on the actual machine. The right value depends on what happens during that particular logon, so avoid copying a delay from someone else’s setup as if it were universal.
Set the action and its Start in directory
Open the Actions tab and choose New. Keep the action as Start a program. This is the Windows action intended to launch an executable.
Complete the fields as follows:
| Task Scheduler field | What to enter | Common mistake |
|---|---|---|
| Program/script | The full path to obs64.exe |
Putting only obs64.exe when Windows cannot find it |
| Add arguments | --startstreaming and any confirmed configuration arguments |
Placing the argument in the program field |
| Start in | The folder containing obs64.exe |
Adding obs64.exe to the folder path |
If the path contains spaces, keep the executable path in the Program/script field as a complete path selected through Browse, where possible. The Start in field should contain only the directory. Do not add quotation marks around the directory unless Windows specifically preserves them when you browse to it.
For example, if the executable is located at:
D:\Apps\OBS Studio\bin\64bit\obs64.exe
enter the executable path in Program/script and enter this in Start in:
D:\Apps\OBS Studio\bin\64bit
The folder must match the location of the executable you are actually launching. OBS specifically calls out the working directory for scheduled and other automated Windows launches. A wrong directory can cause an automated launch to behave differently from a launch made through the normal shortcut.
Do not use the folder containing an old OBS installation just because it is a familiar path. If Windows has more than one OBS executable, confirm which one opens the profile and scenes you tested manually.
Pass the start-streaming argument
In Add arguments, enter:
--startstreaming
This is OBS’s documented launch parameter for requesting that streaming begin when OBS starts. It is not a replacement for the stream settings saved in OBS. The task still needs to launch the correct executable under the correct Windows account.
If you need to select a known configuration explicitly, OBS also documents launch parameters for a profile, scene collection and scene. For example, the structure may look like this:
--profile "My Channel" --collection "Morning Loop" --scene "Opening Scene" --startstreaming
Use your real names, including their capitalisation and spaces. Do not add these options until you have confirmed that the names exist in the tested OBS installation. An incorrect name can leave you troubleshooting the command when the underlying issue is simply that the requested profile or scene is not present.
For the first test, use only --startstreaming. Once that works, add configuration arguments one at a time if you need them. This gives you a simpler point of comparison when something changes.
The argument asks OBS to start streaming; it does not guarantee that the network is ready, that YouTube accepts the connection, that a key remains valid, or that a media source loads correctly. OBS’s source implementation recognises the option, but the result still depends on the rest of the setup.
Compare Task Scheduler with a Startup shortcut
A modified OBS shortcut is a reasonable alternative for a simple personal setup. You can duplicate the existing shortcut, open Properties, and append --startstreaming after the quoted executable path in Target. You can then place the shortcut in the user’s Startup folder so it runs after that user logs in.
The shortcut approach is quick, but it gives you less visible control over timing and the working directory. It is also easier to edit the wrong shortcut or lose an existing profile and scene argument while changing the Target field.
Task Scheduler is preferable when you need to:
- Select one named Windows account.
- Add a logon delay.
- Set the executable path explicitly.
- Set Start in to the actual OBS folder.
- Review the task and disable it without deleting a shortcut.
Neither method makes an incomplete OBS configuration complete. If you want to remove the Windows PC from the normal streaming path altogether, first understand the difference between desktop streaming and a hosted workflow in how to move an existing 24/7 stream off your own PC. For a YouTube-only workflow, StreamNeo removes the need to leave this particular computer running by taking an uploaded video and the YouTube stream key and running the broadcast from the cloud, but it does not change the checks you should make on the channel and source material.
Test the task before relying on it
Save the task, then run it manually from Task Scheduler. Select the task and choose Run in the Actions pane. Watch what happens rather than assuming that a successful task action means the stream is working.
Check these stages in order:
- OBS opens under the expected Windows account.
- The expected profile, scene collection and starting scene are loaded.
- The stream status changes as expected inside OBS.
- YouTube shows the broadcast as live at the intended destination.
- The picture and audio are present and remain present.
If OBS opens but does not start streaming, inspect the Action fields first. Check the spelling of --startstreaming, the exact executable path and the Start in directory. Then run the same executable and arguments outside Task Scheduler so you can tell whether the issue belongs to OBS or to the scheduled task.
If the task reports that it ran but no OBS window appears, check the task’s account and the General tab’s run setting. A non-interactive task may have started a process that is not visible in the desktop session you are watching. For ordinary desktop OBS streaming, that is usually the wrong behaviour to depend on.
If OBS starts before the network is ready, add or increase the logon-trigger delay and repeat the test. If the delay helps one reboot but not another, treat that as evidence that startup timing is variable, not as proof that the task is guaranteed to recover every time.
Perform an actual sign-out or reboot test
After the manual task test works, sign out of the streaming account and sign back in. This tests the trigger rather than just the action. If your normal use involves a full reboot, perform a reboot test as well, because boot-time services and network readiness may differ from a simple sign-out.
Keep the test attended. Watch the Windows desktop, OBS status and YouTube destination. Confirm the stream at YouTube rather than stopping once the OBS interface appears.
The result you want is a repeatable process in your own environment: the correct account logs in, the correct OBS configuration opens, the start request is made, and the destination accepts the broadcast. Until you have observed that sequence, leave a manual recovery plan in place.
What to check when a reboot test fails
If OBS does not open, verify that the task is enabled and that its trigger is tied to the account that actually logs in. A task assigned to another user will not behave like a task for the streaming user.
If OBS opens with the wrong scenes, check whether the task is launching a different executable or user profile from the one you tested. The working directory does not select a profile by itself. If you need explicit selection, use the documented --profile, --collection and --scene arguments only after confirming the names.
If OBS opens but the stream remains offline, inspect the YouTube destination, stream key, network connection and OBS log. The start argument requests a stream; it does not bypass a rejected key or an unavailable service.
If the task runs too early, use a logon delay and test again. If the task runs too late for your channel’s needs, compare that behaviour with the Startup shortcut approach, while still keeping the executable and working directory correct.
For channels that are intended to run continuously, also consider how much attention a Windows-based setup demands over a normal week. A realistic weekly time budget for a 24/7 channel can help you decide whether reboot testing, source checks and manual recovery fit your routine.
Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.
FAQ
Does OBS start streaming before I log into Windows?
Not with the logon-trigger setup described here. The task starts OBS when the selected Windows user logs in, so it depends on that account entering an interactive session. A Windows startup trigger is a different arrangement and may run in a non-interactive session that is unsuitable for ordinary desktop OBS sources.
Is --startstreaming enough on its own?
No. It asks OBS to start streaming, but the profile, scenes, media, stream destination, stream key and network still need to be valid. Test the resulting broadcast at YouTube rather than treating an opened OBS window as proof of success.
What should I put in the Start in field?
Put the directory containing the obs64.exe you are launching. Do not put the executable filename in that field. If the executable is in C:\Example\bin\64bit\obs64.exe, the Start in value is C:\Example\bin\64bit.
Can this guarantee that OBS resumes after every reboot?
No. It can automate the launch path after the selected user logs in, but reboot timing, Windows updates, network readiness, YouTube connectivity and source behaviour can still vary. Keep the setup attended until repeated tests on the actual PC show that it behaves as required.