Streaming with Elgato encoding issue

iEfrideet

Prominent
Jul 10, 2017
5
0
510
I use an Elgato HD60 captture card to record/stream xbox games

I'm using OBS

When I stream PC games, i have consistently low CPU usage and consistent 30fps.

When I switch to my capture card, that changes.

When I had it plugged into USB 3.0 i would get 80% cpu usage and about 20fps fluctuating.
I switched to USB 2.0, and that dropped to about 40-50% cpu usage, but i still get 20fps fluctuating.

Output log with the "error":

20:08:28.024: Output 'adv_stream': Total encoded frames: 12157
20:08:28.024: Output 'adv_stream': Total drawn frames: 12159
20:08:28.024: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 2857 (23.5%)
20:08:28.025: Video stopped, number of skipped frames due to encoding lag: 1191/12306 (9.7%)


Given that this is an encoding issue, here are my available encoders

NVENC H.264
QuickSync H.264
x264

Currently using x264


PC Specs:
CPU: i5-4460 @ 3.2GHz
GPU: MSI GTX 960 4GB
RAM: 12GB, 11.7 Usable

Using 64bit windows 10.

Here's the full log, if you need it:

20:01:17.593: CPU Name: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
20:01:17.593: CPU Speed: 3200MHz
20:01:17.593: Physical Cores: 4, Logical Cores: 4
20:01:17.593: Physical Memory: 11978MB Total, 7003MB Free
20:01:17.593: Windows Version: 10.0 Build 14393 (revision: 1198; 64-bit)
20:01:17.593: Running as administrator: false
20:01:17.593: Aero is Enabled (Aero is always on for windows 8 and above)
20:01:17.594: Portable mode: false
20:01:17.612: OBS 19.0.3 (64bit, windows)
20:01:17.612: ---------------------------------
20:01:17.613: ---------------------------------
20:01:17.613: audio settings reset:
20:01:17.613: samples per sec: 44100
20:01:17.613: speakers: 2
20:01:17.613: ---------------------------------
20:01:17.613: Initializing D3D11...
20:01:17.613: Available Video Adapters:
20:01:17.614: Adapter 1: Intel(R) HD Graphics 4600
20:01:17.614: Dedicated VRAM: 117964800
20:01:17.614: Shared VRAM: 2147483648
20:01:17.614: output 1: pos={0, 0}, size={1920, 1080}, attached=true
20:01:17.614: Adapter 2: NVIDIA GeForce GTX 960
20:01:17.614: Dedicated VRAM: 4258988032
20:01:17.614: Shared VRAM: 1985400832
20:01:17.616: Loading up D3D11 on adapter Intel(R) HD Graphics 4600 (0)
20:01:17.621: D3D11 loaded successfully, feature level used: 45056
20:01:18.326: ---------------------------------
20:01:18.326: video settings reset:
20:01:18.326: base resolution: 1920x1080
20:01:18.326: output resolution: 1280x720
20:01:18.326: downscale filter: Bicubic
20:01:18.326: fps: 30/1
20:01:18.326: format: NV12
20:01:18.327: Audio monitoring device:
20:01:18.327: name: Default
20:01:18.327: id: default
20:01:18.327: ---------------------------------
20:01:18.329: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/chrome_elf.dll' not found, loading of module failed
20:01:18.330: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
20:01:18.331: [AMF] Encountered Exception during AMF initialization: Unable to load 'amfrt64.dll', error code 126.
20:01:18.331: Failed to initialize module 'enc-amf.dll'
20:01:18.338: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libcef.dll' not found, loading of module failed
20:01:18.339: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libEGL.dll' not found, loading of module failed
20:01:18.340: Required module function 'obs_module_load' in module '../../obs-plugins/64bit/libGLESv2.dll' not found, loading of module failed
20:01:18.341: Failed to load 'en-US' text for module: 'obs-browser.dll'
20:01:18.341: [browser_source: 'Version: 1.29.0']
20:01:18.344: NVENC supported
20:01:18.354: Couldn't find VLC installation, VLC video source disabled
20:01:18.357: No blackmagic support
20:01:18.549: ---------------------------------
20:01:18.549: Loaded Modules:
20:01:18.549: win-wasapi.dll
20:01:18.549: win-mf.dll
20:01:18.549: win-ivcam.dll
20:01:18.549: win-dshow.dll
20:01:18.549: win-decklink.dll
20:01:18.549: win-capture.dll
20:01:18.549: vlc-video.dll
20:01:18.549: text-freetype2.dll
20:01:18.549: rtmp-services.dll
20:01:18.549: obs-x264.dll
20:01:18.549: obs-vst.dll
20:01:18.549: obs-transitions.dll
20:01:18.549: obs-text.dll
20:01:18.549: obs-qsv11.dll
20:01:18.549: obs-outputs.dll
20:01:18.549: obs-filters.dll
20:01:18.549: obs-ffmpeg.dll
20:01:18.549: obs-browser.dll
20:01:18.549: image-source.dll
20:01:18.549: frontend-tools.dll
20:01:18.549: enc-amf.dll
20:01:18.549: coreaudio-encoder.dll
20:01:18.549: ==== Startup complete ===============================================
20:01:18.551: All scene data cleared
20:01:18.551: ------------------------------------------------
20:01:18.574: WASAPI: Device 'Headset Earphone (3- ASTRO MixAmp Pro )' initialized
20:01:18.587: WASAPI: Device 'Microphone (Blue Snowball)' initialized
20:01:18.604: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds
20:01:18.872: Switched to scene 'XboxGameplay'
20:01:18.872: ------------------------------------------------
20:01:18.872: Loaded scenes:
20:01:18.872: - scene 'ScreenCap':
20:01:18.872: - source: 'ASUS Monitor' (monitor_capture)
20:01:18.872: - source: 'Overlay' (image_source)
20:01:18.872: - scene 'XboxGameplay':
20:01:18.872: - source: 'Elgato Capture Card' (dshow_input)
20:01:18.872: - source: 'Base Overlay' (image_source)
20:01:18.872: - source: 'Recent Follower' (text_gdiplus)
20:01:18.872: - source: 'Webcam' (dshow_input)
20:01:18.872: - source: 'Webcam Overlay' (image_source)
20:01:18.872: - scene 'XboxGameplay, No Webcam':
20:01:18.872: - source: 'Elgato Capture Card' (dshow_input)
20:01:18.872: - source: 'Base Overlay' (image_source)
20:01:18.872: - source: 'Recent Follower' (text_gdiplus)
20:01:18.872: - scene 'PCGameplay':
20:01:18.872: - source: 'Game Capture' (game_capture)
20:01:18.872: - source: 'Base Overlay' (image_source)
20:01:18.872: - source: 'Recent Follower' (text_gdiplus)
20:01:18.872: - source: 'Webcam' (dshow_input)
20:01:18.872: - source: 'Webcam Overlay' (image_source)
20:01:18.872: ------------------------------------------------
20:01:19.249: ---------------------------------
20:01:19.249: [DShow Device: 'Webcam'] settings updated:
20:01:19.249: video device: Logitech HD Webcam C270
20:01:19.249: video path: \\?\usb#vid_046d&pid_0825&mi_00#6&37e8e0a8&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083}
20:01:19.249: resolution: 640x480
20:01:19.249: fps: 30.00 (interval: 333333)
20:01:19.249: format: I420
20:01:20.558: User switched to scene 'XboxGameplay, No Webcam'
20:01:22.073: ---------------------------------
20:01:22.073: [DShow Device: 'Elgato Capture Card'] settings updated:
20:01:22.073: video device: Elgato Game Capture HD
20:01:22.073: video path: __elgato
20:01:22.073: resolution: 1920x1080
20:01:22.073: fps: 60.00 (interval: 166666)
20:01:22.073: format: UYVY
20:01:22.073: using video device audio: yes
20:01:22.073: sample rate: 48000
20:01:22.073: channels: 2
20:01:22.073: audio type: Capture
20:01:24.655: User switched to scene 'XboxGameplay'
20:01:25.539: User switched to scene 'XboxGameplay, No Webcam'
20:01:27.120: User switched to scene 'XboxGameplay'
20:01:27.693: User switched to scene 'XboxGameplay, No Webcam'
20:01:28.164: User switched to scene 'XboxGameplay'
20:01:29.845: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
20:01:30.981: User switched to scene 'XboxGameplay, No Webcam'
20:01:34.329: User switched to scene 'XboxGameplay'
20:01:36.312: User switched to scene 'XboxGameplay, No Webcam'
20:01:37.724: ---------------------------------
20:01:37.725: [x264 encoder: 'streaming_h264'] preset: ultrafast
20:01:37.725: [x264 encoder: 'streaming_h264'] settings:
20:01:37.725: rate_control: CBR
20:01:37.725: bitrate: 3500
20:01:37.725: buffer size: 3500
20:01:37.725: crf: 0
20:01:37.725: fps_num: 30
20:01:37.725: fps_den: 1
20:01:37.725: width: 1280
20:01:37.725: height: 720
20:01:37.725: keyint: 60
20:01:37.725: vfr: off
20:01:37.725:
20:01:37.725: [x264 encoder: 'streaming_h264'] custom settings: scenecut=0
20:01:37.739: [Media Foundation AAC: 'STREAM']: encoder created
20:01:37.739: bitrate: 160
20:01:37.739: channels: 2
20:01:37.739: sample rate: 44100
20:01:37.739: bits-per-sample: 16
20:01:37.739:
20:01:37.739: Output 'adv_stream': 5 second delay active, preserve on disconnect is on
20:01:42.741: [rtmp stream: 'adv_stream'] Connecting to RTMP URL rtmp://live-ord.twitch.tv/app...
20:01:42.845: [rtmp stream: 'adv_stream'] Interface: Realtek PCIe GBE Family Controller (ethernet, 1000 mbps)
20:01:43.981: [rtmp stream: 'adv_stream'] Connection to rtmp://live-ord.twitch.tv/app successful
20:01:43.981: ==== Streaming Start ===============================================
20:02:29.072: adding 23 milliseconds of audio buffering, total audio buffering is now 69 milliseconds
20:03:27.702: Settings changed (advanced)
20:03:27.702: ------------------------------------------------
20:03:42.445: adding 23 milliseconds of audio buffering, total audio buffering is now 92 milliseconds
20:08:28.024: Output 'adv_stream': stopping
20:08:28.024: Output 'adv_stream': Total encoded frames: 12157
20:08:28.024: Output 'adv_stream': Total drawn frames: 12159
20:08:28.024: Output 'adv_stream': Number of lagged frames due to rendering lag/stalls: 2857 (23.5%)
20:08:28.025: Video stopped, number of skipped frames due to encoding lag: 1191/12306 (9.7%)
20:08:28.028: ==== Streaming Stop ================================================
20:08:28.028: [rtmp stream: 'adv_stream'] User stopped the stream
20:08:28.041: ==== Streaming Stop ================================================
 


I use OBS and use the Video Capture Device
 
so you use OBS directly with the device. Ok.
check your encoder speed and make sure it's not set to any of the slow options. setting it to normal/fast should be fine. if it's already on those settings change it to a faster option. check to make sure that your encoding settings aren't ridiculous for bitrate. depending on your internet connection the default 1500 is kind of the minimum standard for ok quality. in case you didn't already know the bitrate for streaming reflects your upload speed. so if your upload speed is like 5mbps then you can set your streaming bitrate to 5000. I would recommend a setting a step lower than your upload speed to maintain consistency so if your upload is 5 set it to 4 (4000) do a speedtest to determine your current upload rate (rounding down to the nearest whole number) www.beta.speedtest.net
 


I have a 7-8mbps upload speed, and I use 3500 as my bitrate for twitch. I use CBR for rate control, and my CPU Usage preset is on ultrafast.

I'm not sure which preset I should be using.