Question / Help Increase FPS with recording to HD.

I've got 5 camera's for our church service going into an OBS setup where I'm recording to my HD. The stream (local stream, not live stream) is set for 1080p.

Typically I have 2 or 3 camera's per scene.

Currently, when I record I'm getting about 16-17 FPS...much lower than I was hoping. I was hoping to get a solid 30.

The setup looks like this...
Win 7 Pro
Latest version of OBS
AMD FX 8350 Eight Core 4.00GH/Z CPU
8gb RAM
SSD for OS

I don't have the log file (its on the Church PC) but I'm hoping someone can suggest any tweaking I can do?

I think I'm encoding as I record, I would imagine this is what drops my FPS...is there a way to record un-encoded, then encode after the recording is done?

Greatly appreciate the advice.
 

Floatingthru

Community Helper
We would really need a log file to show what OBS is doing. OBS uses x264 to do real time rendering, and currently there are no other encoders which you can use. What GPU is in that rig? OBS also uses the GPU to do the scene composition among other nice little tweaks. Without knowing the settings or anything, though its hard to tell why the fps is lower than you set it to.

Just make sure you are using the latest version of OBS which is 0.60b have the scene buffering time in advanced set to 700 (at least), and have all the camera's as global sources. Other than that I am not sure what else I can throw out there. That CPU should be able to handle those settings at very fast encoding preset, but can't be 100% certain due to all those camera's also eating up some CPU as well.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Your capture devices seem to be eating up a lot of CPU. Perhaps you could go in to their settings and turn down their resolution if you're not setting them full screen?
 
Thanks.

Most of them are being used at 1080p...but I will turn them down to 720 and see how it likes it.

Good to know what I'm going in to adjust.

Do you see any other things that could be modified? Does the encoding settings look ok?
 
Ok. I went to 720p recording...but still no better. What I've noticed is when I start recording or previewing the stream, I get 30fps...then as I start moving between other scenes, thats when the FPS will drop. I'll be down to 15fps...and then even if I go back to the same scene I started with, I'm forever stuck at 15fps until I restart the recording.
Here is a log file from me starting it up, it records initially at 30fps, and then after switching back and forth between scenes, i'm stuck at 15fps...
Yes, I'm using global sources.
 
Here is the log file...
Code:
11:38:56: Open Broadcaster Software v0.612b - 64bit ( ^ω^)
11:38:56: -------------------------------
11:38:56: CPU Name: AMD FX(tm)-8350 Eight-Core Processor
11:38:56: CPU Speed: 4018MHz
11:38:56: Physical Memory:  8156MB Total, 6250MB Free
11:38:56: stepping id: 0, model 2, family 21, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 8, total cores 4
11:38:56: monitor 1: pos={0, 0}, size={1680, 1050}
11:38:56: monitor 2: pos={1680, 0}, size={1280, 720}
11:38:56: Windows Version: 6.1 Build 7601 S
11:38:56: Aero is Disabled
11:38:56: -------------------------------
11:38:56: OBS Modules:
11:38:56: Base Address     Module
11:38:56: 000000003FAE0000 OBS.exe
11:38:56: 00000000E9DA0000 OBSApi.dll
11:38:56: 00000000F99B0000 DShowPlugin.dll
11:38:56: 00000000F9980000 GraphicsCapture.dll
11:38:56: 00000000F9960000 NoiseGate.dll
11:38:56: 00000000F9940000 PSVPlugin.dll
11:38:56: ------------------------------------------
11:38:56: Adapter 1
11:38:56:   Video Adapter: AMD Radeon HD 7700 Series
11:38:56:   Video Adapter Dedicated Video Memory: 1055047680
11:38:56:   Video Adapter Shared System Memory: 4007989248
11:38:56:   Video Adapter Output 1: pos={0, 0}, size={1680, 1050}, attached=true
11:38:56:   Video Adapter Output 2: pos={1680, 0}, size={1280, 720}, attached=true
11:38:56: =====Stream Start: 2014-03-02, 11:38:56===============================================
11:38:56:   Multithreaded optimizations: On
11:38:56:   Base resolution: 1280x720
11:38:56:   Output resolution: 1280x720
11:38:56: ------------------------------------------
11:38:56: Loading up D3D10 on AMD Radeon HD 7700 Series (Adapter 1)...
11:38:56: ------------------------------------------
11:38:56: Audio Format: 48000hz
11:38:56: Playback device Default
11:38:56: ------------------------------------------
11:38:56: Using desktop audio input: Multichannel (M-Audio ProFire 2626)
11:38:57: ------------------------------------------
11:38:57: Using auxilary audio input: Multichannel (M-Audio ProFire 2626)
11:38:57: ------------------------------------------
11:38:57: Audio Encoding: AAC
11:38:57:     bitrate: 128
11:38:57: ------------------------------------------
11:38:57:     device: \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&5dc256b&0&0028#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340200021c},
11:38:57:     device id \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&5dc256b&0&0028#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340200021c},
11:38:57:     chosen type: YUY2, usingFourCC: false, res: 1024x768 - 1024x768, frameIntervals: 166833-333667
11:38:57:     use buffering: false - 0, fourCC: 'YUY2'
11:38:57:     audio device: Disable,
11:38:57:     audio device id Disabled,
11:38:57: 
11:38:57: Using directshow input
11:38:57: ------------------------------------------
11:38:57:     device: \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&2534e90f&0&0010#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021c},
11:38:57:     device id \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&2534e90f&0&0010#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340100021c},
11:38:57:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
11:38:57:     use buffering: false - 0, fourCC: 'YUY2'
11:38:57:     audio device: Disable,
11:38:57:     audio device id Disabled,
11:38:57: 
11:38:57: Using directshow input
11:38:57: Scene buffering time set to 700
11:38:57: ------------------------------------------
11:38:57: Video Encoding: x264
11:38:57:     fps: 30
11:38:57:     width: 1280, height: 720
11:38:57:     preset: veryfast
11:38:57:     profile: high
11:38:57:     keyint: 60
11:38:57:     CBR: yes
11:38:57:     CFR: yes
11:38:57:     max bitrate: 1000
11:38:57:     buffer size: 1000
11:38:57: ------------------------------------------
11:39:06: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11:39:06:   New Scene
11:39:07: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11:39:07:   New Scene
11:39:07: Using bitmap image
11:39:07: ------------------------------------------
11:39:07:     device: \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&22a3f64&0&0050#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340400021c},
11:39:07:     device id \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&22a3f64&0&0050#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340400021c},
11:39:07:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
11:39:07:     use buffering: false - 0, fourCC: 'YUY2'
11:39:07:     audio device: Disable,
11:39:07:     audio device id Disabled,
11:39:07: 
11:39:07: Using directshow input
11:39:08: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11:39:08:   New Scene
11:39:09: ------------------------------------------
11:39:09:     device: \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&4f13bb2&0&0030#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340300021c},
11:39:09:     device id \\?\pci#ven_1131&dev_7160&subsys_12abf501&rev_03#4&4f13bb2&0&0030#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{6f814be9-9af6-43cf-9249-c0340300021c},
11:39:09:     chosen type: YUY2, usingFourCC: false, res: 1920x1080 - 1920x1080, frameIntervals: 166833-333667
11:39:09:     use buffering: false - 0, fourCC: 'YUY2'
11:39:09:     audio device: Disable,
11:39:09:     audio device id Disabled,
11:39:09: 
11:39:09: Using directshow input
11:39:09: ------------------------------------------
11:39:09:     device: \\?\usb#vid_eb1a&pid_2820#5&104b4e52&0&1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{54353d15-e717-4d94-b574-685ce1a209e9},
11:39:09:     device id \\?\usb#vid_eb1a&pid_2820#5&104b4e52&0&1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{54353d15-e717-4d94-b574-685ce1a209e9},
11:39:09:     chosen type: YUY2, usingFourCC: false, res: 720x480 - 720x480, frameIntervals: 333667-333667
11:39:09:     use buffering: false - 0, fourCC: 'YUY2'
11:39:09:     audio device: Disable,
11:39:09:     audio device id Disabled,
11:39:09: 
11:39:09: Using directshow input
11:39:10: PERFORMANCE WARNING: Scene change took 1055 ms, maybe some sources should be global sources?
11:39:14: ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11:39:14:   New Scene
11:39:19: Total frames encoded: 635, total frames duplicated: 165 (25.98%)
11:39:19: Total frames rendered: 479, number of late frames: 137 (28.60%) (it's okay for some frames to be late)
11:39:20: 
11:39:20: Profiler time results:
11:39:20: 
11:39:20: ==============================================================
11:39:20: video thread frame - [100%] [avg time: 39.471 ms] [children: 92%] [unaccounted: 7.96%]
11:39:20: | scene->Preprocess - [91.7%] [avg time: 36.183 ms]
11:39:20: | GPU download and conversion - [0.372%] [avg time: 0.147 ms] [children: 0.334%] [unaccounted: 0.038%]
11:39:20: | | flush - [0.294%] [avg time: 0.116 ms]
11:39:20: | | CopyResource - [0.0279%] [avg time: 0.011 ms]
11:39:20: | | conversion to 4:2:0 - [0.0127%] [avg time: 0.005 ms]
11:39:20: Convert444Threads - [100%] [avg time: 0.814 ms] [children: 99.4%] [unaccounted: 0.614%]
11:39:20: | Convert444toNV12 - [99.4%] [avg time: 0.809 ms]
11:39:20: encoder thread frame - [100%] [avg time: 2.011 ms] [children: 0.0995%] [unaccounted: 99.9%]
11:39:20: | sending stuff out - [0.0995%] [avg time: 0.002 ms]
11:39:20: ==============================================================
11:39:20: 
11:39:20: 
11:39:20: Profiler CPU results:
11:39:20: 
11:39:20: ==============================================================
11:39:20: video thread frame - [cpu time: avg 36.248 ms, total 17362.9 ms] [avg calls per frame: 1]
11:39:20: | scene->Preprocess - [cpu time: avg 35.499 ms, total 17004.1 ms] [avg calls per frame: 1]
11:39:20: | GPU download and conversion - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
11:39:20: | | flush - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
11:39:20: | | CopyResource - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
11:39:20: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
11:39:20: Convert444Threads - [cpu time: avg 0.857 ms, total 780.004 ms] [avg calls per frame: 2]
11:39:20: | Convert444toNV12 - [cpu time: avg 0.84 ms, total 764.404 ms] [avg calls per frame: 2]
11:39:20: encoder thread frame - [cpu time: avg 1.371 ms, total 842.405 ms] [avg calls per frame: 1]
11:39:20: | sending stuff out - [cpu time: avg 0.025 ms, total 15.6 ms] [avg calls per frame: 1]
11:39:20: ==============================================================
11:39:20: 
11:39:20: =====Stream End: 2014-03-02, 11:39:20=================================================
Aero is disabled
Aero seems to be disabled, consider enabling it unless using monitor capture.

Slow sources detected
Some of your sources are taking a very long time to start or stop when changing scenes. If you use video devices such as a webcam, capture card, etc, add them as global sources to prevent this.

Late frames detected
28.60% of your frames are late. This means the frames are being generated later than they were needed, causing your stream FPS to drop. Late frames are often caused by slow sources such as monitor capture, slow video capture devices or by trying to run your stream at too high of a resolution / FPS.

If you are using a webcam, try to lower the resolution of it. If you are using monitor capture, try switching to game source or window capture. If you must use monitor capture, ensure Aero is disabled.

You can also try lowering the resolution or FPS of your stream if you have an older CPU.

Bad resolution / FPS / bitrate combination
The combination of settings you are using will likely lead to a low quality stream with artifacting and other problems. Consider either raising your bitrate or lowering your resolution / FPS (qval: 0.036)

4 issues found (3 major, 1 minor).
 
Analyzer run looks like this...

Aero is disabled
Aero seems to be disabled, consider enabling it unless using monitor capture.

Slow sources detected
Some of your sources are taking a very long time to start or stop when changing scenes. If you use video devices such as a webcam, capture card, etc, add them as global sources to prevent this.

Late frames detected
28.60% of your frames are late. This means the frames are being generated later than they were needed, causing your stream FPS to drop. Late frames are often caused by slow sources such as monitor capture, slow video capture devices or by trying to run your stream at too high of a resolution / FPS.

If you are using a webcam, try to lower the resolution of it. If you are using monitor capture, try switching to game source or window capture. If you must use monitor capture, ensure Aero is disabled.

You can also try lowering the resolution or FPS of your stream if you have an older CPU.

Bad resolution / FPS / bitrate combination
The combination of settings you are using will likely lead to a low quality stream with artifacting and other problems. Consider either raising your bitrate or lowering your resolution / FPS (qval: 0.036)

4 issues found (3 major, 1 minor).
 
I've got 6 video camera's going into 3 HDMI capture card, 1 DVI capture card, 1 svid capture card and 1 RCA capture card.

The only thing I can think of that might be an issues is the DVI capture card is using a transparency in OBS at 75%.

I'm running global sources for all.

If I stay on any one of my scenes (regardless of how many global sources per scene) I will get 30fps all day long.
As soon as I start going between scenes is when I drop and REMAIN at the 15fps until I restart recording or preview.

Needing advice please...
 
And finally, I'm running a good spec machine...

AMD FX 850 eight core at 4.00ghz, 8gb ram, win7 pro w/sp1.

...but I'm running an old school video card from 2011...AMD Radeon HD 7700.

Would more ram (16gb) and a newer video card help? I can't really see making much in the processor improvement as its pretty decent.

Looking for advice!
 

Krazy

Town drunk
Have you added all the cameras as global sources first and then added them to your scene? That could help with the scene change issue.

I do think a new GPU *might* help, but I can't honestly make a recommendation since I'm not sure.
 
Yes I did (add the sources as global). So I don't know why.

Can you decode any more from the error messages?

It will run 30fps all day...until I switch to other scenes. Its very weird.

By GPU, you mean graphics card, right?
 
Top