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

Also, here you can see the fruits of my labour.... video of Future Pinball captures of all 3 screens using OBS MP in Pinball X.

 

 

 

While not every backglass had some kind of animation, they were still recorded. If it didn't have any change in the backglass, I would just use a still pic of the video for the backglass instead of playing a video.

 

PC Games:

 

 

Pinball FX 2 (using other pre-made backglass videos. I had to create the DMD / flaming PBFX 2 logos myself):

 

 

 

The Pinball Arcade (using other pre-made videos for backglass and playfield):

 

 

 

 

Now, I'm in the middle of getting over 150 Visual Pinball tables all setup before recording any media for them. There's lots already on the FTP, but they don't all match the newer versions of the tables and backglass that I have.

 

Then. its onto MAME....

Posted

Thanks... already have those, but I still have to make custom "marquee / dmd" pics for each game....  :(

 

Wish I could find a way to batch edit pictures in a way that would allow me to overlay a marquee pic into another pic (Mame logo), for each game....that would be lovely!

 

Unless Pinball X would support a "4th screen"... then that would make my life sooooooo much easier.

Posted
  On 3/11/2016 at 4:32 PM, TerryRed said:

Good to see it working for you!

I used multiple installations / instances because I think I was having issues with the profiles not quite allowing the screen rotation to work properly everytime, etc.... I can't remember for sure, but this method works everytime without issue. No need to change anything this way once setup for each screen / layout.  I do find that sometimes you will just get a still picture instead of a video capture in FP playfield..... just close EVERYTHING (OBS, FP,  FDMD, etc) and re-opening them should take care of that.... and you need to wait a few seconds after the table first appears to record sometimes as well.

 

For full colour range video and gameplay, make sure you have full colour range set for your screen resolution AND for your video output for each screen. Its a separate setting in the NVidia control Panel.  DVI connected screens (my 19 inch screen), may not give you the option for Full Range on your resolution section, but you can still change it in the video.  Also make sure your TV / monitors are set correctly as well in their setup options (HDMI black level) as well.     God, colour range can be a pain...

Expand  

Doesn't look like OBS Studio has support for designating different profiles to run. Then you would have to have multiple installations to manage simultaneous captures. I would not have much of an issue doing that for myself, but it's not a solution suitable to publish I think. Appears to be a low priority for the developers, as well:

https://obsproject.com/forum/threads/are-they-any-shortcut-parameters.33385/#post-153345

The older classic version of OBS can load multiple instances with different profiles, but again, my playfield capture was black using Win10. So, going back to 0.657 is a no go. It would be possible to swap out ffmpeg with OBS Studio for the playfield capture engine and keep ffmpeg for backglass and DMD, but I'm not sure that I can get the output synchronized. At least not easily. That may not matter to most users anyway, so if people want to see it published then that's fine. 

Posted

Hi, thanks to gtxjoe for generously making his source code available. This is a version of PBXRecorder that supports capture of Future Pinball tables. It has all the features of 1.3beta except that it supports only Future Pinball captures via swapping ffmpeg with OBS Studio for the playfield capture engine. Backglass and DMD captures still require ffmpeg 

 

Latest OBS Studio for Windows:

https://obsproject.com/download#mp

Install OBS Studio in the same folder where you will run the script or executable. The installation contains both 32bit and 64bit executables. The script assumes 64bit.

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. You should see in the title bar that the profile and scene loaded are both named playfield.

Right click on  Sources: Display Capture and confirm that the screen that is being previewed is your playfield screen. Change the display in the pulldown if needed.

I think that's it.

The 64bit compiled executable is here:

https://dl.dropboxusercontent.com/u/45430846/PBXrecorder_1.3betaFP_x64.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 30 seconds to 60 seconds.

I'm running FP at 3K using NVidea DSR. Some of the more elaborate tables (SLAMT1LT) has some slowdown while capturing on my system, 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:

https://dl.dropboxusercontent.com/u/45430846/PBXrecorder_1.3betaFP.ahk

Changes from 1.3beta

; 1.3FP         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

Consider this beta as well. I've done some basic functionality tests in Win 7 x64 and some more thorough testing and catching up on my captures in Win 10. 

Again thanks to gtxjoe for providing such a great tool. 

  • Like 3
Posted

Hi Carney,

I was just curious as to the advantages of using OBS over ffmpeg? I tried OBS and didn't think the video quality was as good as ffmpeg. I might be wrong, I've only been into this for a few weeks, but i didn't care for OBS (as far as this project goes). I do like PBXRecorder very much - it was a blessing after thinking I'd have to do each table manually. Many thanks go to you, gtxjoe, terry, and others who have worked hard to create these utilities!

Posted

Ffmpeg does not capture the FP playfield, rendered with OpenGL. At least not for me running in full screen.

My mod only supports Future Pinball. For Visual Pinball continue using PBXRecorder.

Sent from my iPad using Tapatalk

Posted

As far as OBS quality, you have to get the settings for your specific codec right to make it look good. I originally was using NVidia's encoder which required a much higher data rate, but then eventually was able to get a great quality recording using the standard x264 (not ffmpeg) with just the right settings.

 

I used OBS MP (multi-platform), and was able to get better results than normal OBS.  You can capture at a very high quality large file format and use a program like Rip-bot or Tom's excellent Convert-it tool to do a batch conversion of your files afterward to a smaller file size with similar quality.

I originally captured all my videos at 60fps, but then used the above tools to convert them to a 30fps smaller file once I realised that Pinball X can only play "one" video at 60fps. When you have 2 or more videos playing at once, they will NOT play at a proper 60fps.... so having your videos at 30 fps is the better option.

 

I did all my videos for Visual Pinball using OBS MP (manually) with the exact same settings as I did for Future Pinball (except at 30 fps), and it worked great.

 

Using PBX Recorder would have made my job MUCH easier, but I wanted to record my videos at very specific times, so I had to do it manually. I'm too picky for my own good.

 

Now I have to figure out exactly how I want to do my MAME setup... videos are easy..... custom middle screen with a MAME / marquee for each game.... that would take a long time... trying to figure out my options here.... and what time I have for it.

Posted

The settings used for obs-studio are comparable to those used in the original PBXRecorder:

Open source H.264 lossless encoding

30 fps

YUV444 color format

Full color range

Identical code for transcode and downscale for the output file

In other words, it is the same quality results as the PBXRecorder for VP.

Sent from my iPad using Tapatalk

  • 4 weeks later...
Posted

Does pbxrecorder record sound as well?  It did a great job recording backglass and playfield videos. Ran overnight and generated 265 vids. However, there is no sound.  I examined settings and searched forum(s) but could not locate references related to sound being included / not included. 

Thank you very much for this fantastic tool!!!!!

Posted
  On 4/10/2016 at 5:09 PM, stevo1911 said:
Does pbxrecorder record sound as well?  It did a great job recording backglass and playfield videos. Ran overnight and generated 265 vids. However, there is no sound.  I examined settings and searched forum(s) but could not locate references related to sound being included / not included. 

Thank you very much for this fantastic tool!!!!!

Have you seen this?

Table sound when browsing tables

http://www.gameex.info/forums/index.php?/topic/13893-Table-sound-when-browsing-tables

These work really well because they're good representative sounds and highlights of the game being played, not just the sounds that may or may not exist when the table is turned on.

  • Like 1
Posted

ScottyVH, these sounds are very nice and will work well in my PinballX configuration.  Subscribed to site and and now downloading sounds from FTP site.  Thanks for the tip.

gStav,  Thank you for all your efforts to upload these sound files.  Very much appreciated. 

Posted

Thanks for the support guys. Don't miss the new launch audio feature in the new PinballX. Have made 100+ sounds all ready on the FTP :D

  • 3 weeks later...
Posted (edited)

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. 

Edited by Carny_Priest
source embedded in a spoiler
  • Like 1
  • 2 weeks later...
Posted

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. 

  • Like 1
Posted

I was wondering if there is a way to insert coin & start the game while this is recording unattended. The backglass doesnt do much for most games until a coin is inserted

Thanks

Posted

Well, somebody has to be there to insert a coin and play a game, so there is some manual aspect to doing what you are looking to do. I built on top of gtxjoe's work. I "think" that you can do this through the PAUSE function, but I have not tested that feature yet. I only changed the part of the code needed to read in table info and capture settings for Unit3D.

; 1.4 changes   Apr 7, 2016
;                New dialog to add table to Pinballx XML file
;                PAUSE and RESUME support to allow table script changes before recording.  Double tap PAUSE to record immediately
 

Posted

Thanks for the reply Carny_Priest. Its actually fine, I went back to look at the ones I had previously and they were about the same.

Question regarding the FP version. It is recording my tables and backglasses however they are small/cropped on the screen surrounded by black.

Did I screw something up? The VP one worked without issue.

thanks

May 15,2016 11:51:46
Version 1.4betaFP

Monitor Count: 2,  Primary Monitor: 1
Monitor 1: 1920x1080 (\\.\DISPLAY1)
Monitor 2: 3200x1024 (\\.\DISPLAY2)

Pinballx.ini
5
C:\PinballX-New
0
1
1
0
0
0
0
1
60
0

Identify all FP XML files...
FP System #1:
C:\PinballX-New\Databases\Future Pinball\Future Pinball.xml
C:\Games\Future Pinball\BAM
C:\Games\Future Pinball\Tables
FPLoader.exe

Skipping this system: MAME.xml

Skipping this system: Visual Pinball PM5.xml

Skipping this system: Visual Pinball 10.xml

Total number of FP systems found: 1

Working on Future Pinball.xml (11:52:00)

FP Registry and FutureDMD Settings
1920
1080
1280
1024
ERROR
ERROR
ERROR
ERROR

Values used for media capture (height/width forced to even values)
VirtualScreenWidth = 3200
TotalScreenWidth   =   
PF_width           = 1920          
PF_height          = 1080         
BG_width           = 1280          
BG_height          = 1024         
DMD_width          = 0      
DMD_height         = 0        
DMD_X_offset       =             
DMD_Y_offset       = ERROR             
-----------------------------------------
DMD_tot_offset     = ERROR             
DMD_orig_width     = ERROR         
DMDScreenWidth     = 0    
DMDScreenHeight    = 1024   
DMDScreenX         =           

2001 (Gottlieb 1971)
Table disabled in xml: C:\Games\Future Pinball\Tables\2001_V200.fpt

Buccaneer (Gottlieb 1948)
Table disabled in xml: C:\Games\Future Pinball\Tables\BUCCANEER-CPM-Cabinet.fpt

24 (2009)

EXAMPLE of all ffmpeg.exe commands used
"C:\PBXRecorder_x64\FFMpeg\bin\ffmpeg" -y -i "C:\PBXRecorder_x64\playfield.mkv" -ss 10 -to 1000 -vf [in]rotate=PI:bilinear=0[middle];[middle]scale=1920:-1[out] -map 0:0 -c:v libx264 -crf 26 "C:\PinballX-New\Media\Future Pinball\Table Videos\24 (2009).mp4"
"C:\PBXRecorder_x64\FFMpeg\bin\ffmpeg" -y -i "C:\PBXRecorder_x64\bg.mkv" -ss 10 -to 1000 -map 0:0 -c:v libx264 -crf 26 "C:\PinballX-New\Media\Future Pinball\Backglass Videos\24 (2009).mp4"
"C:\PBXRecorder_x64\FFMpeg\bin\ffmpeg" -y -i "C:\PBXRecorder_x64\dmd.mkv" -ss 10 -to 1000 -vf "crop=w=0:h=0:x=:y=ERROR" -map 0:0 -c:v libx264 -crf 26 "C:\PinballX-New\Media\Future Pinball\DMD Videos\24 (2009).mp4"

PBXrecorder set to record complete media set
Launching table: FPLoader.exe /STAYINRAM /open C:\Games\Future Pinball\Tables\24_CE.fpt /play /exit
Video and screenshot capture (11:53:16)
Recording "C:\PBXRecorder_x64\playfield\playfield.mkv"
Recording "C:\PBXRecorder_x64\bg.mkv"
Convert Videos to mp4 if video was captured (11:54:34)
Converting to "C:\PinballX-New\Media\Future Pinball\Table Videos\24 (2009).mp4"
Converting to "C:\PinballX-New\Media\Future Pinball\Backglass Videos\24 (2009).mp4"
Table done (11:55:50)

 

24 (2009).mp4Fetching info...

Capture.PNG

Posted

Did you run as admin? The compiled version needs permission to change OBS Studio profile xml files based on FP screen settings defined in the registry. The OBS executable needs to be run as admin. 

If worse comes to worse, and the program can not overwrite the capture parameters that I have in the existing profile configuration then you may need to set up Display Capture for the playfield and for the bg profiles yourself. It is actually not too hard. Go to command line and start OBS Studio

obs64.exe --portable --collection playfield --profile playfield --scene playfield

You will get the main OBS window with profile: playfield - Scenes: playfield in the Window title. 

Sources - right click Display Capture --> Properties. Make sure that the correct display for your playfield is defined. You can use the pulldown to change the display. 

Also

Click Settings button --> Video Change the Base (Canvas) Resolution to 1920x1080 if you need to using the pulldown.

Repeat for your bg profile except that the Base (Canvas) Resolution should be 1280x1024.

Let me know if you already had everything set up as admin and the program did not apparently copy over your registry settings. I may have some more tweaking to do to get this more automated. I wanted to avoid people having to get into the OBS settings dialog if I can.

Thanks for trying it out. The existing profile configuration were done manually so of course it works fine for me. I only generated media for a few tables that I had where I had some missing videos. I only used draganddrop mode, so I know that part of it works Ok.

Posted

Thanks, I tired setting obs as admin and running pbx recorder as admin and no luck. I manually set the canvas and it's working now. Thank you for your help!

Posted
  On 5/15/2016 at 12:25 AM, bryhud said:

I was wondering if there is a way to insert coin & start the game while this is recording unattended. The backglass doesnt do much for most games until a coin is inserted

Thanks

Expand  

You could modify the script to send the coin key and start key if you want to. But where do you stop :)  Should you plunge, should you hit the flipper buttons...

I dont know about FP but for VP, some tables require 1 coin while others require 4 coins so it gets tricky to do, how many coins to insert without leaving the table/rom fully loaded with coins.  Some people would complain about that.

Posted

Yeah. I hear ya, they turned out well. Almost done with the future pinball tables. Every once in a while it hangs on a table and needs to be restarted, otherwise working well

  • 2 months later...
Posted

Hello All,

 

Came across this great tool, but i'm having a heck of a time getting it to work.  I am using future pinball and using the latest PBS recorder

The instructions are a bit vague, can somebody share a shot of their folder structure?

Where do you put the actual script, inside of the OBS root folder?

When you extract the config file, its foldered inside of config twice?  Do you put the actual config folder in the OBS root file?

I'm also getting FFMPEG file not found in the log, i have installed this on the C: drive as suggested in the tutorial.

When i open the obs software "playfield" does not shot up at the top by default i have to physically select it, and sometimes the process gets held up as when the OBS software asks to accept the license again.

The log also says a screen shot was taken, but noting shows up in the folders.

I know this path is incorrect, not sure why the script generating this - Action: <c:\obs-studio\ffmpeg\bin\bin\ffmped

Any help would be really appreciated.

 

PBXrecorder.logFetching info...

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...