NOTE THE MOST COMMON REASON FOR DELAY IS MISMATCHED AUDIO SAMPLE RATE. ENSURE YOUR OBS AND YOUR AUDIO DEVICES BOTH HAVE THE SAME SAMPLE RATE (USUALLY 48k WORKS BEST)
Tired of your capture card causing delay in OBS? I’ll show you a simple, fast method to fix video lag without touching the Advanced Audio tab or async settings. This trick keeps your audio and video in sync and works for any capture card.
Follow along as I walk through the script setup, OBS tweaks, and testing process, so you can get smooth streams and recordings without complicated settings.
💡 What you’ll learn:
How to auto-reset your capture card in OBS
How to eliminate video delay while keeping audio in sync
How to avoid complicated settings like Async or Advanced Audio
🎥 Perfect for streamers and content creators struggling with capture card lag.
Join this channel to get access to perks:
/ @turtletimegamingofficial
Script:
obs = obslua
-- CONFIGURATION
source_name = "capture card" -- your source name in OBS
interval = 120000 -- 2 minutes (in milliseconds)
disable_time = 1000 -- how long it stays off (1 second)
active = false
function disable_source()
if not active then return end
local source = obs.obs_get_source_by_name(source_name)
if source ~= nil then
obs.obs_source_set_enabled(source, false)
obs.obs_source_release(source)
obs.timer_add(enable_source, disable_time)
end
end
function enable_source()
local source = obs.obs_get_source_by_name(source_name)
if source ~= nil then
obs.obs_source_set_enabled(source, true)
obs.obs_source_release(source)
end
obs.timer_remove(enable_source)
end
function on_event(event)
if event == obs.OBS_FRONTEND_EVENT_STREAMING_STARTED or event == obs.OBS_FRONTEND_EVENT_RECORDING_STARTED then
active = true
obs.timer_add(disable_source, interval)
elseif event == obs.OBS_FRONTEND_EVENT_STREAMING_STOPPED or event == obs.OBS_FRONTEND_EVENT_RECORDING_STOPPED then
active = false
obs.timer_remove(disable_source)
obs.timer_remove(enable_source)
end
end
function script_load(settings)
obs.obs_frontend_add_event_callback(on_event)
end
function script_unload()
obs.timer_remove(disable_source)
obs.timer_remove(enable_source)
end