Question / Help Dual xeon dedicated stream pc issues

kllswitch

New Member
Hi everyone i just built a new dedicated stream pc and im having 2 issues with it.

The first issue is that after about 2 hours of streaming the stream will start to pause for about a second every couple of seconds a restart of obs fixes the issue.

The second issue is that i will get a high encoding warning but when i look at cpu usage during the stream the usage is never more then 20% on one cpu and the second cpu doesn't even really seem to get used at all.

I have added the last 3 logs so any help would be appreciated.
 

Attachments

  • 2017-01-22 23-18-54.txt
    15.5 KB · Views: 125
  • 2017-01-23 01-05-15.txt
    19 KB · Views: 40
  • 2017-01-23 02-40-01.txt
    11 KB · Views: 33

Fenrir

Forum Admin
In the first log, you're getting a small amount of skipped frames, which is not surprising given that you're encoding at slow. Any reason you're going that low, outside having the CPU to handle it? You hit very significant diminishing returns once you get to medium. If CPU usage isn't spiking, it might be the capture card causing problems. Elgatos are notorious, especially the USB2 ones (which is looks like you have?).

In the second log:

Code:
01:22:45.895: Output 'adv_stream': Number of dropped frames due to insufficient bandwidth/connection stalls: 1363 (2.2%)
01:22:45.895: Output 'adv_stream': Reconnecting in 10 seconds..
01:22:45.895: [rtmp stream: 'adv_stream'] Freeing 1755 remaining packets
01:22:55.896: [rtmp stream: 'adv_stream'] Connecting to RTMP URL rtmp://live.twitch.tv/app...
01:22:55.897: Could not resolve live.twitch.tv: No such host is known. (11001)

It looks like you start dropping frames, and the the connection drops altogether. This is not something happening within OBS, but rather your network/internet. Given the circumstances and your hardware, I'd be quicker to blame Elgato, or a connection issue more than anything else.
 

kllswitch

New Member
thanks for the quick reply Fenrir and the reason for slow was just because i had the power too i guess i wanted to see what these cpus could handle haha. The elgato card i have is the PCI version they have the HD60 PRO. also the reason the skipped frames i think was from when my internet dropped out last night,
 

Fenrir

Forum Admin
Ah, if you're using the HD60 Pro, I recommend grabbing their 3PS/directshow drivers and uninstalling the default ones.
 

Rodney

Forum Moderator
Skipped frames occur when the encoder can't keep up, not your connection.

It might also be worth mentioning that x264 isn't exactly great at utilizing a lot of threads and usually not able to use a second CPU at all (there is some discussion about this online, apparently you can force it to, or disable NUMA, but I'm not sure about the results). An overclocked 6950X would almost certainly have better results. I have seen people using "Slower" with that CPU though I'm not sure what the resolution was.
 

kllswitch

New Member
i am using the default ones. care to link the ones your speaking of? also any ideas to why is will start to stutter after and hour or 2 of uptime?
 

kllswitch

New Member
Skipped frames occur when the encoder can't keep up, not your connection.

It might also be worth mentioning that x264 isn't exactly great at utilizing a lot of threads and usually not able to use a second CPU at all (there is some discussion about this online, apparently you can force it to, or disable NUMA, but I'm not sure about the results). An overclocked 6950X would almost certainly have better results. I have seen people using "Slower" with that CPU though I'm not sure what the resolution was.
thanks for the info. Yes it seems that the dual setup was a tad of a waste at least at 720p res.
 

Fenrir

Forum Admin
Also, out of curiosity, what CPU model are you using? OBS doesn't seem to be reporting it correctly.
 

c3r1c3

Member
Just for the record, it doesn't matter how many cores you have, if a core is too slow to finish the task assigned it within the allotted time.

For realtime stuff (like streaming video, i.e. you need to get a frame out every 33ms or 16.67ms) running a slow CPU (even though it has a ton of cores) doesn't work because a task can only be broken down to something so granular. So a core has to be able to finish the task assigned it within the allotted time, or else you get issues.

Also /lib-x264 doesn't really support more then 16-threads for encoding, if I recall correctly...so a bunch of extra cores are likely sitting idle. (This in part leads to the "only 20% CPU usage but the system isn't keeping up" issues that some -including myself- have had to deal with).

Lots-of-slow-cores CPUs are awesome for offline/non-realtime rendering, but for realtime stuff, you're usually better going with fewer faster cores.
 

sam686

Member
x264 common.h source code have the following:
#define X264_THREAD_MAX 128

But, too many threads in constant bitrate mode for live streaming will worsen the quality. Too many threads often fails to make full use of all CPU power.

If your CPU have too many cores, can try putting in custom setting threads=16 or less. Check the quality of stream before and after making this change.

Each CPU have their own memory cache. In dual CPU, threads mostly stay in one CPU so the fast memory cache can stay on one CPU.
 
Top