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

Recording problems


qcol

Recommended Posts

Hi 

First of all - thank you for this great front-end :)

I have a lot of problems with recording, so I will list all my questions:

1. I am trying to record using the keyboard shortcuts assigned to recording. Sometimes I hear a voice announcing that recording starts, sometimes nothing happens even though I click several times. I don't know if I should wait patiently or interrupt (there would be a useful icon besides the sound, which informs you that the recording is in progress). 

2. I don't understand what is the "Use GPU driver capture" option?  Unfortunately, I can't find anywhere the exact documentation that would clearly describe it all (does it exist?). Geforce Experience has its own keyboard shortcuts that work globally, so why set them additionally in PinballX?  The same applies to the recording folder. Whatever I set here, the recordings go to the folder that is set in Geforce Experience.  Besides, with this option only Playfield is recorded (without backglass). 

3. Recording (if I manage to start) is extremely slow. Two monitors (1600x1200 backglass + 2560x1440 Playfield) = 22 minutes. 

10:16:30.2  19.03.2019:  Recording videos
10:16:38.3  19.03.2019:  FFMPEG.exe -f gdigrab -framerate 20 -offset_x 0 -offset_y 0 -video_size 2560x1440 -t 00:00:30 -i desktop -c:v libx264 -crf 0 -preset ultrafast "c:\users\user\appdata\local\temp\tmp5680.mp4"
10:18:03.2  19.03.2019:  FFMPEG.exe -i "c:\users\user\appdata\local\temp\tmp5680.mp4" -vf "vflip,hflip" -c:v libx264 -an -crf 20 -preset slower -pix_fmt yuv420p -f mp4 "D:\PinballX\MEDIA\Visual Pinball\Table Videos\Back to the Future (Data East 1990).mp4"
10:31:58.3  19.03.2019:  Capture Playfield video success
10:31:58.7  19.03.2019:  FFMPEG.exe -f gdigrab -framerate 30 -offset_x 2560 -offset_y 0 -video_size 1600x1200 -t 00:00:30 -i desktop -c:v libx264 -crf 0 -preset ultrafast "c:\users\user\appdata\local\temp\tmp6216.mp4"
10:32:40.5  19.03.2019:  FFMPEG.exe -i "c:\users\user\appdata\local\temp\tmp6216.mp4" -c:v libx264 -an -crf 20 -preset slower -pix_fmt yuv420p -f mp4 "D:\PinballX\MEDIA\Visual Pinball\Backglass Videos\Back to the Future (Data East 1990).mp4"
10:38:04.3  19.03.2019:  Capture Backglass video success

Is it possible to optimize it in any way? Geforce Experience even though it records only one monitor, it does it very quickly. 

4. Why can't I set the recording time shorter than 30 seconds? In my opinion a short animation of 5-10 seconds would be enough, and so nobody is watching these movies for more than 10 seconds (after that time the game is usually started). Shorter films would significantly reduce the waiting time for recording. 

 

Link to comment
Share on other sites

This may be the cause?:

Display numbering in PinballX is reversed. In Windows system my playfield is 1, backglass is 2. In PinballX I had to set it the other way round to make it work properly.  
As You can see on the attached screen, offset for backglass is set like in screenres.txt for bs2 server, but it make sense when backglass is as second display (like in windows system),  so why did I have to set it as "display 1" instead of 2?  I would like to point out that everything is working properly with this setting.

Zaznaczenie-485.png

log.txt

PinballX.ini

Link to comment
Share on other sites

33 minutes ago, Mike_da_Spike said:

Checking the following post for "GPU driver capture"

 

 

Thank you, but I still do not know what the role of PiballX is here? What does duplicating keyboard shortcuts and recording folder give me when these settings work globally in GeForce Experience and I don't need to set them in PinballX to work? Besides, unfortunately only Playfield is recorded (although I must admit that it does it very quickly and smoothly, FFMPEG does it for a very long time and the videos are very choppy). 

Link to comment
Share on other sites

You could be pushing a GTX660 a bit hard with the video creation & playback, that might be cause of choppiness and slow recording.

Other option is to try using PBXRecorder for the recordings (which will read screenres.txt directly and allow 5 or 10 sec recordings when running, or screenshots rather than videos)

 

Link to comment
Share on other sites

The reason you need to set the driver capture to match Geforce Experience is simply because there is no way to find out what these values are. You are simply setting them to match so PinballX can send keystrokes. There is no other way to accees Geforce Experience through an API or code that I am aware of or have found. PinballX is not setting these values. You are telling it what they are.

Your other things all relate to performance or probably because videos already exist which I understand and will look at.

Link to comment
Share on other sites

3 minutes ago, scutters said:

You could be pushing a GTX660 a bit hard with the video creation & playback, that might be cause of choppiness and slow recording.

Other option is to try using PBXRecorder for the recordings (which will read screenres.txt directly and allow 5 or 10 sec recordings when running, or screenshots rather than videos)

 

Why should there be a problem with GTX when Geforce Experience does it smoothly and immediately? Doesn't this mean that the problem lies somewhere else? The only problem with Geforce Experience is that it only records playfield, and in addition upside down (although I know how to deal with it).   

Link to comment
Share on other sites

5 minutes ago, qcol said:

Why should there be a problem with GTX when Geforce Experience does it smoothly and immediately? Doesn't this mean that the problem lies somewhere else? The only problem with Geforce Experience is that it only records playfield, and in addition upside down (although I know how to deal with it).   

Did you see my reply? Looks like you not enabled GeForce capture in pinballx because you don't understand how it works.

Again for the driver capture (GeForce experience) you are telling PinballX what those values actually exist to be already not what you want them to be.

Link to comment
Share on other sites

7 minutes ago, Tom Speirs said:

The reason you need to set the driver capture to match Geforce Experience is simply because there is no way to find out what these values are. You are simply setting them to match so PinballX can send keystrokes. There is no other way to accees Geforce Experience through an API or code that I am aware of or have found. PinballX is not setting these values. You are telling it what they are.

Your other things all relate to performance which I understand and will look at.

But Geforce Experience to record movies does not need to set anything in PinballX. If I set the recording folder in Geforce Experience and assign the start/stop recording hotkey, it works globally in Windows. Even if I do not set anything in PinballX, the recording this way  will still work (starting the game with PinballX). Setting it the second time in PinballX doesn't give anything, hence my questions why to do it?  Sorry, but probably I still don't understand something :) 

Link to comment
Share on other sites

OK, maybe I will try to explain it differently. 


I attached Geforce Experience settings and 2 ways to set PinballX and what happens when you press the defined F9 key. 

1. Use GPU capture = No, Driver Record start/stop key empty, Driver Save Path empty. 

Zaznaczenie_489.png.9859c49473437de194798088dcdc125b.png

I start PinballX, then any game. Result of pressing F9 key: green icon informing me about start and end of recording. Video was recorded in the set path D:/PinballX Records. Playfield only. 

2. Use GPU capture = Yes, Driver Record start/stop and Driver Save Path set as in Geforce Experience.  Zaznaczenie_490.png.71ec20c170563b3aa68d26c70d97e687.png

I start PinballX, then any game. Result of pressing F9 key: green icon informing me about start and end of recording. Video was recorded in the set path D:/PinballX Records. Playfield only. 

Nothing else has happened. 

So I still don't understand this setting in PinballX if nothing else happens. Forgive my questions but I really miss the documentation with the description: what should this option give? What should be the effect of this option. Now that I can't see any difference in action, I just get lost.  

Zaznaczenie_487.png

Zaznaczenie_486.png

Link to comment
Share on other sites

It is very unusual to have to use an offset setting for your back glass in your ScreenRes.txt
In windows Screen setup do you have your playfield on the left and your backglass screen to the right and have the screens Even at the top
Link to comment
Share on other sites

19 minutes ago, Outhere said:

It is very unusual to have to use an offset setting for your back glass in your ScreenRes.txt

In windows Screen setup do you have your playfield on the left and your backglass screen to the right and have the screens Even at the top

Yes. Playfield on the left, backglass on the right side. It was due to the fact that I also tried other front-ends.... in the documentation of one of them was written:

Quote

"It's essential that you don't have ANY of your monitors in Windows positioned in a NEGATIVE value position. This means your 2nd, 3rd, 4th, etc screens should only be positioned ONLY to the RIGHT, and BELOW your main display. NOT to the LEFT or ABOVE your main display".

I thought this was a general rule for every front-end with multi display set.

Of course, if this would help in something, I can set it above playfield with no offset.

Link to comment
Share on other sites

This is  A normal set up

Playfield monitor should be on the left with additional monitors to the right and best to have them align with the top of the Playfield monitor- Example Below

Try this order

Playfield, BackGlass, Dmd then Topper

Not necessarily in the order of 1 2 3

 Displays.jpg

1920
1080
1360
768
2  <---- Some Times you need to try 1 - 15 -- for back Glass to be on the right screen -- The monitor numbers in windows don't mean anything for the set up in VP
0
0
1330      0 <-- 2 screen setup Leave at 0
440        0 <-- 2 screen setup Leave at 0
1379      0 <-- 2 screen setup Leave at 0
145        0 <-- 2 screen setup Leave at 0
0

Link to comment
Share on other sites

39 minutes ago, Outhere said:

It is very unusual to have to use an offset setting for your back glass in your ScreenRes.txt

In windows Screen setup do you have your playfield on the left and your backglass screen to the right and have the screens Even at the top

It is more strange to me that in PinballX I had to reverse the screen numbers. What in Windows is screen #1, in PinballX I had to set it as Display2 (and vice versa). Only with this setting it works properly for me. 

Link to comment
Share on other sites

4 minutes ago, Outhere said:

This is  A normal set up

Playfield monitor should be on the left with additional monitors to the right and best to have them align with the top of the Playfield monitor- Example Below

Try this order

Playfield, BackGlass, Dmd then Topper

Not necessarily in the order of 1 2 3

 Displays.jpg

1920
1080
1360
768
2  <---- Some Times you need to try 1 - 15 -- for back Glass to be on the right screen -- The monitor numbers in windows don't mean anything for the set up in VP
0
0
1330      0 <-- 2 screen setup Leave at 0
440        0 <-- 2 screen setup Leave at 0
1379      0 <-- 2 screen setup Leave at 0
145        0 <-- 2 screen setup Leave at 0
0

If the screen number does not have to be equal in Windows - OK, then I understand. 
However, with this setting where backglass is to the right of playfield, the offset is set to 2560 (playfield width). It works correctly for me, B2S Server displays everything correctly. Only if it was above Playfield it would have offset = 0?  Isn't it? 

Link to comment
Share on other sites

3 hours ago, qcol said:

OK, maybe I will try to explain it differently. 


I attached Geforce Experience settings and 2 ways to set PinballX and what happens when you press the defined F9 key. 

1. Use GPU capture = No, Driver Record start/stop key empty, Driver Save Path empty. 

Zaznaczenie_489.png.9859c49473437de194798088dcdc125b.png

I start PinballX, then any game. Result of pressing F9 key: green icon informing me about start and end of recording. Video was recorded in the set path D:/PinballX Records. Playfield only. 

2. Use GPU capture = Yes, Driver Record start/stop and Driver Save Path set as in Geforce Experience.  Zaznaczenie_490.png.71ec20c170563b3aa68d26c70d97e687.png

I start PinballX, then any game. Result of pressing F9 key: green icon informing me about start and end of recording. Video was recorded in the set path D:/PinballX Records. Playfield only. 

Nothing else has happened. 

So I still don't understand this setting in PinballX if nothing else happens. Forgive my questions but I really miss the documentation with the description: what should this option give? What should be the effect of this option. Now that I can't see any difference in action, I just get lost.  

Zaznaczenie_487.png

Zaznaczenie_486.png

I think that looks correct but you are supposed to press the key setup for capture in PinballX not F9.

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Tom Speirs said:

I think that looks correct but you are supposed to press the key setup for capture in PinballX not F9.

And here was the problem!  Thank you very much! Well, we have already clarified the first misunderstanding ;)  Step forward :)
I was sure that the shortcut "grab videos" applies only to FFMPEG recording with a fixed recording time (e.g. 30 seconds). If you set up "Use GPU capture", I thought the start/stop shortcut would take effect from that moment. 
Forgive me, but the only documentation I found was this one, and it's probably from 2013 and there's nothing about video recording in it at all. 
The problem of long waiting time remained, however. As I read from the logs now, it works in such a way that PinballX still uses FFMPEG to rotate the video made by Geforce Experience. And that's what takes a very long time. Probably by the high resolution and not the newest GPU.  And this is where the option of recording shorter than 30 seconds would be very useful. Personally, I would be satisfied with 10 seconds (which would mean about 3 times faster video processing). 

Link to comment
Share on other sites

Try changing this value to 10 directly in your pinballx.ini file to try and reduce length of recordings (rather than going through settings.exe)

[VideoCapture]
KeysStartRecord=120
KeysEndRecord=120
Seconds=30

  • Thanks 1
Link to comment
Share on other sites

7 minutes ago, scutters said:

Try changing this value to 10 directly in your pinballx.ini file to try and reduce length of recordings (rather than going through settings.exe)

[VideoCapture]
KeysStartRecord=120
KeysEndRecord=120
Seconds=30

In fact, you are right!  I should first look at ini and check if there is no such option. Thank you! Now the video generation time is reduced and acceptable.  Thank you all for your help - the topic to close. 

Link to comment
Share on other sites

I still have a problem with recording  (recording set to "GPU driver")

It happens that recording works completely correctly: immediately after pressing the recording key the voice "capture start..." appears and after about 4 minutes the game returns to the menu with recorded playfield + backglass material. In the log file it is correctly recorded. 

But often (I can't find the rule) there are such cases: 
 
1. recording key does not work at all, pressed several times - no reaction (no entries in the log file), need to exit and run table again 
2. the key works but with a long delay, after pressing it there is no reaction, after waiting about a minute the voice "capture..." appears. (if pressed several times, the "capture video..." voices overlap)
3. only playfield is recorded: in this case, if I try to record the video a second time, sometimes after pressing the recording button it returns to the menu immediately (in the log file there is information that the playfield already exists). When repeat operation -  everything is OK... backglass is recorded correctly. 

example (Exit System Control Pressed?? nothing was pressed ) 

Quote

19:47:54.3  26.03.2019:  Recording videos
19:48:19.1  26.03.2019:  FFMPEG.exe -i "D:\PinballX Records\Desktop\Desktop 2019.03.26 - 19.48.01.06.mp4" -vf "vflip,hflip" -c:v libx264 -an -crf 20 -preset slower -pix_fmt yuv420p -f mp4 "D:\PinballX\MEDIA\Visual Pinball\Table Videos\VP10_Terminator 2 - Judgment Day Chrome Edition-3-2.mp4"
19:51:01.2  26.03.2019:  Capture Playfield via GPU video success
19:51:01.3  26.03.2019:  Exit System Control Pressed
19:51:03.7  26.03.2019:  Rescanning for new artwork
19:51:03.7  26.03.2019:  Loading Database: Pinball FX3
19:51:03.7  26.03.2019:  Loading Database: Visual Pinball
19:51:03.7  26.03.2019:  Initial load gamelist took: 32ms
19:51:03.7  26.03.2019:  Finding and matching artwork and videos
19:51:04.0  26.03.2019:  Took: 281ms
19:51:04.0  26.03.2019:  Loading Game Statistics and Scores
19:51:04.2  26.03.2019:  Created DirectX BackGlass Window
19:51:04.5  26.03.2019:  Main display running full screen windowed.


4. Sometimes it works but nightmarishly long, I don't know then whether to interrupt the action or wait (if other recordings are done in max 5 minutes)? Here is an example where it lasted 1/2h. 

Playfield = 30 minutes 

Backglass = 1 minute 

Quote

 

18:48:53.9  26.03.2019:  Disposing display
18:48:55.4  26.03.2019:  D:\VPX\VPinballX.exe /play -"D:\VPX\tables\VP10_Star_Wars_Trilogy1.6.vpx"
18:49:07.1  26.03.2019:  Hidden Visual Pinball Editor Window
18:49:08.2  26.03.2019:  Found PinMAME ROM: swtril43.nv
18:49:19.8  26.03.2019:  Recording videos
18:49:50.3  26.03.2019:  FFMPEG.exe -i "D:\PinballX Records\Desktop\Desktop 2019.03.26 - 18.49.28.04.mp4" -vf "vflip,hflip" -c:v libx264 -an -crf 20 -preset slower -pix_fmt yuv420p -f mp4 "D:\PinballX\MEDIA\Visual Pinball\Table Videos\VP10_Star_Wars_Trilogy1.6.mp4"
19:18:40.7  26.03.2019:  Capture Playfield via GPU video success
19:18:40.7  26.03.2019:  FFMPEG.exe -f gdigrab -framerate 30 -offset_x 2560 -offset_y 0 -video_size 1600x1200 -t 00:00:10 -i desktop -c:v libx264 -crf 0 -preset ultrafast "c:\users\user\appdata\local\temp\tmpe10d.mp4"
19:18:50.1  26.03.2019:  FFMPEG.exe -i "c:\users\user\appdata\local\temp\tmpe10d.mp4" -c:v libx264 -an -crf 20 -preset slower -pix_fmt yuv420p -f mp4 "D:\PinballX\MEDIA\Visual Pinball\Backglass Videos\VP10_Star_Wars_Trilogy1.6.mp4"


 

 


 

Link to comment
Share on other sites

Not sure what kind of system you have, but the gpu capturing is done in 31 seconds, but converting and rotating with ffmpeg takes arround 30 minutes. Is cpu doing more at that time, or do you still got a 486 (the last part is a joke). 

I have a i7 system and still takes me 5 minutes when converting a 4k video. 

Link to comment
Share on other sites

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