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. Thank you for your support. Tom Speirs

Patreon

PFX crashes after some time since I use table and BG videos


vogliadicane

Recommended Posts

Well, this happens to my observation, when it tries to show a Pinball FX2 table. For most of them I don't have a table image. The erroro message says something about too few memory.

Below you find the log.txt

Spoiler

19:25:19.6  29.06.2016:  PinballX - Version 2.20
19:25:22.1  29.06.2016:  Windows 7 Professional Service Pack 1 64-Bit (15,9609375GB)
19:25:22.1  29.06.2016:  Loading Settings
19:25:22.1  29.06.2016:  Initialize Component
19:25:22.2  29.06.2016:  Initialize Display
19:25:23.3  29.06.2016:  Start with windows is set so waiting 5 seconds. Boot Time = 29.06.2016 19:25:10
19:25:32.1  29.06.2016:  Loading PlugIns
19:25:32.3  29.06.2016:  Created DirectX BackGlass Window
19:25:32.9  29.06.2016:  Hiding Cursor
19:25:32.9  29.06.2016:  Hiding Taskbar
19:25:32.9  29.06.2016:  CPU:  Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
19:25:32.9  29.06.2016:  GPU 1: NVIDIA GeForce GTX 970
19:25:32.9  29.06.2016:  Displays: 2
19:25:33.0  29.06.2016:  Load Game List
19:25:33.0  29.06.2016:  Loading Database: Pinball FX2
19:25:33.0  29.06.2016:  Loading Database: Visual Pinball
19:25:33.0  29.06.2016:  Finding and matching artwork and videos
19:25:33.5  29.06.2016:  Loading Game Statistics and Scores
19:25:33.5  29.06.2016:  Main display running full screen windowed.
19:25:33.5  29.06.2016:  Loading Surfaces
19:25:33.7  29.06.2016:  Finished Loading Surfaces
19:25:33.7  29.06.2016:  Initialize Audio
19:25:33.8  29.06.2016:  Set Keyboard Controls
19:25:33.8  29.06.2016:  Initialize Joystick
19:25:33.8  29.06.2016:  No Joysticks Attached
19:25:33.8  29.06.2016:  Started
19:30:33.0  29.06.2016:  Launch System
19:30:33.0  29.06.2016:  Waiting for threads
19:30:33.0  29.06.2016:  Disposing display
19:30:33.0  29.06.2016:  C:\Program Files (x86)\Steam\steam.exe -applaunch 226980 Atlantis
19:30:54.2  29.06.2016:  Found Pinball FX 2 Process
19:39:43.8  29.06.2016:  Exit System Control Pressed
19:39:46.0  29.06.2016:  Created DirectX BackGlass Window
19:39:46.0  29.06.2016:  Main display running full screen windowed.
19:39:46.0  29.06.2016:  Fehler in der Anwendung.
19:39:46.0  29.06.2016:  Error. Exiting
19:39:46.0  29.06.2016:  Fehler in der Anwendung.
19:39:46.0  29.06.2016:     bei PinballX.Main.b(Boolean A_0, Boolean A_1, Boolean A_2, Boolean A_3)
19:39:46.0  29.06.2016:     bei PinballX.Main.am()
19:39:46.0  29.06.2016:     bei PinballX.Main..ctor()
19:39:46.0  29.06.2016:  Disposing Plugins
19:39:46.0  29.06.2016:  Showing Taskbar
19:39:46.0  29.06.2016:  Unhiding Mouse Cursor
19:39:46.0  29.06.2016:  Bye

It also happened with the former and the latest version of PBX.

Link to comment
Share on other sites

If you don't mind, download and install version 2.21 and provide updated copies of your pinballx.ini and log.txt files. Also, if you are going to copy & paste as opposed to attaching the files, please click on the "eye" in the posting toolbar and paste within the spoiler. This saves those responding with a mobile device a ton of thumb cramping trying to scroll your post. Thanks!

Link to comment
Share on other sites

Hmm, couldn't solve the problem completely, yet. I installed PinballX 2.21, reinstalled the video codecs still an error. But I found out it has probably something to do with an error in the net framework - error messages (not enough memory.. and a big list of commands) are related to it and there is no more error in the PinballX log file, so what crashes is the framework.

I already repaired net framework 4.5.1 with a tool from microsoft, but the error still occurs.

So here a super trivial question, but I actually didn't find an aswer with google. What framework version is PinballX really working with? :wacko: I have installed 2.0, 3.0, 3.5, v4, 4.0 and 4.5.1

 

Reistalling/repairing all of them is really a pita with all the sub versions and and and so it would save me a lot, if I knew, which one could be the culprit :P

Link to comment
Share on other sites

Thanks a lot for the feedback so far. Well, I have now installed 3.5 plus service pack (3.5.1) again and the error remains. Attached is the PinballX.ini and the log file after a total crash, which means PinballX completely crashed without an error message.

 

Actually I don't know what to else to do now, so any more help would be appreciated a lot.

log.txt

PinballX.ini

Link to comment
Share on other sites

No chance, I couldn't solve it on my own, so any help would be great.

I did some tests to trace down the problem:

- deleting all table videos alone: works as it should (videos are replaced by images as before and there are no errors)
- deleting all backglass videos alone: chaos wrong or no table image, gets even more messy, the longer it runs
- deleting both, backglass and table videos: no problems (no wonder, it had worked before this way)

to my opinion taken together:
- the reason for an error is NOT the combination of two videos (to my understanding this is managed by the LAV filters). So the LAV filters are ok.
- the reason for an error is NOT to use BG videos in my setup (a regular display size)
- the error occurs ONLY, when I use table videos*. Keep in mind, that I have a 4k display, maybe, this is the problem.


*just for info: I created ALL BG and table videos using the PBX Recorder with the recommended LAV filters/codecs from the original post; all of the videos were created as f4f files

What I will test next: create only mp4 videos, maybe, that helps...

 

Link to comment
Share on other sites

another observation:

when I import some Pinball FX2 table videos (from gameX) there is no problem at all (runs now for more than an hour), so my guess is:

either: it has to do with the 4k resolution

or: somthing is not ok in the videos encoded by PBX Recorder (actually, I don' think, it is the real problem)

Link to comment
Share on other sites

If you are using PBX Recorder then you definitely need to be using LAV Filters. The full color format used by PBXRecorder is not compatible with all codecs, but it does work with LAV Filters.

Don't know if it makes any different but you might try tweaking a few settings to further isolate potential issues:

1. Run Full Screen Windowed (non exclusive) rather than true Full Screen

2. Just for testing, disable PinMAME DMD support

3. To confirm, you are running and capturing in 4K? You might try tweaking the transcode part of the PBXRecorder script to scale the output down to 1080p and/or apply more compression. I've heard of some users wanting to capture at 60 fps which would also create a large output file. The script is really designed just to capture the table's attract mode. I think maxing out the possible settings just for preview videos is a waste of space. I shoot for about 10 Mb per playfield output file. I do output f4v. Some prefer mp4. If you are using the LAV Filters then it doesn't matter which container you use. 

4. If you are running SSD then put your videos on the SSD if you can.

5. Increase the time delay on attract mode. I have it at 60 seconds. Again, this may not be an issue at all. Tom has mentioned that his debugger version has available time delays much shorter than 15 seconds, and he hasn't run into crashes/freezes.

6. My cabinet is dedicated to pinball. I don't install anything I don't need, and I try to keep other background processes to a minimum.  

Link to comment
Share on other sites

best I reply to each point:

1. Will try this after tweaking the recording settings. Just to be sure, I got you right, you mean, when recording the videos? Or always?

2. ? I have only 2 display setup, or do you mean, also the windowed DMD? Where?

3. Would like to change some settings here, but where in which script? I'd like to scale down to 1080 and use 30 fps only. Ans yes, all videos are bigger than 10 MB some even more than 20 or 30 MB.

4. It's all on an SSD

5. hmm, this might solve the problem in attract mode only (without any click), but PinballX also crashed, when I scrolled through tables (one click could be enough)

6. Yes, this is the case here also.

Link to comment
Share on other sites

1. I'm talking about a PinballX setting. 

2. It's a PinballX setting. There's the option of using DMD videos or having PinballX launch PinMAME to display the DMD in attract mode. If you have two screens and you are taking the option of using emulation instead of plain old videos, I suggest disabling PinMAME and B2S in attract mode until you figure out displaying the playfield.

3. The PBXRecorder source code is included in the distribution package. The default capture frame rate is already at 30. Towards the end of the file, the script runs ffmpeg on the "raw" capture file and processes it for the final output file. For the playfield change -vf "rotate=PI:bilinear=0" to -vf [in]rotate=PI:bilinear=0[middle];[middle]scale:1920:-1[out]

5. PinballX crashing during navigation is a new issue. Let's stick to attract mode as that is what the topic is about.

Link to comment
Share on other sites

  • 5 weeks later...

Thanks Carny for the tips and sorry to reply so late, I decided to use images until a new version of PBX recorder is out and maybe solves my issues. I tried version 1.5, but still the crashes happen. I tried to do most of your suggestions:

1. Fullscreen windowed PinballX didn't solve the issue, but I got the feeling, that crashes occured much later, but anyways, didn't still crashes.

2. The use of a DMD was unchecked, anyways.

3. This sounds most promising and a lower resolution would be ok, but I think, I don't quite understand. Do you mean the ahk files? There I found for version 1.4 the line, I think you ment. In 1.5 this code is completely missing. So I could try changing it in v1.4, but what then? Do i have to compile it or is it used directly from the PBX exe? :wacko: Because you call it source code.

 

Link to comment
Share on other sites

3. gtxJoe modified how filters are referenced in 1.5. It's actually a little easier now. In line 6, change

Spoiler

PFRotation="rotate=PI:bilinear=0"

to

Spoiler

PFRotation=" [in]rotate=PI:bilinear=0[middle];[middle]scale:1920:-1[out]"

You can download AutoHotkey at ahkscript.org, install it on a development PC, right click the source code file in File Explorer/Windows Explorer, and compile it.

OR

You can simply install AutoHotkey on your cab and run the ahk script file directly - double click it in File Explorer/Windows Explorer

  • Like 1
Link to comment
Share on other sites

Hmm, now all videos have 0 kb size. I changed the code exactly, how you wrote it with the space behind the quotation marks and with those terms in backets (e.g. [middle]) and without them and variations (sorry I have no idea about this code in detail). Only empty files are generated...

Link to comment
Share on other sites

gtxjoe helped me out and it worked!!:D

had to instert -s 1920x1080 into the command line.

In detail (maybe someone has the same problem):

replace this line:

Run, "%FFMpegPath%\ffmpeg" -y -i "%A_ScriptDir%\playfield.mkv" -ss 5 -to 1000 -vf %PFRotation% -c:v libx264 -crf 26 "%MediaOutPath%\%MediaSubDirOut%\Table Videos\%SearchString%.%RecExt%",,UseErrorLevel

with:

Run, "%FFMpegPath%\ffmpeg" -y -i "%A_ScriptDir%\playfield.mkv"  -s 1920x1080 -ss 5 -to 1000 -vf %PFRotation% -c:v libx264 -crf 26 "%MediaOutPath%\%MediaSubDirOut%\Table Videos\%SearchString%.%RecExt%",,UseErrorLevel

From first trials, my problem finally seems to be solved. I tried a lot and no crashes at all!

 

Thanks Carny for pointig me to the right direction! :)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...