How to improve frame rates

Hi guys, I've been using OBS for live streaming tutorials and for one-to-one teaching/tutoring for bout 6 months now and I've gotten a lot better and my show quality has improved. OBS has been great, a powerful tool and I'm enjoying learning it.

Looking over recordings I really want to start to improve some quality in certain areas now I've got a grip on the basics.

First, frame rates. I cannot get near my requested maximum of 24fps. I can only get about 16fps max, but mostly hover around 10fps and sometimes as low as 6fps. This is for both recorded and streamed video. This is dreadful, obviously. I messed around with a few options in the Output Settings without really knowing what I was doing. None of the items I changed made any difference to the frame rate (Encoder, rate control, CPU usage, profile).

Secondly, latency. The audio seems to stream immediately while the video lags behind about 6-7 frames. When I edit the video for repurpose I have to shift the audio track 6-7 frames forward to sync with the video. I would like to know if its possible to correct this for the live stream.

I stream primarily to Facebook Live but also to YouTube on occasion. I took a quick look to see if there is anywhere to control the quality of the stream at their end but once I found the latency is originating on my end I didnt look any further.

Heres the log file for my tests this morning ... https://obsproject.com/logs/d-enzTiV7HEL75MA

my system is:
MacPro 3,1 2008 2.8 GHz 8-Core Xeon
MacOSX 10.11.6 El Capitan
32 GB 800 MHz DDR2 RAM
NVIDIA GeForce GTX 760 2GB
USB3 SSD Recording Drive
Ethernet network to AT&T fiber 230Mbs down 180 Mbs up

Thanks for any help
 

Attachments

  • Screen Shot 2020-07-20 at 1.19.04 PM.png
    Screen Shot 2020-07-20 at 1.19.04 PM.png
    123.5 KB · Views: 1,150
  • Screen Shot 2020-07-20 at 1.19.09 PM.png
    Screen Shot 2020-07-20 at 1.19.09 PM.png
    101 KB · Views: 1,153
  • Screen Shot 2020-07-20 at 12.56.11 PM.png
    Screen Shot 2020-07-20 at 12.56.11 PM.png
    215.8 KB · Views: 988

m.scott644

New Member
What cameras are you running? I'm confused why it seems you have a dynamic fps which isn't really a thing, unless you're dropping frames which would have more to do with your internet. 29.97 is considered standard for a live stream and 60fps is considered standard for gaming. 23.98 or the 24fps you're trying to get is typically what is used for films. You're audio issues are most likely due to this slow fps as well.
 
Hey, thanks. I'm running a Canon Vixia R600 into a HDMI to USB3 capture device, and a Panasonic DVX80 direct into the Mac via Firewire.

The Canon is HD and set to 30fps. The Panny is SD and only shoots 29.97

The 29.97 is old NTSC format, I'm not sure its considered standard anything these days. I definitely have not heard reference to it in regards to live stream. I see 30fps more commonly, and 60fps for gaming as you say.

24fps is indeed what old film cameras run at, and 23.98 is the drop-frame 2:3 pull-down video conversion thereof.

Computer systems are not really beholden to any particular format. I've used 15fps for merchandising POS, 18fps for large format displays etc etc. NTSC, HD, et al have frame rates as part of their technical specification. So that all NTSC cameras and monitors expect and receive 29.97fps. Computers don't.

I stand to be corrected - by anyone who can unequivocally prove to be the case - but video streams of this nature should be able to run at any frame rate. Why else would OBS have the option to run ingeger or fractional frame rates.

No, my problem is somewhere in my system that is having a hard time rendering the stream to video picture. Nothing to do with internet; my hard drive recordings are not connected to a network.

This section of the log is what looks to be the problem but I cannot figure out why. It seems 65% of my frames are lost to render lag!! yikes

11:48:48.249: [ffmpeg muxer: 'adv_file_output'] Output of file '/Volumes/Media/Capture Scratch/Game Capture HD Library/2020-07-17 10-56-00.mkv' stopped
11:48:48.249: Output 'adv_file_output': stopping
11:48:48.249: Output 'adv_file_output': Total frames output: 94916
11:48:48.249: Output 'adv_file_output': Total drawn frames: 33216 (95012 attempted)
11:48:48.249: Output 'adv_file_output': Number of lagged frames due to rendering lag/stalls: 61796 (65.0%)
11:48:48.275: ==== Recording Stop ================================================
11:48:48.314: [rtmp stream: 'adv_stream'] User stopped the stream
11:48:48.314: Output 'adv_stream': stopping
11:48:48.314: Output 'adv_stream': Total frames output: 94916
11:48:48.314: Output 'adv_stream': Total drawn frames: 33234 (95036 attempted)
11:48:48.314: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 61802 (65.0%)
11:48:48.319: Video stopped, number of skipped frames due to encoding lag: 42850/94960 (45.1%)
 

m.scott644

New Member
Definitely can tell you've also worked in the film industry, so you get it. I'm just trying to understand why your frame rate is going from 10fps to 6fps while shooting, and that's happening by itself? It's true that obs can take any frame rate in theory, but I'm not sure how tested it has been with the lower frame rates? And sorry is that Panasonic running into a capture card as well? Does the Panasonic have an SDI out and no hdmi? I take it your dropping frames from either your capture card then or the Panasonic. I would record on the Panasonic and then see how that file turns out. The more you can isolate and test individual components, the more likely you'll find the problem. I don't think this is an issue with obs. Make sure in your video settings within obs, however, that you're at your desired frame rate (as I'm sure you've already done). Also any reason you're using CBF instead of CBR?
 
Last edited:
Hey M Scott. Well, corporate video actually, never lucky enough to work in film. But I do understand cameras and such to a fairly good degree. No the Panasonic is an old DV camera, goes Firewire straight into the Mac. And the dropped frames are not camera specific. I have a scene with just an image in it and its the same, no improvement. The lag is purely on recording (rendering). No frames are dropped with the stream (when streaming, these tests have all been recording only). CBF was just one of the settings I was trying this morning. Went through them all, one at a time, record same clip, review. The log just happened to be from that one test.

Spent the day reading up on render lag and CPU/GPU overload. My head is spinning. I've read every thread on the subject and followed the (often same) instructions. nothing makes any difference. CPU usage is at 20% but frame rate is at 10fps.

My machine must be deficient somewhere. Probably not OBS.

I've changed every setting relating to frame rate, bitrate, resolution.....nothing makes any difference. I'm baffled. If anyone has any software/hardware suggestions I cannot up my game with these laggy streams.

Cheers
 

m.scott644

New Member
So the other thing I noticed is you're running on an old MacOS, and you probably have the latest version of OBS. You might want to consider updating your computer, but I know it's always scary on an older mac, and how it will adopt the new operating system. Hope it works out!
 
yes I'm on El Capitan as that is the latest OS my Mac will support. I've been looking at a CPU upgrade (but that wont happen until this damn virus ends and I can get back to work). I'm not on the latest version of OBS, I'm running 23.2.1

Here's the thing though. I'm CONVINCED this issue is an OBS problem. Yesterday I ran a test, capturing video from various sources with various software to verify my systems video capture capability.

I captured video from my cameras with Adobe Premier, Davinci Resolve and QuickTime, captured audio from my Lexicon audio card, recorded my full screen desktop with Screenium. Every one of those recordings was crisp, smooth, no dropped frames, no 'render lag'.

But that only tested the ability to capture one source at a time. Obviously in OBS I'm trying to do 3 things at once. So I set up Premier, QuickTime, and Screenium to record to SEPARATE files at the same time. Flawless. No dropped frames, no hiccups.

This confirms my suspicion that my system is just fine, despite its age. I'm a video editor and animator by trade so I'm handling big files, rendering, playing back, etc all the time. I know my system is old but it still performs. No, the problem is with OBS. I'm convinced.

I cant complain though, its free, its open source, built by the community not some large corporation of developers. And the Mac version is probably an afterthought, a port of Windows or Linux software. I doubt OBS was built with Mac in mind. And software that gets ported to Mac is rarely as robust as its sister platforms. Just how it it as far as Ive seen.

So what I'd like to know is what other Mac OBS users are experiencing. What are they doing with OBS, on what system. And what paid commercial alternatives are recommended. Its not surprising there is only one respondant to this thread; I assume the majority of OBS users are on PC

Cheers
 
Okay Mac OBS users, I am happy to report a successful resolution to this problem. I dont know whether this is an issue on the PC side, but here in Mac land - at least for older Macs perhaps - my testing and research has found the following:

DO NOT USE STUDIO MODE

Yep, thats all it took to double my frame rate from a MAX of 15fps to the full unwavering 30fps. Same content. Same sources. I created new profiles, new scenes, new everything and started again from a blank slate. Not until I switched from studio mode did I see frame rates increase. Easy as that. 2 video camera feeds, 2 audio sources, graphics and a screen capture. All at once without hiccup. So I repeat, if you are having frame rate problems on Mac, try switching away from studio mode (even multi window mode slows things down) and use hotkeys.

Hope this helps someone in the future
 
Top