Question / Help Can't stream AND record at the same time.

I've installed OBS on Debian using the vivid PPA (trusty and utopic packages were missing dependencies).

Streaming to twitch works great. I'd like to send up better quality, but I have a high resolution and not enough upstream bandwidth and neither of those are the fault of OBS. I'm very happy with it.

However, because I can't stream at the quality I'd like, the VODs that twitch saves are not what I want to upload to youtube. Rather I'd like to stream to twitch and record at the same time.

The recording settings were easy enough to figure out, and I was able to get a few high quality test recordings. The FPS was lower than I'd like, but they were much nicer that what I was streaming.

The problem occurs when I try to stream and record at the same time. I have the extra CPU cycles (multi-core FTW), but I get segfaults when I attempt to stream AND record at the same time. It doesn't matter which I start first, when I start the other, I get a segmentation fault.

I'm going to pastebin the logs (attaching wasn't working and they are too long to be inline), but they don't seem to generate a crash dump.

Thanks for any help you can provide. If you need more details about the runtime environment or I can collect any more logs, please let me know.

Start streaming, then recording: http://pastebin.com/UT7ueSP5

Start recording, then start streaming: http://pastebin.com/En49s4Gu
 

Attachments

  • 2016-04-04 20-31-33.txt
    8.9 KB · Views: 39
  • 2016-04-04 20-33-04.txt
    8.7 KB · Views: 19
  • 2016-04-04 20-31-33.txt
    8.9 KB · Views: 19

c3r1c3

Member
You are crashing because your CPU can't handle those settings. No 4-core system (and yes, that Opteron is eq. to a 4-core Intel) can handle 2560x1600@60fps.

Given the weakness of your CPU, you're gonna need to lower your recording and/or streaming resolution down a ton. Try 1280x720@30fps, or if you need 60fps, try 960x540 (or the closest to that) @60fps.

Please note that even if you have 2 Opteron CPUs, your system (in general) isn't as fast as a SINGLE Intel Xeon E3-1230v2 CPU: https://www.cpubenchmark.net/cpu.php?cpu=AMD+Opteron+6308&id=2462&cpuCount=2

Also notice how far down on this list the AMD CPUs are (and this in regards to compressing video ONLY on a system, i.e. not doing anything else): http://www.anandtech.com/bench/CPU/1052

This is not to bash AMD, but point out that even with 2 CPUs x 4 Modules x 2 AMD cores, you are NOT going to get 2*2560x1600@60fps streams from those CPUs.
 
yes, that Opteron is eq. to a 4-core Intel

No, Intel is the CPU manufacturer that exposes a single hyperthreaded core as multiple cores to Linux.

That said, I can't argue with any of the rest of the post. It's been a while since I upgraded my processors and I've always preferred Opterons because I refuse to use non-ECC memory, their architecture has advantages for applications that will use it, and they actually give me better performance / $ for compile jobs.

Still, I've never done much video work in the past, and it may be well time for me to get an upgrade with greater consideration to video encoding. Your links will be helpful in guiding any upgrade I choose to pursue.

I'm also going to fo down to 30 FPS and reduce the "Output Resolution" until I can get streaming and recording to work and report back if I can find a setting a alleviates the problem.

Thanks for the reply!
 
Hmm. After further investigation, I'm not sure this is a CPU exhaustion issue.

When OBS is "Idle" (no streaming or recording), it takes about 15% CPU. When OBS is just recording, it takes about 20% CPU. When OBS is just streaming, it takes about 35% CPU. When I try to both, it nearly instantly segfaults; it does not get even a single core to 100% before doing so.

I've tried the smallest output resolution and FPS that OBS provides: 852x532@10FPS with the fastest downscale filter. Even with those settings in place streaming and recording causes a segfault. (But doing either alone is fine.)

OBS does not allow me to select a smaller base resolution. Though, I could try using a different desktop resolution before starting OBS, if you think that might help. Let me know.
 

c3r1c3

Member
Thank you for sharing. That's excellent info.

Have you tried upgrading to the latest OBS release?

Also what GPU do you have? And what drivers do you have installed for it?

Lastly, what's the overall CPU usage when running OBS?
 
GPU + driver.
Code:
[    24.062] (--) RADEON(G0): Chipset: "TAHITI" (ChipID = 0x679b)

Code:
xserver-xorg-video-radeon:
  Installed: 1:7.5.0-1
  Candidate: 1:7.5.0-1
  Version table:
     1:7.6.1-1+b1 0
        700 http://127.0.0.1:9999/debian/ stretch/main amd64 Packages
        500 http://127.0.0.1:9999/debian/ sid/main amd64 Packages
*** 1:7.5.0-1 0
        900 http://127.0.0.1:9999/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status

I actually get better Minecraft framerates with this driver than with FireGL. That's one of the reasons I switched to it. I was running FireGL for quite a while.

I did recently upgrade to a 4.4 kernel (from jessie-backports) to address a bug with the "B0" (or "BO") window size; in kernels before 3.17 it was too small for some texture packs to load.

I should update the the latest OBS release, but I'll have to compile from source. The "witty" and "trusty" packages on the PPA aren't compatible with Jessie or Stretch (I run Debian). I might building from source this weekend; I would like to be on the latest OBS. I will certainly report back if a HEAD/master build from OBS still crashes.

CPU usage of "just" OBS is in my previous reply. Stream+Record or Record+Stream crashes, even if all I have is OBS and it's just doing full-screen and desktop audio capture.

When I'm actually playing Minecraft at the same time, CPU usage is probably much higher; Minecraft tends to swamp 100% of one CPU, and touch few of the others.

HTH. Thanks for your reply.
 

BeachCrew

New Member
I know I'm restarting an old thread.. but i found out a work around for when the second instance of OBS is showing blank screens.. change the source of the second instance cam and game captures to window captures.. It worked great for me!
 
Top