Recording of 3x 4k trading screens

lutho

New Member
Hi All, I would appreciate your thoughts.
I am a trader and am needing a solution to record a day's worth of trading. I use 3 4k 43" screens with NVIDIA Quadro per desk. These show many graphs/charts of live market data (but no video content). At the end of the day I just want to extract and replicate the whole trading experience to review and learn. SnagIt/CamTasia have limitations. The effective screen size if 11520x2160 with low refresh (30 Hz).
I would really appreciate thought son how I can achieve the above. Thanks in advance. Lex
 

koala

Active Member
The challenge is the huge resolution. Live encoding 3x 4k is extremely resource intensive, even if it is "only" charts and no real video like gaming or camera.
If you have a reasonably recent Quadro card, you have Nvenc as encoder, which is essential in this case. See here: https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
Relevant is the "Max # of concurrent sessions". You need 3 or unrestricted.

Note that Nvenc is able to encode only up to 4096x4096 with x264, so you need 3 recordings in parallel, each of your monitors separate.
Since you're recording a desktop with emphasis to text and chart, not to animations, you can lower the fps to 15 or 10 in OBS to reduce the amount of data to encode. You can keep 30 fps in Windows.

In OBS, use simple output mode, and as recording quality set "High quality, Medium file size", mkv as recording format and "Hardware (NVENC)" as encoder. If you find the quality isn't good as you need, choose "Indistinguishable Quality, Large file size". Since you're recording desktop and charts only, the size increase is probably not very high actually.
In Settings->Video set 3840x2160 for both resolutions and 15 or 10 as fps value.

Now set up 3 scenes in OBS, each with one "Display capture" source and point each to a different monitor.
Now you should have 3 scenes and see the corresponding monitor in the OBS preview if you switch to the corresponding scene.

Try to record one of these scenes for a few minutes and verify the resulting video.
If you're satisfied, start OBS two times more. It will complain that it is already running, but ignore this message for now. Switch to a different scene in each of the running instances of OBS and start recording, so you're recording all 3 monitors with your 3 different running OBS instances at the same time. After a few minutes, stop recording everywhere and verify the resulting videos.

If you want all 3 monitors combined in one big video, you need to take a different approach which involves downscaling the original monitor images, but keep in mind that if you want this, it will probably be very difficult at playback to see all the chart details in the downscaled video.
 

lutho

New Member
Hi Koala, THANKS for the big effort to respond in such detail. In turn I felt the next step was up to me to better educate myself on NVENC and OBS advanced features so I can ask better questions and refine the scope. I had not realised the technical challenge I had created. The NVENC recommendation was great - as the trading apps are quite CPU intensive and I may even have to upgrade my rig,

Whilst my screens are 4k and I have been using them as 4k, I can live with them as 2k (2560x1440) and redistributed the key trading content I want to capture across just 2 screens. This should reduce the challenge. The perfect solution for me would be to record both screens "as a single screen" and be able to replay them as one (across 2 side-by-side screens. The reason is the screens show different but "connected" markets and I need them to be working in sync exactly at the same time. Playing videos back as separate videos would not be ideal and create a lot of overhead - my objective is to just extract the few minutes before and after each trade for review and learning and store this with each trade (up to 20 per day).

The existing card I have is the lower end P4000 and can only do 1 NVENC - but happy to get better gear or additional card (3060ti?) - may be required for second NVENC? The real challenge is make this look exactly as when I was trading and be able to step through and slow down the replay.

I noticed OBS also has a gaming option - which is of interest as it aims to minimise impact on gamers. My need is in effect the same in terms I cannot afford for the systems to slow due to the recording (ty NVENC) - but do need at least 2 screens. Funnily enough my kid is a gamer and actually uses OBS - but he is not super technical and lives in the US these days. :( I thought I finally can put him to good use!!!

Given the bigger picture and the reduction to 2 screens - I would appreciate your thoughts on what solutions may now be available?

Kind regards, Lex

PS Koala - Australian I assume? Which city? (I am in Melbourne)
 

koala

Active Member
If you need 2 side-by-side screens, you get over the nvenc h.264 limit of 4096x4096. If you say you have the P4000, this has 1 nvenc chip, but unlimited sessions, so this card will work with multiple encoding sessions at the same time. 1 chip can support multiple sessions.

If you put 2 monitors side by side, you get 2x 3840x2160 = 7680x2160 or 2x 2560x1440 = 5120x1440. Both is above 4096, so you need nvenc h.265 (hevc) encoding, which does support 8k. It's not available from simple or advanced output mode in OBS, but from ffmpeg output mode.

First, in Settings->Video, set 7680x2160 as canvas and as output resolution (or 5120x1440 if you don't need the full resolution).
All your scenes are now doubled in width, so you can add one monitor as display capture source and place it on the left half, then add another display capture source with another monitor and place it on the right half of the preview.

For the nvenc hevc codec (to overcome the 4096 limit), go to Settings->Output, set Output mode to advanced and type to Custom output (ffmpeg).
I use these settings for hevc with quite nice results for desktop recordings:
1648208628234.png


To decrease file size, increase the cq=24 value. It can be increased up to 50 (which is all completely blurred).
You need a media player that is able to play back hevc content. For the Windows internal player, the codec has to be installed from the Windows store (sometimes comes pre-installed), or you can simply use one of the better players like VLC or Media Player Classic that come with it built in.
This will create *.mkv files. If you need *.mp4, you can either remux after the recording or record to mp4 in the first place by changing the container format from matroska to mp4. Changing from matroska to mp4 has the caveat that a video that cannot be finalized due to OBS or computer crash is completely broken and lost.

I told you previously to start OBS multiple times to record different scenes at the same time. If you actually do this, don't do configuration or scene changes while multiple instances are running, because a change might be overwritten by a different instance. Close all but one instance and do the change in the one remaining instance, and only after this start additional instances.
To be completely on the safe side, you need different installs of OBS to have different configurations. Additional instances of OBS can be installed in portable mode.

ps. I'm not Australian, sorry. I'm from Germany and feel koala is just a nice name with a nice association.
 

lutho

New Member
Hi All, making progress and Koala - thank you for your continued assistance. Feels like I am oh so close but no cigar yet. I configured screen 2 and 3 (both at 2k resolution as sources). With display 3 starting at 2560,0 (see image). Recording of both screens seems to work fine and seems to be working in the OBS console - albeit low CPU (< 1%). If anyone tries this, please note drivers need be current - initial attempts resulted in various encoder errors.

The output file produced is a 5120x1440 size but its content within that video file is actually a down-sized video of both screens. I have tried the rescale output to no avail but hope to avoid scaling if possible to save system resources.

(Koala - I will switch back to mkv once issue is resolved - your point re crash proofing is noted).

I have tried just about every setting available (all available Downscale Filters) - albeit I don't think they are relevant).

Thoughts?


2022-03-26_21-56-33.png


2022-03-26_21-55-44.png


2022-03-26_21-57-13.png



2022-03-26_22-00-34.png
 

Attachments

  • 2022-03-26_22-25-28.png
    2022-03-26_22-25-28.png
    20 KB · Views: 52

koala

Active Member
Increase the size of the 2 monitor sources in the OBS preview, so they occupy the whole preview - left monitor the whole left half, right monitor the whole right half. It seems you made the sources smaller and left black space around.
 

lutho

New Member
Hi Koala, somewhere along the line I lost my tick to scale to window and hence the effect. Sorry for being a muppet. Great solution - thanks a million. The rest is now about optimizing quality vs framerate etc - in the home straight.
 

Blackink

Member
If I am any help here lutho, make sure your sources are unlocked so you can adjust them to fit while trying to get this all set up. I had similar problems trying to get 2 1920x1080 monitors onto one OBS Scene. I use 4 monitors for my stock trading software, I have hot keys set up to switch to any monitor and I have 2 hot keys set up to switch to either the top 2 monitors (in one Scene) or the bottom 2 monitors (in one Scene).

One more thing - if you run OBS minimized and you want to be able to switch Scenes (monitors) with Hot keys in OBS while your trading software is running, you need to run OBS as Administrator.
Right click on the desktop OBS icon> Properties> Advanced> select Run as administrator. Click on OK, then Apply, then OK.

Good luck with your trading, we've had some good trading lately!!
 

lutho

New Member
If I am any help here lutho, make sure your sources are unlocked so you can adjust them to fit while trying to get this all set up. I had similar problems trying to get 2 1920x1080 monitors onto one OBS Scene. I use 4 monitors for my stock trading software, I have hot keys set up to switch to any monitor and I have 2 hot keys set up to switch to either the top 2 monitors (in one Scene) or the bottom 2 monitors (in one Scene).

One more thing - if you run OBS minimized and you want to be able to switch Scenes (monitors) with Hot keys in OBS while your trading software is running, you need to run OBS as Administrator.
Right click on the desktop OBS icon> Properties> Advanced> select Run as administrator. Click on OK, then Apply, then OK.

Good luck with your trading, we've had some good trading lately!!

Thanks Blackink - yes that was the issue - still new with OBS (used Camtasia before). I am pleasantly surprised how good OBS with the NVIDIA NVENC encoding actually & card actually is - the CPU barely touches 1% whilst recording.

I recently finished Mike Bellafiore's "One Good Trade" book and that inspired me to actually record the trading screens. My intention is to just extract the -5/+10 minutes around each trade for review and learning.
 

Blackink

Member
Thanks Blackink - yes that was the issue - still new with OBS (used Camtasia before). I am pleasantly surprised how good OBS with the NVIDIA NVENC encoding actually & card actually is - the CPU barely touches 1% whilst recording.

I recently finished Mike Bellafiore's "One Good Trade" book and that inspired me to actually record the trading screens. My intention is to just extract the -5/+10 minutes around each trade for review and learning.
One Good Trade is one good book!! I've read that one a couple of times.
I use ShotCut to edit my OBS videos, which as you have found out, OBS records quite nicely.
 

lutho

New Member
Thanks heaps - that is my next item on the to-do list! FWIW - i also signed up to a trial of TradeVue.com - used by SMB Capital. I bought the NT8 plug-in, so it is all in autopilot.
 

koala

Active Member
If you get increased income from videos created by OBS, consider a donation for the OBS project. After all, it's free software that depends on donations for its development.
 

iSauravKr

New Member
Hey all

In somewhat of a similar situation.
need to record 3 4k screens for trading purpose.

Planning to get 12900K for CPU.
Ram 32GB DDR5.

What is the minimum GPU that i should opt for to make sure i can record all 3 4k screens and maybe stream 1 screen also simultaneously without any issues?

Thanks in advance
 
Top