Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider becoming a contibuting member by either clicking this text or the Patreon link on the right.

Patreon

If neither of those of work for you, you can donate any amount by clicking here.

Recommended Posts

Posted

The script can be placed anywhere. I keep it in C:\PinballX\Scripts

The config file is extracted into the obs-studio root. Then, the path to your profiles would be obs-studio\config\obs-studio\basic\profiles

the FP recorder is a mod of gtxjoe's recorder for VP. He packages ffmpeg with his distribution. The default location would be the same folder as where the script is located. In other words ffmpeg.exe would be located in path: script_dir\ffmpeg\bin

Open a command prompt, navigate to the obs executable and start a portable instance.

obs64 --portable

accept the license and you should be good to go.

Like everything related to pinball software, I set all executables to start as adminstrator - obs, this compiled script executable, ffmpeg, etc.

Snapshots - I don't really use that feature. I can't think why it would not work. If nothing else PinballX has built-in snapshot support, but I guess you'd have to do the renaming of image files.

 

 

Posted

Ok thanks for the quick reply, i make the necessary adjustments as suggested.  The pinball x screenshot feature doesnt work all screenshots are black.

Ill report back my results

Posted
  On 7/29/2016 at 5:32 AM, Kustom Kid said:

@rablack97 I've encountered the same issue. See This Thread and try the suggestions there. For what it's worth, for the time being I've just rotated the playfield images to use until the video recording rotation gets sorted out. 

Expand  

I fixed it, pretty easy to do, take the source AHK, and look for all instances of "rotation=PI", and replace with "rotation=0".

Rotation=PI is the radian command for 180 degrees.

I'm gonna write up an install tutorial, i have it working fully automated.  Video's, and still images are being created and foldered properly now.

  • Like 1
Posted

It's still no worky for me. I'm running in desktop mode which isn't officially supported at the moment. Happy to hear you have it sorted out though!

Posted
  On 7/29/2016 at 5:48 AM, rablack97 said:

I fixed it, pretty easy to do, take the source AHK, and look for all instances of "rotation=PI", and replace with "rotation=0".

Rotation=PI is the radian command for 180 degrees.

I'm gonna write up an install tutorial, i have it working fully automated.  Video's, and still images are being created and foldered properly now.

Expand  

I'm glad that you got it working for yourself.

Posted

One issue i did find is the output for the obs is hard set to pinballx/scripts, placing the ffmpeg and the script in that folder got the video and automation working without a hitch

Posted

 

Hello, I had a hell of a time configuring this awesome program for Future Pinball, so i modified Carny_Priests post to help others that may want to use it.

Future Pinball, Win10 64bit

Hi, the latest OBS studio added command line support for multiple profiles, so I ported gtxjoe's version 1.4 to support capturing Future Pinball tables. It has all the features of 1.4 except that it supports only Future Pinball and uses OBS Studio as the capture engline for playfield, backglass, DMD. Ffmpeg is still required to complete the transcode to generate the final output. 

Latest OBS Studio for Windows (portable zip):

https://github.com/jp9000/obs-studio/releases/download/0.14.1/OBS-Studio-0.14.1.zip

Rename folder "obs-studio" and place here.

2016-07-30_15-23-39.png

 

Download https://www.gameex.info/forums/applications/core/interface/file/attachment.php?id=27458

Place file here

2016-07-30_15-35-52.png

Open a command prompt and navigate to obs-studio\bin\64bit

execute obs64 --portable

2016-07-31_12-22-27.png

Agree to the license.

The next screen should look something like this. 

2016-07-31_12-29-43.png

If the profile and scenes are not defaulted to 'playfield', click on profile and scene collection and select 'playfield'.

2016-07-31_12-34-34.png

There are pre-existing profiles, scene collections, and sources for playfield, bg, and dmd. Each source captures an entire screen. You may want to confirm that each profile is capturing the correct screen. Click the settings icon for display capture in each profile and see that the preview is displaying the correct screen. You can change the screen using the pull down menu. Check playfield and then repeat for bg or backglass.

2016-07-31_12-44-21.png

The script assumes that full screens are used for playfield and bg. Ffmpeg will automatically crop the DMD video based on your FutureDMD settings.

Make sure your video output is set as shown below.

2016-07-31_12-49-19.png

Make sure your video setting are set as appropriate, in my case 1920X1080 worked perfect.

2016-07-31_12-51-52.png

Download FFMPEG from here - latest version, rename the folder FFMPEG

https://ffmpeg.zeranoe.com/builds/win64/static/

Download The 64bit script executable is here:

https://dl.dropboxusercontent.com/u/45430846/PBXrecorder_x64_1.4FP.exe

Create a folder in your PinballX folder, name is 'Scripts', place the PBXrecorder_x64_1.4FP.exe and FFMPEG folder inside of this folder

2016-08-01_19-59-25.png

Right click on the script, choose compatibility tab, check "Run this program as administrator"

2016-08-01_20-09-42.png

Do the same for FFMPEG

2016-08-01_20-03-24.png

And OBS64

2016-08-01_20-04-21.png

Create a shortcut to the script and place on your desktop and your good to go.

If your tables are rotated and upside down, attached is the script that will turn them the correct way.

Hope this helps.

PBXrecorder_x64_1.4FP_180.exeFetching info...

  • 1 month later...
Posted
  On 5/13/2016 at 3:01 AM, Carny_Priest said:

Hi, I installed Unit3D Pinball last year, but I just now finally got around to coding a launcher for myself. The timing is pretty good as it seems the French Pinball Team is pretty close to releasing Roadshow. In any case, I need media so I ported gtxjoe's PBX Recorder to capture Unit3D. Works pretty much the same way as PBX Recorder. It uses ffmpeg as the capture engine.

The 64bit compiled executable is here:

https://dl.dropboxusercontent.com/u/45430846/PBXrecorder_1.4Unit3D.exe

As always, run as admin.

This can co-exist in the same folder as PBXRecorder for VP. The log will get overwritten but it creates an ini file with a different file name.

Output will look best and work trouble free with the LAV filters that are linked on the PinballX home page.

Unit3D only supports two screens by spanning the game window over to the backglass display while running cab calibration. DMD settings are still part of the ini, but any selections will be ignored.

The script assumes that "Unit3D" is contained in the name assigned to your Unit3D system (e.g., the databases have file names such as "Unit3D.xml" or "Unit3D Pinball.xml").   

The script assumes that your displays will be set up in a standard fashion with playfield screen in landscape orientation and backglass to the right in landscape orientation. The tops of the screens aligned on the same axis. If you do have Unit3D setup with the playfield screen in portrait orientation then you will probably need to make a minor tweak to the script so that the output will be saved in the correct orientation for display in PinballX.

Capture settings are read from Config\CabCalibration.xml. No sense trying to capture anything until you are sure the tables are playing correctly.

Script still checks for missing wheels and will direct to Visual Pinball\Wheel Images on the FTP if you enter in your account information.

Source:

  Reveal hidden contents

Changes from 1.4

; 1.4Unit3D     May 12, 2016
;                Port for Unit3D capture - Unit3D beta does not support three screens - DMD settings will be ignored
;                Add support for ™ and recognition of * (i.e, *) in Table and Description names
;                Some minor clean up for unused ErrorLevel parameters

Again thanks to gtxjoe for allowing mods to his source code. 

Expand  

 

I've updated PBXRecorder for Unit3D to 1.5 based on gtxjoe's work. Source code and x64 compiled executable attached.

; 1.5Unit3D     Sept 18, 2016
;               Port for Unit3D capture - Unit3D beta does not support three screens - DMD settings will be ignored
;                Add support for · and recognition of · (i.e, middot as in PIN·BOT) in Table and Description names
;                Some minor clean up for unused ErrorLevel parameters
 

I'm still testing PBXRecorder for FP based on using the latest OBS Studio as a capture engine.

 

PBXrecorder_1.5Unit3D.zip

  • Like 1
  • 2 weeks later...
Posted

There is a performance benefit in running the newer versions of VPX in true full screen. Unfortunately, ffmpeg cannot capture the playfield when VP is in true fullscreen. 

It's pretty easy to use the RegWrite instruction to change to windowed full screen on the fly and then change the registry back to true full screen after the capture is completed.

I still run my old capscreens script rather than PBXRecorder because I use a custom xml, but I just change the fullscreen key to zero before capture and to one after capture. Capscreens script attached.

CapScreens.zip

  • 1 month later...
  • 4 weeks later...
Posted

The port of gtxjoe's PBXRecorder v1.5 to support FP is working Ok for me with the current version of FFMPEG and of OBS Studio:

https://github.com/jp9000/obs-studio/releases/download/0.16.6/OBS-Studio-0.16.6-Small.zip

The install steps documented in this post still apply:

x64 compiled executable, updated config folder, and source code attached

 

; 1.5FP         Oct 7, 2016
;                Future Pinball support with playfield capture via OBS Studio
;                Add support for · and recognition of · (i.e, middot as in PIN·BOT) in Table and Description names
 

 

PBXrecorder_1.5FP.zip

  • 2 months later...
Posted

I haven't been able to get this to work yet. Program starts to change ball type in Future pinball near end of video, then trys to launch another instance of the hotkey program.

I'm thinking the 1.5FP version is missing some items as basic.ini in obs-studio on the BG profile has references to steam.exe and antimicro.exe (not sure what that is)

Posted

Not yet, was trying the command line option. I've gotten further with the other capture script you provided. I think the FP1.5 .zip file has a bad basic.ini file in the zip file for the playfield. It isn't formated in JSON, but instead looks like it was another AHK script.

Posted

Carny, do you have the FP 1.4 ahk script source? That one mostly works, but I need to see if I can find the issue that prevents it from going to the next table automatically.

The FP 1.5 version isn't working, and haven't had time to add a bunch of debugging statments to it, but the FP 1.4 version almost works for me.

Thanks!

Posted

So I got the FP 1.5 version to work, however this section doesn't close FP for me:

WinHide, ahk_class FuturePinball
WinMinimize, ahk_class FuturePinball
WinActivate, ahk_class FuturePinballOpenGL
WinWaitActive, ahk_class FuturePinballOpenGL
Send {Esc}
WinWaitClose, ahk_class FuturePinballOpenGL,,, 5

This should conceivably close future pinball, but it does not.

Posted

Spent about a week trying to get this to work, gave up after I almost killed my-self

I use GTXjoes to record VP tables all the time and it never fails, I actually wish this worked more because its harder to find the media for future pinball tables. I'll keep checking back for a never version.

Posted
  On 2/25/2017 at 3:07 AM, Xantari said:
So I got the FP 1.5 version to work, however this section doesn't close FP for me:

WinHide, ahk_class FuturePinball

WinMinimize, ahk_class FuturePinball

WinActivate, ahk_class FuturePinballOpenGL

WinWaitActive, ahk_class FuturePinballOpenGL

Send {Esc}

WinWaitClose, ahk_class FuturePinballOpenGL,,, 5

This should conceivably close future pinball, but it does not.

I pulled this chunk of code directly from FPLaunch. Strange that it isn't closing it. What process is still open?

Sent from my iPhone using Tapatalk

Posted

I think I figured it out. Though I'm not sure what specific change I did.

Here is what I did:

1. All .EXE's in Future Pinball folder, set to administrator

2. All OBS exe's, set to administrator

3. Set all FFMPEG .exe's to Administrator

4. Set the C:\Program files, autohotkey program to always run as administrator (all .exes). Since I was launching via the .ahk instead of .exe

5. Set the timeout before table load to a longer value (25 seconds instead of 15 seconds)

6. Added many more logging statements to the ahk file

7. Installed latest OBS Studio and setup those profiles which also got stored in %appdata%, however I believe it still uses the C:\obs-studio\config folder instead when launched in --portable mode

8. Copied futuredmd.exe to BAM folder (even though BAM worked OK with it in the Future Pinball main folder.

One or more of those steps seems to have solved it. Not sure which one though.

Posted

I always forget to mention it. Anything dealing with the pinball setup, all exe should be set to run as administrator.

You may wind up having to go with a longer load delay with the really huge tables. I just set to 60 seconds as a default.

I think it would probably be better to setup OBS profiles running off of --portable to ensure that settings are stored in the correct location. But it's good if something has changed so that OBS now reads the config files from either location.

You might check your path to futuredmd.exe, but, hey, if it's working now.

Glad you got it figured out.

  • 2 months later...
Posted
  On 5/2/2016 at 6:53 AM, Carny_Priest said:

Hi, the latest OBS studio added command line support for multiple profiles, so I ported gtxjoe's version 1.4 to support capturing Future Pinball tables. It has all the features of 1.4 except that it supports only Future Pinball and uses OBS Studio as the capture engline for playfield, backglass, DMD. Ffmpeg is still required to complete the transcode to generate the final output. 

Latest OBS Studio for Windows (portable zip):

https://github.com/jp9000/obs-studio/releases/download/0.14.1/OBS-Studio-0.14.1.zip

The installation contains both 32bit and 64bit executables. The script assumes 64bit and assumes that you will extract directly to your C: drive.

Unzip the following file into the obs-studio folder, RETAIN THE FOLDER STRUCTURE WHEN YOU COPY

https://dl.dropboxusercontent.com/u/45430846/config.zip

Open a command prompt and navigate to obs-studio\bin\64bit

execute obs64.exe --portable

Agree to the license. 

There are pre-existing profiles, scene collections, and sources for playfield, bg, and dmd. Each source captures an entire screen. You may want to confirm that each profile is capturing the correct screen. Click the settings icon for display capture in each profile and see that the preview is displaying the correct screen. You can change the screen using the pulldown menu. The script assumes that full screens are used for playfield and bg. Ffmpeg will automatically crop the DMD video based on your FutureDMD settings. I think that's it.

The 64bit compiled executable is here:

https://dl.dropboxusercontent.com/u/45430846/PBXrecorder_x64_1.4FP.exe

As always, run as admin.

This can co-exist in the same folder as PBXRecorder for VP. The log will get overwritten but it creates an ini file with a different file name.

Output will look best and work trouble free with the LAV filters that are linked on the PinballX home page.

Because of the length of time it takes to load some of the more elaborate tables in my cab, I've increased the wait time from 15 seconds to 60 seconds. It's simply what it takes on my system to load SlamT1lt's Nightmare on Elm Street and Robocop.

I'm running FP at 3K using NVidea DSR on a GTX 660. Using the same capturing engine, the videos are synced up better than when I was using a mix of OBS and ffmpeg. But my hardware is three years old now and running all of these capture simultaneously causes slowdown, so this may require some beefy hardware, or you might try capturing the different screens in separate sessions.

I'm assuming if you are capturing three screens that you are using FutureDMD. I'm not aware of another solution.

Capture settings are read from the registry and FutureDMD.ini. No sense trying to capture anything until you are sure the tables are playing correctly.

Works with or without BAM. Why would you not use BAM, though?

Source:

  Reveal hidden contents

Changes from 1.4

; 1.4FP         Future Pinball support with playfield capture via OBS Studio
;                Add support for ™ and recognition of * (i.e, *) in Table and Description names
;               Some minor clean up for unused ErrorLevel parameters

Again thanks to gtxjoe for allowing mods to his source code. 

Expand  

The links to download the config file is broken, can someone repost. I would like to use pbx to record future pinball tables.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...