Question / Help OBS audio looping every 10 seconds

Gaida1TV

New Member
I have seen several threads about this, but non were either a answered or they had another issue.

So I am using obs to stream to twitch. I have my Webcam scene mic disabled, I am using a headset so it isn't hearing itself from there (and I'm muting the mic before any sound comes through). No matter what settings or what I do, I keep getting this audio loop.

Again it loops around every 10 seconds and it gets quieter each time. There is no way that it is hearing itself because I am turning all mics off before the audio comes through twitch.

Thank you for your help!
 
Already checked that. Had a friend watching and it did the same thing. Also, the Webcam audio is already disabled. Any other advise?
 
99.999% of the time, this problem is caused by the person having a browser tab open on their system, playing their own stream un-muted. Including the Twitch dashboard, which sometimes doesn't mute the 'preview' player even if you collapse it.
I have yet to encounter the 0.001% where it was caused by anything else, ever.

The telling factor is the 10-second delay, and reducing volume. Because each time it comes through, it's attenuated down by the volume the stream player is set at, and it takes between 10-15 seconds most times for all of the back-end processing to be done and the stream to be replicated out on Twitch's end, downloaded, and played back. Where OBS picks it up through the Desktop audio channel, and the loop starts again.
If it was shorter, it might be a webcam device or secondary audio input. But that specific delay is a smoking gun for this problem.

Want to test? Mute your Desktop channel, and say something on the mic. You'll probably hear it again in 10 seconds, but it won't loop because OBS isn't listening to what's coming through on the speakers.
 
Ok Osiris, I will look into adding them when I get back to my computer.

@FerretBom It does seem so much like it is hearing itself. But, and what is confusing is, my friend was watching the show in a completely different location and could hear the echo as well (and I had all browsers closed). Also, all sound is coming through my headset, and when I'm testing it, I'm muting mic so that by the time the sounds comes through, my mic has been muted so it shouldn't be able to hear it through there. For a while I thought it was the webcam, but I have muted it in every way.

And, I apologize if I sounds foolish, but how do you mute your desktop channel? Is there a setting in OBS for this or are you saying in the browser on my channel to mute it?
 
Here is my log file.

Code:
01:45:17: CLR host plugin strings not found, dynamically loading 4 strings
01:45:17: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
01:45:17: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
01:45:17: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
01:45:17: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
01:45:18: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
01:45:18: CLRHost::LoadPlugins() attempting to load the plugin assembly CLRBrowserSourcePlugin
01:45:18: CLRHost:: Could not find/load browser settings at location C:\Users\shane_000\AppData\Roaming\OBS\pluginData\browser.json
01:45:18: CLRHost:: Exception: System.IO.FileNotFoundException: Could not find file 'C:\Users\shane_000\AppData\Roaming\OBS\pluginData\browser.json'.
01:45:18: File name: 'C:\Users\shane_000\AppData\Roaming\OBS\pluginData\browser.json'
01:45:18:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
01:45:18:    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
01:45:18:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
01:45:18:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
01:45:18:    at CLRBrowserSourcePlugin.Shared.BrowserSettings.Reload()
01:45:19: CLRHost::LoadPlugins() successfully added CLR plugin [Type: CLRBrowserSourcePlugin.CLRBrowserSourcePlugin, Name: CLR Browser Source Plugin]
01:45:19: Video Source Plugin strings not found, dynamically loading 52 strings
02:04:50: No Intel graphics adapter visible in QSVHelper.exe, Optimus problem?
02:04:50: Failed loading CUDA dll
02:10:11: Open Broadcaster Software v0.651b - 64bit ( ^ω^)
02:10:11: -------------------------------
02:10:11: CPU Name: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
02:10:11: CPU Speed: 3500MHz
02:10:11: Physical Memory:  16322MB Total, 13133MB Free
02:10:11: stepping id: 3, model 60, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
02:10:11: monitor 1: pos={0, 0}, size={1920, 1080}
02:10:11: Windows Version: 6.2 Build 9200
02:10:11: Aero is Enabled
02:10:11: -------------------------------
02:10:11: OBS Modules:
02:10:11: Base Address     Module
02:10:11: 00000000CC620000 OBS.exe
02:10:11: 0000000089F50000 OBSApi.dll
02:10:11: 00000000997E0000 CLRHostPlugin.dll
02:10:11: 00000000944B0000 DShowPlugin.dll
02:10:11: 0000000091190000 GraphicsCapture.dll
02:10:11: 0000000091160000 NoiseGate.dll
02:10:11: 0000000090190000 PSVPlugin.dll
02:10:11: 0000000090160000 scenesw.dll
02:10:11: 000000009AD50000 VideoSourcePluginWrapper.dll
02:10:11: ------------------------------------------
02:10:11: Adapter 1
02:10:11:   Video Adapter: AMD Radeon HD 6900 Series
02:10:11:   Video Adapter Dedicated Video Memory: 2126168064
02:10:11:   Video Adapter Shared System Memory: 4026531840
02:10:11:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
02:10:11: =====Stream Start: 2015-06-02, 02:10:11===============================================
02:10:11:   Multithreaded optimizations: On
02:10:11:   Base resolution: 1920x1080
02:10:11:   Output resolution: 1920x1080
02:10:11: ------------------------------------------
02:10:11: Loading up D3D10 on AMD Radeon HD 6900 Series (Adapter 1)...
02:10:11: ------------------------------------------
02:10:11: Audio Format: 44100 Hz
02:10:11: ------------------------------------------
02:10:11: Audio Channels: 2 Ch
02:10:11: Playback device {0.0.0.00000000}.{08be86c5-bf2a-4a0d-a009-a2d2ede68c67}
02:10:11: ------------------------------------------
02:10:11: Using desktop audio input: Speakers (3- Logitech G35 Headset)
02:10:11: Global Audio time adjust: 1000
02:10:11: Using 7.1 surround speaker setup
02:10:11: ------------------------------------------
02:10:11: Using auxilary audio input: Microphone (3- Logitech G35 Headset)
02:10:11: Mic time offset: 400
02:10:11: ------------------------------------------
02:10:11: Audio Encoding: AAC
02:10:11:     bitrate: 192
02:10:12: Using graphics capture
02:10:12: ------------------------------------------
02:10:12:     device: Logitech HD Pro Webcam C910,
02:10:12:     device id \\?\usb#vid_046d&pid_0821&mi_02#6&22b683c2&0&0002#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{bbefb6c7-2fc4-4139-bb8b-a58bba724083},
02:10:12:     chosen type: I420, usingFourCC: false, res: 352x288 - 352x288, frameIntervals: 333333-2000000
02:10:12:     use buffering: false - 0, fourCC: 'I420'
02:10:12:     audio device: Disable,
02:10:12:     audio device id Disabled,
02:10:12:     audio time offset 0,
02:10:12:
02:10:12: Using directshow input
02:10:12: Scene buffering time set to 1200
02:10:12: Using custom x264 settings: "crf=18"
02:10:12: ------------------------------------------
02:10:12: Video Encoding: x264
02:10:12:     fps: 30
02:10:12:     width: 1920, height: 1080
02:10:12:     preset: veryfast
02:10:12:     profile: high
02:10:12:     keyint: 60
02:10:12:     CBR: no
02:10:12:     CFR: no
02:10:12:     max bitrate: 3000
02:10:12:     buffer size: 3000
02:10:12:     quality: 14
02:10:12: ------------------------------------------
02:10:13: CLRHost:: Browser 2: Status message:
02:10:13: CLRHost:: Browser 1: Status message:
02:10:14: CLRHost:: Browser 1: Connected to Socket Server @https://www.nightdev.com/hosted/subscriber-alert/?channel=gaida1tv&chroma=false&alert=https://dl.dropboxusercontent.com/s/ty89heq4dd34a7w/sub-alert.png?dl=0&transition=fade&sound=&align=center82
02:10:14: CLRHost:: Browser 1: Joining channel @https://www.nightdev.com/hosted/subscriber-alert/?channel=gaida1tv&chroma=false&alert=https://dl.dropboxusercontent.com/s/ty89heq4dd34a7w/sub-alert.png?dl=0&transition=fade&sound=&align=center221
02:10:14: CLRHost:: Browser 1: Connected to channel socket @https://www.nightdev.com/hosted/subscriber-alert/?channel=gaida1tv&chroma=false&alert=https://dl.dropboxusercontent.com/s/ty89heq4dd34a7w/sub-alert.png?dl=0&transition=fade&sound=&align=center226
02:10:14: Using RTMP service: Twitch
02:10:14:   Server selection: rtmp://live-mia.twitch.tv/app
02:10:15:   Interface: ASUS PCE-AC68 802.11ac Network Adapter (802.11, 327 mbps)
02:10:15: Completed handshake with rtmp://live-mia.twitch.tv/app in 563 ms.
02:10:16: SO_SNDBUF was at 65536
02:11:53: Total frames encoded: 2977, total frames duplicated: 4 (0.13%)
02:11:53: Total frames rendered: 3015, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
02:11:53:
02:11:53: Profiler time results:
02:11:53:
02:11:53: ==============================================================
02:11:53: video thread frame - [100%] [avg time: 0.871 ms] [children: 27.8%] [unaccounted: 72.2%]
02:11:53: | scene->Preprocess - [19.6%] [avg time: 0.171 ms]
02:11:53: | GPU download and conversion - [8.15%] [avg time: 0.071 ms] [children: 6.66%] [unaccounted: 1.49%]
02:11:53: | | flush - [5.4%] [avg time: 0.047 ms]
02:11:53: | | CopyResource - [0.918%] [avg time: 0.008 ms]
02:11:53: | | conversion to 4:2:0 - [0.344%] [avg time: 0.003 ms]
02:11:53: Convert444Threads - [100%] [avg time: 1.191 ms] [children: 99.6%] [unaccounted: 0.42%]
02:11:53: | Convert444toNV12 - [99.6%] [avg time: 1.186 ms]
02:11:53: encoder thread frame - [100%] [avg time: 1.786 ms] [children: 1.01%] [unaccounted: 99%]
02:11:53: | sending stuff out - [1.01%] [avg time: 0.018 ms]
02:11:53: ==============================================================
02:11:53:
02:11:53:
02:11:53: Profiler CPU results:
02:11:53:
02:11:53: ==============================================================
02:11:53: video thread frame - [cpu time: avg 0.124 ms, total 375 ms] [avg calls per frame: 1]
02:11:53: | scene->Preprocess - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
02:11:53: | GPU download and conversion - [cpu time: avg 0.036 ms, total 109.375 ms] [avg calls per frame: 1]
02:11:53: | | flush - [cpu time: avg 0.015 ms, total 46.875 ms] [avg calls per frame: 1]
02:11:53: | | CopyResource - [cpu time: avg 0.005 ms, total 15.625 ms] [avg calls per frame: 1]
02:11:53: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
02:11:53: Convert444Threads - [cpu time: avg 1.233 ms, total 7343.75 ms] [avg calls per frame: 2]
02:11:53: | Convert444toNV12 - [cpu time: avg 1.227 ms, total 7312.5 ms] [avg calls per frame: 2]
02:11:53: encoder thread frame - [cpu time: avg 1.212 ms, total 3609.38 ms] [avg calls per frame: 1]
02:11:53: | sending stuff out - [cpu time: avg 0.005 ms, total 15.625 ms] [avg calls per frame: 1]
02:11:53: ==============================================================
02:11:53:
02:11:53: =====Stream End: 2015-06-02, 02:11:53=================================================
02:11:53: ~RTMPPublisher: Packet flush completed in 133 ms
02:11:53: ~RTMPPublisher: Send thread terminated in 0 ms
02:11:53: RTMPPublisher::SocketLoop: Graceful loop exit
02:11:53: ~RTMPPublisher: Socket thread terminated in 0 ms
02:12:03: ~RTMPPublisher: Final socket shutdown completed in 10297 ms
02:12:03: Average send payload: 1433 bytes, average send interval: 32 ms
02:12:03: Number of times waited to send: 0, Waited for a total of 0 bytes
02:12:03: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
02:12:03: Number of bytes sent: 4269979
 
If a friend can hear the echo as well, then OBS is definitely picking up the stream from somewhere, and looping it back out. Are you absolutely *certain* that you had all browser windows closed, and weren't running something like TeeBoard or another app that provided a stream preview or similar? Because all signs point to 'one was still open somewhere'.

You can mute the system audio channel by clicking the speaker icon at the bottom-right of the main OBS window (same with the microphone icon, for the mic channel) next to the level-adjust bar graph slider. Your friend should hear everything but your voice stop immediately, you'll hear the loop continue for about another ~10 seconds, then stop as well.

Unrelated to this issue, speaking as a network engineer, you really should NEVER stream over Wifi. It's designed for lightweight use by mobile devices, and is unsuitable for constant-throughput applications with hard tolerances for drop. Aside from the fact that it's very susceptible to interference, everyone using the same channel is using the same bandwidth, even if they are on separate networks. Meaning if your neighbor on their own WAP starts transferring a big file, your throughput will take a dump. Likewise, you'll be tying up 3mbps with your current settings whenever you're streaming of that shared pool. It was never meant to replace network cabling, even if a lot of people use it that way. Even Powerline adapters are better (though they aren't "good" by any means).

Also would recommend dropping to 720p@30fps, 2000kbps in your settings if you're a non-Partnered caster. 3000 will cause a large portion of your potential viewer-base to buffer like crazy. No one will come to your stream for 1080p video. But they'll definitely leave if they get stuck in buffering hell.
 
Back
Top