SECOND EDIT: OBS Remote Functionality is now built directly into Deepbot. You can still get more functionality out of either using the remote or the hotkey method outlined below but the in built functionality in Deepbot is a LOT more stable and reliable EDIT: OBS Studio Remote Application has been released in update, 0.9.7.1: http://wiki.deepbot.tv/obs_studio_remote (The application is located inside your deepbot folder)
Please note this may or may not work for you. If it turns out to not work for you, feel free to follow the guide below to achieve this control in OBS Studio while we figure out why it works on some machines but not on others.
Hey, you! Do you use OBS Studio? You do? Do you like OBS Remote? You do!? Well I'm sorry to say that OBS Remote is not currently supported in OBS Studio which is probably the one thing that is actually preventing some people from making the great leap over the the new fangled streaming application. In my personal opinion OBS Studio improves upon many aspects of the original and is currently is in a very usable state as it is right now.
Considering you're reading this, you probably are also a Deepbot user (Which is great!). Although this guide will be written with the Deepbot user in mind the essence of this guide should work with whatever application you have in mind. This works on the principle that something will detect when a file is saved in a certain location. This is the reason why a certain number of software is required to make this happen. Lets get started shall we?
Prerequisites- A working copy of Deepbot/Whatever you're using (Very important, a broken copy won't work as well as a working one)
- A VIP Membership if using Deepbot (We're making use of the @savefile@ custom variable available in the bot)
- OBS Studio (Yup)
- Autohotkey (This is the program that'll be doing the, you guessed it, hotkeys)
- Directory Monitor (To monitor our folder for any suspicious packages… and file changes. More likely the second one)
The Guide of Champion Hotkey PressingStep 1) Set Up Hotkeys In OBS StudioOBS Studio comes pre-built with ability to use global hotkeys to affect various parts of the program. For our particular purpose we're just going to be enabling and disabling a source (Specifically the webcam source. We're giving control away to the broadcasting of your mug to the worthy viewing public. May God have mercy on your soul.). Apart from controlling the view-ability of your sources you can do a few other things apart for this particular usage such like;
- Start/Stop Streaming (Are you SURE you'd want to give someone the ABSOLUTE POWER to stop your stream at a whim? Useful though if the command is accessable only by you though and you're out and about)
- Start/Stop a recording (Pseudo-Clipping my friends, pseudo-clipping and with the original source material in mind as well )
- Switch to a specific scene (Something special happens? Switch to a scene for x amount of seconds and then switch back. Your viewers will love you for it. Full screen jumpscares!)
- Capture a specific window for Game source (Ok granted. Not useful at all but you CAN do it in OBS Studio now)
- Mute/Unmute yourself or any audio source (Has some uses in terms of the stream believe it or not)
To access the Hotkeys menu click
File → Settings → Hotkeys. For here just set a few hotkey of your choosing. I myself will be using CTRL + F because finding a suitable hotkey is an incredibly hard task. With that done we can move onto the next step.
Step 2) Setting Up The FolderFor this guide we'll be making use of the custom logs folder for Deepbot. We're using this folder specifically because @savefile@ already points to this location (Yes, I'm lazy but just deal with it ok?). Within the custom logs folder create another folder called
Hotkeys. You don't really need to do this but if you don't organise one simple folder now you're pretty much lost to the world. Within the Hotkey folder (Yes, I'm guilt tripping you into making the folder. Do it!) create the following files,
hotkey.txt and
OBS.ahk.
These files will be used a little later on. For now, let's leave them blank, shall we?
Step 3) Setting Up The ScriptAutoHotkey is an amazing little program really. The program sounds simple in nature (I mean judging from the name of the program it simply automates your hotkey presses to allow for you to do certain things quicker. You can pretty much make the hotkey do anything you want.) but is pretty powerful when put to good use. The program itself just reads little script files to achieve whatever you programmed it to do. Open a new tab in your browser? Sure it can do that. Start the washing machine? Hook a Raspberry Pi up to that and it's probably possible.
The script we'll be using is pretty simple. It reads a file (In our case,
hotkey.txt) and puts this into the variable HotkeyToSend. It'll then check to see if OBS is currently open (The check isn’t perfect. It’ll consider ANY window that has OBS in the title.) and, if it is, send the hotkey detailed in that txt file to OBS. I've included the attachment that you need below this forum post but if you want to look into the code itself before doing so, here it is.
SetTitleMatchMode, 1 ;A window's title must start with the specified WinTitle to be a match.
SetWorkingDir, C:\DeepBot - Twitch Streamer Assistant\custom logs\hotkeys ;Change this to where your Deepbot is currently installed.
FileRead, HotkeyToSend, hotkey.txt
sleep, 100
IfWinExist, OBS
{
ControlSend , ahk_parent ,%HotkeyToSend%, OBS
}
exit
Step 4) Set Up Directory MonitorTo make our little script actually work to how we intend it to work, we need to make use of a program that'll check for any changes that are made to the files within the specific folders. That program is call the ingeniously named Director Monitor. When this change happens it will then run the AutoHotkey script that we just created and the magic will happen before your very eyes. Lets get to it shall we? Open up Directory Monitor. You'll be presented with this screen;
From here, right click anywhere in the top white box and click
add. From the screen that pops up make the following changes
- In the directory box point it to the hotkeys folder. This will typically be located at "C:\DeepBot - Twitch Streamer Assistant\custom logs\hotkeys". Turns out the quotation marks don’t need to be included at this stage so don’t include them.
- In the description box choose something witty to put in there. I chose to insult myself which is not shown in the screenshot below
- Untick New Files and instead tick Modifications
Basically, make it look similar to how the following screenshot looks
Lets move on over to the
Execute tab. Welcome traveler to where the majority of the magic happens. Find out where AutoHotkey.exe is (This is typically located at C:\Program Files\AutoHotkey) and paste the resulting path, including AutoHotkey.exe, in the execute box. Alternatively click the three dots to the right of the box and find AutoHotkey.exe that way.
Now, this is all well and good but at this current point in time we’re basically telling AutoHotkey to just open and do nothing. “That’s no good” as Sonic the Hedgehog would say. To get the true magic to happen we need to give it some parameters to work with. In the parameters box we will need to include the full path to our
OBS.ahk script (Which, if you’ve been following these instructions, should typically be located at
"C:\DeepBot - Twitch Streamer Assistant\custom logs\hotkeys\OBS.ahk".). The quotation marks do need to be included in these parameters though so make sure you don’t forget them! Otherwise you’ll be a sad panda when it doesn’t function as intended.
Alternatively you could have avoided finding the location of AutoHotkey.exe by just putting the full path to the OBS.ahk script in the execute box. Following this method instead when Save it will automatically move that link into the parameters box instead and autofill the location of where autohotkey.exe currently is residing. I just like to provide a learning experience in any of the rare tutorials that I do. No matter which method you decide to go with the execute tab should like similar to this;
Believe it or not that's practically all you need to do. The setup is complete. The final step is to actually make this method execute a hotkey. Get the champagne ready because this is the finishing line people.
Step 5) Making It All WorkNow it's time to actually test it in Deepbot. For the purpose of this tutorial make a command called
!test (I mean, we do need to TEST to see if it works, right?). For the response text make it something similar to below. You can add whatever you wish but the whole point is to save the hotkeys we need to a file so it can be executed. The following example is making use of the shortcut I created earlier (CTRL + F).
@savefile@[hotkeys/hotkey.txt,{LControl down}{f down}]
Now you may be wondering what's the deal with the text we're saving. Why are we saving stuff surrounded in curly braces/brackets and why are you telling me to do this!? Well to answer question 2 you foolishly followed this tutorial right to the end but to answer question 1 it basically refers to our shortcut. AutoHotkey defines keys that need to be pressed by the use of these curly braces/brackets so it can automate all of your mundane tasks.
For example here we are pressing down left control and f. You can find a full list of the keys you can use at
https://autohotkey.com/docs/commands/Send.htm.
That's it. The setup is all done!You will need to open the Directory Monitor everytime you want to make use of this but apart from this, it should work pretty well for your OBS Remote like needs. Hopefully the guide explained everything clearly and got you on the right track.
GLHF (Turning Webcams Off)
El PresiDante
Extra Special Super Awesome Extra Bit – Opening Required Programs Using a Batch ScriptReferring to the fact we need to open these programs every time we want this kind of functionality to happen it can be such a mundane tasks to open ALL those programs manually. How about we just smash that down all into one tiny little batch script to automate the hell out of everything we do? Other then bowing to our robot overlords this is actually a clever use of our time and is so stupidly simple you’ll kick yourself that you weren’t doing it before reading this very paragraph.
Here’s the batch file that I use for example. The code should explain itself really but all it does is….open the program detailed and then wait 3 seconds before opening the next one. Why 3 seconds? Do you want to bombarded your CPU with ALL these opening commands? Didn’t think so.
@echo off
:Open Snaz
cd "C:\Program Files (x86)\JimsApps\Snaz"
START Snaz.exe
TIMEOUT 3
:Open SMG
cd "C:\Users\Jordan\Documents\Useful Tool\SMG 1.63 beta"
START SMG.exe
TIMEOUT 3
:Open FooBar
cd "C:\Program Files (x86)\foobar2000"
START foobar2000.exe
TIMEOUT 3
:Open OBS
cd ""C:\Program Files (x86)\obs-studio\bin\64bit"
START obs64.exe
TIMEOUT 3
:open Chatty
cd "C:\Users\Jordan\Documents\Useful Tool\Chatty"
START Chatty.jar
TIMEOUT 3
:open DirectoryMonitor
cd "C:\Program Files\DevEnterprise\Directory Monitor 2"
START DirectoryMonitor.exe
TIMEOUT 3
:open VSTHost
cd "C:\Users\Jordan\Downloads\vsthostx86"
START vsthost.exe
TIMEOUT 5
:open Logitech Gaming Software
cd ""C:\Program Files\Logitech Gaming Software"
START LCore.exe
TIMEOUT 5
:open Deepbot
cd "C:\Users\Jordan\Documents\DeepBot - Twitch Streamer Assistant"
START deepbot.exe
exit
Save the resulting file as
Livestream.bat and congratulations, you have your one stop shop for opening all that you need in your livestreaming career. Now lets open that champagne!