An OBS plugin for Zoom/Meet-like virtual background feature.

Overview

OBS Virtual background plugin

English / Japanese

OBS Virtual background plugin is a plugin for OBS. This plugin allows you to crop the background area without a green screen like Zoom and Meet virtual backgrounds.

Supported Operating System

Currently, this plugin supports only Windows 64bit environment.

Install

Download the latest version of obs-virtualbg-vX.X.X-win64.zip from Releases on the right side of the GitHub Page.

Extract the zip and copy the data and obs-plugins folders to your OBS Studio Folder (C:\Program Files\obs-studio by default).

Note: If you have the OBS Background removal plugin installed, uninstall it first, because the ONNXRuntime DLL will conflict.

Usage

filter settings

Add Media source or Video capture device to scene, and open Filters.

Add Virtual Background Detector to Audio/Video Filters. and also add Virtual Background Renderer to Effect Filters. Both filters required.

Background settings

Place a background image, window capture, or game capture source below the filtered source. Set the size, crop, etc. to complete the settings.

Caution

Since the human region is detected by inference using a deep learning model, detection error inevitably occur. In some cases, the person's area is not detected and is transparent, and in other cases, the background area is mis-detected and some of the room is shown. In particular, it is not good at recognizing hands, so it may not be suitable for performance. This is a limitation of the detection model and is not something that can be adjusted by adjusting parameters. If you need accurate cropping, please use the green background and chroma key filters.

Issues
  • Not working for me

    Not working for me

    Hello @kounoike, thanks for taking the time to create this tool :)

    Not sure what I'm doing wrong: after adding on both video effects and filters, my webcam image simple goes blank, 100% transparent.

    image

    I'm trying to use it on a webcam source, 720p30.

    Also, I love the idea of using this kind of plugin but since you are using this effect on two different places of the same source, this makes unusable on other kind of sources, like a browser source. I was looking for a solution like this one to use with VDO.Ninja but it seems that would not be possible, since it doesn't have the video effects part, inside filters:

    image

    Do you think that would be possible someday?

    Thanks!

    bug 
    opened by ASchneiderBR 14
  • Add possibility to use it on Browser source

    Add possibility to use it on Browser source

    Is there a possibility to use this plugin on a browser source? (I would like to use it with output of vdo.ninja)

    Currently the detection seems not possible on browser source.

    Thanks

    opened by snip 4
  • Crashes on Mac

    Crashes on Mac

    Hi, getting this crash when adding the filter:


    Translated Report (Full Report Below)

    Process: obs [11739] Path: /Applications/OBS.app/Contents/MacOS/obs Identifier: com.obsproject.obs-studio Version: 27.1.3 (27.1.3) Code Type: X86-64 (Native) Parent Process: launchd [1] User ID: 501

    Date/Time: 2021-12-04 23:05:24.6551 -0800 OS Version: macOS 12.1 (21C5045a) Report Version: 12 Bridge OS Version: 6.1 (19P50645a) Anonymous UUID: EE3BEC74-E6BD-9D05-5720-EED7274AE417

    Sleep/Wake UUID: 4F8A220F-9BAF-46A9-A6F5-FDC538D881D3

    Time Awake Since Boot: 11000 seconds Time Since Wake: 2056 seconds

    System Integrity Protection: enabled

    Crashed Thread: 12 libobs: graphics thread

    Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY

    Application Specific Information: terminating with uncaught exception of type std::runtime_error* abort() called

    Thread 0:: Dispatch queue: com.apple.main-thread 0 QtGui 0x108e745cb 0x108e65000 + 62923 1 QtGui 0x1090af52f 0x108e65000 + 2401583 2 QtGui 0x1090f7948 0x108e65000 + 2697544 3 QtGui 0x1090f9256 QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 214 4 QtGui 0x10911a676 QPainter::fillRect(QRect const&, QBrush const&) + 358 5 QtWidgets 0x1063897de 0x106349000 + 264158 6 QtWidgets 0x1063894af QWidgetPrivate::paintBackground(QPainter*, QRegion const&, QFlagsQWidgetPrivate::DrawWidgetFlag) const + 575 7 QtWidgets 0x106387944 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlagsQWidgetPrivate::DrawWidgetFlag, QPainter*, QWidgetRepaintManager*) + 2900 8 QtWidgets 0x106369f4c 0x106349000 + 134988 9 QtWidgets 0x106368323 0x106349000 + 127779 10 QtWidgets 0x1063b661f 0x106349000 + 448031 11 QtWidgets 0x1063b3681 0x106349000 + 435841 12 QtWidgets 0x10635c9f6 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 262 13 QtWidgets 0x10635dda2 QApplication::notify(QObject*, QEvent*) + 466 14 QtCore 0x109c7cc36 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 166 15 QtGui 0x108ea5222 QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) + 306 16 QtGui 0x108e892b1 void QWindowSystemInterface::handleExposeEventQWindowSystemInterface::SynchronousDelivery(QWindow*, QRegion const&) + 273 17 libqcocoa.dylib 0x108b95d86 0x108b71000 + 150918 18 libqcocoa.dylib 0x108b9e453 0x108b71000 + 185427 19 AppKit 0x7ff8185d71c6 -[_NSBackingLayer display] + 462 20 AppKit 0x7ff81854c71d -[_NSViewBackingLayer display] + 554 21 QuartzCore 0x7ff81cae3641 CA::Layer::display_if_needed(CA::Transaction*) + 867 22 QuartzCore 0x7ff81cc33723 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 717 23 QuartzCore 0x7ff81cac52a2 CA::Transaction::commit() + 704 24 AppKit 0x7ff8185e8572 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 285 25 AppKit 0x7ff818d2f214 ___NSRunLoopObserverCreateWithHandler_block_invoke + 41 26 CoreFoundation 0x7ff815a4ecb7 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23 27 CoreFoundation 0x7ff815a4eb54 __CFRunLoopDoObservers + 543 28 CoreFoundation 0x7ff815a4dfe7 __CFRunLoopRun + 841 29 CoreFoundation 0x7ff815a4d5dd CFRunLoopRunSpecific + 563 30 HIToolbox 0x7ff81e67f4f1 RunCurrentEventLoopInMode + 292 31 HIToolbox 0x7ff81e67f118 ReceiveNextEventCommon + 284 32 HIToolbox 0x7ff81e67efe5 _BlockUntilNextEventMatchingListInModeWithFilter + 70 33 AppKit 0x7ff81847bb2c _DPSNextEvent + 886 34 AppKit 0x7ff81847a198 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1411 35 AppKit 0x7ff81846c589 -[NSApplication run] + 586 36 libqcocoa.dylib 0x108bacd74 0x108b71000 + 245108 37 QtCore 0x109c79037 QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) + 471 38 QtCore 0x109c7d1d2 QCoreApplication::exec() + 130 39 obs 0x104da0a0f main + 5215 40 dyld 0x11146c4fe start + 462

    Thread 1: 0 libsystem_pthread.dylib 0x7ff815983fec start_wqthread + 0

    Thread 2: 0 libsystem_pthread.dylib 0x7ff815983fec start_wqthread + 0

    Thread 3: 0 libsystem_pthread.dylib 0x7ff815983fec start_wqthread + 0

    Thread 4: 0 libsystem_pthread.dylib 0x7ff815983fec start_wqthread + 0

    Thread 5:: Thread (pooled) 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 QtCore 0x109abffa0 0x109a97000 + 167840 3 QtCore 0x109abfcfe 0x109a97000 + 167166 4 QtCore 0x109abfc73 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83 5 QtCore 0x109abc6dd 0x109a97000 + 153309 6 QtCore 0x109ab8229 0x109a97000 + 135721 7 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 8 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 6:: Thread (pooled) 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 QtCore 0x109abffa0 0x109a97000 + 167840 3 QtCore 0x109abfcfe 0x109a97000 + 167166 4 QtCore 0x109abfc73 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83 5 QtCore 0x109abc6dd 0x109a97000 + 153309 6 QtCore 0x109ab8229 0x109a97000 + 135721 7 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 8 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 7:: Thread (pooled) 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 QtCore 0x109abffa0 0x109a97000 + 167840 3 QtCore 0x109abfcfe 0x109a97000 + 167166 4 QtCore 0x109abfc73 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83 5 QtCore 0x109abc6dd 0x109a97000 + 153309 6 QtCore 0x109ab8229 0x109a97000 + 135721 7 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 8 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 8:: Thread (pooled) 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 QtCore 0x109abffa0 0x109a97000 + 167840 3 QtCore 0x109abfcfe 0x109a97000 + 167166 4 QtCore 0x109abfc73 QWaitCondition::wait(QMutex*, QDeadlineTimer) + 83 5 QtCore 0x109abc6dd 0x109a97000 + 153309 6 QtCore 0x109ab8229 0x109a97000 + 135721 7 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 8 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 9:: libobs: hotkey thread 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libobs.0.dylib 0x105dc8560 os_event_timedwait + 176 3 libobs.0.dylib 0x105e0300e obs_hotkey_thread + 190 4 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 5 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 10:: audio-io: audio thread 0 libsystem_kernel.dylib 0x7ff81594e3da __semwait_signal + 10 1 libsystem_c.dylib 0x7ff8158638a9 nanosleep + 196 2 libsystem_c.dylib 0x7ff8158637df usleep + 53 3 libobs.0.dylib 0x105db3ff2 audio_thread + 418 4 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 5 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 11:: video-io: video thread 0 libsystem_kernel.dylib 0x7ff81594baf6 semaphore_wait_trap + 10 1 libobs.0.dylib 0x105dc8700 os_sem_wait + 16 2 libobs.0.dylib 0x105db271b video_thread + 75 3 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 4 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 12 Crashed:: libobs: graphics thread 0 libsystem_kernel.dylib 0x7ff815952112 __pthread_kill + 10 1 libsystem_pthread.dylib 0x7ff815988214 pthread_kill + 263 2 libsystem_c.dylib 0x7ff8158d4d10 abort + 123 3 libc++abi.dylib 0x7ff8159450b2 abort_message + 241 4 libc++abi.dylib 0x7ff8159361fd demangling_terminate_handler() + 266 5 libobjc.A.dylib 0x7ff815833511 _objc_terminate() + 104 6 libc++abi.dylib 0x7ff8159444d7 std::__terminate(void ()()) + 8 7 libc++abi.dylib 0x7ff815946d55 __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception) + 27 8 libc++abi.dylib 0x7ff815946d1c __cxa_throw + 116 9 obs-virtualbg.so 0x129e75ef0 detector_setup_preprocess_scaler(virtual_bg_filter_data*, obs_source_frame*) + 288 10 obs-virtualbg.so 0x129e76a4f detector_filter_video(void*, obs_source_frame*) + 591 11 libobs.0.dylib 0x105dd5dd7 obs_source_video_render + 759 12 libobs.0.dylib 0x105e12880 scene_video_render + 1312 13 libobs.0.dylib 0x105dd5f44 obs_source_video_render + 1124 14 libobs.0.dylib 0x105de3a13 obs_transition_video_render + 1283 15 libobs.0.dylib 0x105dd5f44 obs_source_video_render + 1124 16 libobs.0.dylib 0x105e12015 obs_view_render + 37 17 libobs.0.dylib 0x105e1cfb4 obs_graphics_thread_loop + 1380 18 libobs.0.dylib 0x105dc77fa obs_graphics_thread_loop_autorelease + 26 19 libobs.0.dylib 0x105e1e848 obs_graphics_thread + 248 20 libobs.0.dylib 0x105dc77ca obs_graphics_thread_autorelease + 26 21 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 22 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 13: 0 libsystem_kernel.dylib 0x7ff81594baf6 semaphore_wait_trap + 10 1 libobs.0.dylib 0x105dc8700 os_sem_wait + 16 2 libobs-scripting.dylib 0x110db6ca9 defer_thread + 25 3 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 4 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 14: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 15: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 16: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 17: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 18: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 19: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 20: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 21: 0 libsystem_kernel.dylib 0x7ff81594e506 __psynch_cvwait + 10 1 libsystem_pthread.dylib 0x7ff815988a69 _pthread_cond_wait + 1224 2 libc++.1.dylib 0x7ff8158e7ec2 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18 3 StreamFX.so 0x128c4e6eb util::threadpool::work() + 171 4 StreamFX.so 0x128c4f10e void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*) + 62 5 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 6 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 22:: AMCP Logging Spool 0 libsystem_kernel.dylib 0x7ff81594baf6 semaphore_wait_trap + 10 1 caulk 0x7ff81e40b1c0 caulk::mach::semaphore::wait_or_error() + 16 2 caulk 0x7ff81e3f208a caulk::concurrent::details::worker_thread::run() + 36 3 caulk 0x7ff81e3f1d4e void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::)(), std::__1::tuplecaulk::concurrent::details::worker_thread* > >(void) + 41 4 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 5 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 23:: com.apple.audio.IOThread.client 0 libsystem_kernel.dylib 0x7ff81594baba mach_msg_trap + 10 1 libsystem_kernel.dylib 0x7ff81594be2b mach_msg + 59 2 CoreAudio 0x7ff8175ce95b HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 111 3 CoreAudio 0x7ff81745d0ff HALC_ProxyIOContext::IOWorkLoop() + 3937 4 CoreAudio 0x7ff81745bbc1 invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 63 5 CoreAudio 0x7ff81762476c HALB_IOThread::Entry(void*) + 72 6 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 7 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 24: 0 libsystem_kernel.dylib 0x7ff81594e3da __semwait_signal + 10 1 libsystem_c.dylib 0x7ff8158638a9 nanosleep + 196 2 libsystem_c.dylib 0x7ff8158637df usleep + 53 3 CoreMediaIO 0x7ff82358675e CMIOGraph::OneOrMoreInputUnitsAreReadyToBePulled(bool&) + 758 4 CoreMediaIO 0x7ff823587342 CMIOGraph::DoWork(unsigned int) + 440 5 CoreMediaIO 0x7ff823589a92 CMIO::Thread::QueuedTWorkThread::DoWork() + 144 6 CoreMediaIO 0x7ff8235924a0 CMIO::Thread::SignaledThread::ThreadLoop() + 144 7 CoreMediaIO 0x7ff8235923e6 CMIO::Thread::SignaledThread::WorkQueuedThreadCallback(void*) + 72 8 CoreMedia 0x7ff81e430cd0 figThreadMain + 276 9 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 10 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 25: 0 libsystem_pthread.dylib 0x7ff815983fec start_wqthread + 0

    Thread 26:: com.apple.NSEventThread 0 libsystem_kernel.dylib 0x7ff81594baba mach_msg_trap + 10 1 libsystem_kernel.dylib 0x7ff81594be2b mach_msg + 59 2 CoreFoundation 0x7ff815a4faf2 __CFRunLoopServiceMachPort + 319 3 CoreFoundation 0x7ff815a4e1cb __CFRunLoopRun + 1325 4 CoreFoundation 0x7ff815a4d5dd CFRunLoopRunSpecific + 563 5 AppKit 0x7ff8185e9d78 _NSEventThread + 132 6 libsystem_pthread.dylib 0x7ff8159884f4 _pthread_start + 125 7 libsystem_pthread.dylib 0x7ff81598400f thread_start + 15

    Thread 12 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x000070001017a000 rcx: 0x00007000101792c8 rdx: 0x0000000000000000 rdi: 0x0000000000008803 rsi: 0x0000000000000006 rbp: 0x00007000101792f0 rsp: 0x00007000101792c8 r8: 0x0000700010179190 r9: 0x00007ff815947fa1 r10: 0x0000000000000000 r11: 0x0000000000000246 r12: 0x0000000000008803 r13: 0x0000003000000008 r14: 0x0000000000000006 r15: 0x0000000000000016 rip: 0x00007ff815952112 rfl: 0x0000000000000246 cr2: 0x00007ff855693980

    Logical CPU: 0 Error Code: 0x02000148 Trap Number: 133

    Binary Images: 0x108e65000 - 0x109350fff org.qt-project.QtGui (5.15) <6eab2726-73f2-37e2-886e-ba4bf4592485> /Applications/OBS.app/Contents/Frameworks/QtGui.framework/Versions/5/QtGui 0x106349000 - 0x106794fff org.qt-project.QtWidgets (5.15) <41ccad67-4ed9-3686-a341-443359e05463> /Applications/OBS.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets 0x109a97000 - 0x109fdafff org.qt-project.QtCore (5.15) <51b713b9-26d0-3a5a-8cb8-7726f8a0156f> /Applications/OBS.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore 0x108b71000 - 0x108cd8fff libqcocoa.dylib () /Applications/OBS.app/Contents/PlugIns/platforms/libqcocoa.dylib 0x7ff81843d000 - 0x7ff8192cbfff com.apple.AppKit (6.9) <521cdd59-fbfa-391d-bd09-1b046b296dd4> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 0x7ff81cac3000 - 0x7ff81cdabfff com.apple.QuartzCore (1.11) <85f64309-961e-3fdc-b265-113ee064c097> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore 0x7ff8159cf000 - 0x7ff815ed1fff com.apple.CoreFoundation (6.9) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 0x7ff81e64d000 - 0x7ff81e944fff com.apple.HIToolbox (2.1.1) <891edf2e-4e76-35f5-8ec9-a6dc43ee7855> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox 0x104d58000 - 0x104ffffff com.obsproject.obs-studio (27.1.3) /Applications/OBS.app/Contents/MacOS/obs 0x111467000 - 0x1114d2fff dyld () <15411f2c-1dc7-3958-b73d-d85cdf549ec1> /usr/lib/dyld 0x7ff815982000 - 0x7ff81598dfff libsystem_pthread.dylib () /usr/lib/system/libsystem_pthread.dylib 0x7ff81594b000 - 0x7ff815981fff libsystem_kernel.dylib () /usr/lib/system/libsystem_kernel.dylib 0x105d88000 - 0x105e33fff libobs.0.dylib () <8a336fa8-3694-3b10-a9f3-2a4d5d982285> /Applications/OBS.app/Contents/Frameworks/libobs.0.dylib 0x7ff815853000 - 0x7ff8158dbfff libsystem_c.dylib () /usr/lib/system/libsystem_c.dylib 0x7ff815935000 - 0x7ff81594afff libc++abi.dylib () <326e7524-1528-3956-bdc2-ef7b3f46dace> /usr/lib/libc++abi.dylib 0x7ff815816000 - 0x7ff81584ffff libobjc.A.dylib () /usr/lib/libobjc.A.dylib 0x129e6d000 - 0x12a944fff obs-virtualbg.so () <325ada8c-bcba-3c02-9cd6-bf00e58c41a1> /Applications/OBS.app/Contents/PlugIns/obs-virtualbg.so 0x110db2000 - 0x110dc9fff libobs-scripting.dylib () <5b366a30-6f2e-3d3d-af5f-926ef315ae61> /Applications/OBS.app/Contents/Frameworks/libobs-scripting.dylib 0x7ff8158dc000 - 0x7ff815934fff libc++.1.dylib () <647226b5-003f-3039-9cac-73bcb427c4ad> /usr/lib/libc++.1.dylib 0x128bcc000 - 0x128dabfff StreamFX.so () <20afb033-aa27-38b6-affe-cdab644aa047> /Library/Application Support/obs-studio/*/StreamFX.so 0x7ff81e3f0000 - 0x7ff81e412fff com.apple.audio.caulk (1.0) <2d90f846-5aab-3ced-ba79-67ccb5492602> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk 0x7ff8172a6000 - 0x7ff8179cdfff com.apple.audio.CoreAudio (5.0) <7d634597-8fd4-3ae1-8dbd-3d442f6d1e10> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio 0x7ff823550000 - 0x7ff823625fff com.apple.CoreMediaIO (1000.0) /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO 0x7ff81e413000 - 0x7ff81e513fff com.apple.CoreMedia (1.0) /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia

    External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 0 thread_create: 0 thread_set_state: 0

    VM Region Summary: ReadOnly portion of Libraries: Total=1.4G resident=0K(0%) swapped_out_or_unallocated=1.4G(100%) Writable regions: Total=678.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=678.1M(100%)

                                VIRTUAL   REGION 
    

    REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Accelerate framework 256K 2 Activity Tracing 256K 1 CG backing stores 960K 4 CG image 108K 9 ColorSync 236K 27 CoreAnimation 160K 21 CoreGraphics 12K 2 CoreUI image data 416K 8 Foundation 16K 1 Kernel Alloc Once 8K 1 MALLOC 252.4M 118 MALLOC guard page 32K 8 MALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated) OpenGL GLSL 256K 3 STACK GUARD 56.1M 27 Stack 21.2M 28 VM_ALLOCATE 7324K 72 __DATA 51.8M 602 __DATA_CONST 31.9M 345 __DATA_DIRTY 1616K 212 __FONT_DATA 4K 1 __GLSLBUILTINS 5176K 1 __LINKEDIT 671.8M 89 __OBJC_RO 81.8M 1 __OBJC_RW 3136K 2 __TEXT 720.0M 609 __UNICODE 588K 1 dyld private memory 1024K 1 mapped file 483.8M 39 shared memory 792K 18 =========== ======= ======= TOTAL 2.7G 2254 TOTAL, minus reserved VM space 2.3G 2254


    Full Report

    {"app_name":"obs","timestamp":"2021-12-04 23:05:44.00 -0800","app_version":"27.1.3","slice_uuid":"c14cd39e-1950-3fee-9abe-b9506c8f4bfe","build_version":"27.1.3","platform":1,"bundleID":"com.obsproject.obs-studio","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.1 (21C5045a)","incident_id":"01D5CEB6-DA73-44E0-B5B5-C5F4EDDC84E4","name":"obs"} { "uptime" : 11000, "procLaunch" : "2021-12-04 23:05:12.1759 -0800", "procRole" : "Foreground", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "Macmini8,1", "procStartAbsTime" : 11824558831831, "coalitionID" : 16245, "osVersion" : { "train" : "macOS 12.1", "build" : "21C5045a", "releaseType" : "User" }, "captureTime" : "2021-12-04 23:05:24.6551 -0800", "incident" : "01D5CEB6-DA73-44E0-B5B5-C5F4EDDC84E4", "bug_type" : "309", "pid" : 11739, "procExitAbsTime" : 11836967171581, "cpuType" : "X86-64", "procName" : "obs", "procPath" : "/Applications/OBS.app/Contents/MacOS/obs", "bundleInfo" : {"CFBundleShortVersionString":"27.1.3","CFBundleVersion":"27.1.3","CFBundleIdentifier":"com.obsproject.obs-studio"}, "storeInfo" : {"deviceIdentifierForVendor":"6A76F361-13DA-5434-8063-8502B7C1A1F1","thirdParty":true}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "com.obsproject.obs-studio", "crashReporterKey" : "EE3BEC74-E6BD-9D05-5720-EED7274AE417", "wakeTime" : 2056, "bridgeVersion" : {"build":"19P50645a","train":"6.1"}, "sleepWakeUUID" : "4F8A220F-9BAF-46A9-A6F5-FDC538D881D3", "sip" : "enabled", "isCorpse" : 1, "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"}, "asi" : {"libsystem_c.dylib":["abort() called"],"libc++abi.dylib":["terminating with uncaught exception of type std::runtime_error*"]}, "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0}, "faultingThread" : 12, "threads" : [{"id":137581,"queue":"com.apple.main-thread","frames":[{"imageOffset":62923,"imageIndex":0},{"imageOffset":2401583,"imageIndex":0},{"imageOffset":2697544,"imageIndex":0},{"imageOffset":2703958,"symbol":"QRasterPaintEngine::fillRect(QRectF const&, QSpanData*)","symbolLocation":214,"imageIndex":0},{"imageOffset":2840182,"symbol":"QPainter::fillRect(QRect const&, QBrush const&)","symbolLocation":358,"imageIndex":0},{"imageOffset":264158,"imageIndex":1},{"imageOffset":263343,"symbol":"QWidgetPrivate::paintBackground(QPainter*, QRegion const&, QFlagsQWidgetPrivate::DrawWidgetFlag) const","symbolLocation":575,"imageIndex":1},{"imageOffset":256324,"symbol":"QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlagsQWidgetPrivate::DrawWidgetFlag, QPainter*, QWidgetRepaintManager*)","symbolLocation":2900,"imageIndex":1},{"imageOffset":134988,"imageIndex":1},{"imageOffset":127779,"imageIndex":1},{"imageOffset":448031,"imageIndex":1},{"imageOffset":435841,"imageIndex":1},{"imageOffset":80374,"symbol":"QApplicationPrivate::notify_helper(QObject*, QEvent*)","symbolLocation":262,"imageIndex":1},{"imageOffset":85410,"symbol":"QApplication::notify(QObject*, QEvent*)","symbolLocation":466,"imageIndex":1},{"imageOffset":1989686,"symbol":"QCoreApplication::notifyInternal2(QObject*, QEvent*)","symbolLocation":166,"imageIndex":2},{"imageOffset":262690,"symbol":"QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*)","symbolLocation":306,"imageIndex":0},{"imageOffset":148145,"symbol":"void QWindowSystemInterface::handleExposeEventQWindowSystemInterface::SynchronousDelivery(QWindow*, QRegion const&)","symbolLocation":273,"imageIndex":0},{"imageOffset":150918,"imageIndex":3},{"imageOffset":185427,"imageIndex":3},{"imageOffset":1679814,"symbol":"-[_NSBackingLayer display]","symbolLocation":462,"imageIndex":4},{"imageOffset":1111837,"symbol":"-[_NSViewBackingLayer display]","symbolLocation":554,"imageIndex":4},{"imageOffset":132673,"symbol":"CA::Layer::display_if_needed(CA::Transaction*)","symbolLocation":867,"imageIndex":5},{"imageOffset":1509155,"symbol":"CA::Context::commit_transaction(CA::Transaction*, double, double*)","symbolLocation":717,"imageIndex":5},{"imageOffset":8866,"symbol":"CA::Transaction::commit()","symbolLocation":704,"imageIndex":5},{"imageOffset":1750386,"symbol":"__62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke","symbolLocation":285,"imageIndex":4},{"imageOffset":9380372,"symbol":"___NSRunLoopObserverCreateWithHandler_block_invoke","symbolLocation":41,"imageIndex":4},{"imageOffset":523447,"symbol":"CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION","symbolLocation":23,"imageIndex":6},{"imageOffset":523092,"symbol":"__CFRunLoopDoObservers","symbolLocation":543,"imageIndex":6},{"imageOffset":520167,"symbol":"__CFRunLoopRun","symbolLocation":841,"imageIndex":6},{"imageOffset":517597,"symbol":"CFRunLoopRunSpecific","symbolLocation":563,"imageIndex":6},{"imageOffset":206065,"symbol":"RunCurrentEventLoopInMode","symbolLocation":292,"imageIndex":7},{"imageOffset":205080,"symbol":"ReceiveNextEventCommon","symbolLocation":284,"imageIndex":7},{"imageOffset":204773,"symbol":"_BlockUntilNextEventMatchingListInModeWithFilter","symbolLocation":70,"imageIndex":7},{"imageOffset":256812,"symbol":"_DPSNextEvent","symbolLocation":886,"imageIndex":4},{"imageOffset":250264,"symbol":"-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]","symbolLocation":1411,"imageIndex":4},{"imageOffset":193929,"symbol":"-[NSApplication run]","symbolLocation":586,"imageIndex":4},{"imageOffset":245108,"imageIndex":3},{"imageOffset":1974327,"symbol":"QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag)","symbolLocation":471,"imageIndex":2},{"imageOffset":1991122,"symbol":"QCoreApplication::exec()","symbolLocation":130,"imageIndex":2},{"imageOffset":297487,"symbol":"main","symbolLocation":5215,"imageIndex":8},{"imageOffset":21758,"symbol":"start","symbolLocation":462,"imageIndex":9}]},{"id":137584,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":10}]},{"id":137585,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":10}]},{"id":137591,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":10}]},{"id":137598,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":10}]},{"id":137601,"name":"Thread (pooled)","frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":167840,"imageIndex":2},{"imageOffset":167166,"imageIndex":2},{"imageOffset":167027,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":2},{"imageOffset":153309,"imageIndex":2},{"imageOffset":135721,"imageIndex":2},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137602,"name":"Thread (pooled)","frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":167840,"imageIndex":2},{"imageOffset":167166,"imageIndex":2},{"imageOffset":167027,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":2},{"imageOffset":153309,"imageIndex":2},{"imageOffset":135721,"imageIndex":2},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137603,"name":"Thread (pooled)","frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":167840,"imageIndex":2},{"imageOffset":167166,"imageIndex":2},{"imageOffset":167027,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":2},{"imageOffset":153309,"imageIndex":2},{"imageOffset":135721,"imageIndex":2},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137604,"name":"Thread (pooled)","frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":167840,"imageIndex":2},{"imageOffset":167166,"imageIndex":2},{"imageOffset":167027,"symbol":"QWaitCondition::wait(QMutex*, QDeadlineTimer)","symbolLocation":83,"imageIndex":2},{"imageOffset":153309,"imageIndex":2},{"imageOffset":135721,"imageIndex":2},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137605,"name":"libobs: hotkey thread","frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":263520,"symbol":"os_event_timedwait","symbolLocation":176,"imageIndex":12},{"imageOffset":503822,"symbol":"obs_hotkey_thread","symbolLocation":190,"imageIndex":12},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137607,"name":"audio-io: audio thread","frames":[{"imageOffset":13274,"symbol":"__semwait_signal","symbolLocation":10,"imageIndex":11},{"imageOffset":67753,"symbol":"nanosleep","symbolLocation":196,"imageIndex":13},{"imageOffset":67551,"symbol":"usleep","symbolLocation":53,"imageIndex":13},{"imageOffset":180210,"symbol":"audio_thread","symbolLocation":418,"imageIndex":12},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137609,"name":"video-io: video thread","frames":[{"imageOffset":2806,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":11},{"imageOffset":263936,"symbol":"os_sem_wait","symbolLocation":16,"imageIndex":12},{"imageOffset":173851,"symbol":"video_thread","symbolLocation":75,"imageIndex":12},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"triggered":true,"id":137610,"name":"libobs: graphics thread","threadState":{"r13":{"value":206158430216},"rax":{"value":0},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":6},"rsi":{"value":6},"r8":{"value":123145572290960},"cr2":{"value":140704561576320},"rdx":{"value":0},"r10":{"value":0},"r9":{"value":140703490670497},"r15":{"value":22},"rbx":{"value":123145572294656},"trap":{"value":133},"err":{"value":33554760},"r11":{"value":582},"rip":{"value":140703490711826,"matchesCrashFrame":1},"rbp":{"value":123145572291312},"rsp":{"value":123145572291272},"r12":{"value":34819},"rcx":{"value":123145572291272},"flavor":"x86_THREAD_STATE","rdi":{"value":34819}},"frames":[{"imageOffset":28946,"symbol":"__pthread_kill","symbolLocation":10,"imageIndex":11},{"imageOffset":25108,"symbol":"pthread_kill","symbolLocation":263,"imageIndex":10},{"imageOffset":531728,"symbol":"abort","symbolLocation":123,"imageIndex":13},{"imageOffset":65714,"symbol":"abort_message","symbolLocation":241,"imageIndex":14},{"imageOffset":4605,"symbol":"demangling_terminate_handler()","symbolLocation":266,"imageIndex":14},{"imageOffset":120081,"symbol":"_objc_terminate()","symbolLocation":104,"imageIndex":15},{"imageOffset":62679,"symbol":"std::__terminate(void ()())","symbolLocation":8,"imageIndex":14},{"imageOffset":73045,"symbol":"__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception)","symbolLocation":27,"imageIndex":14},{"imageOffset":72988,"symbol":"__cxa_throw","symbolLocation":116,"imageIndex":14},{"imageOffset":36592,"symbol":"detector_setup_preprocess_scaler(virtual_bg_filter_data*, obs_source_frame*)","symbolLocation":288,"imageIndex":16},{"imageOffset":39503,"symbol":"detector_filter_video(void*, obs_source_frame*)","symbolLocation":591,"imageIndex":16},{"imageOffset":318935,"symbol":"obs_source_video_render","symbolLocation":759,"imageIndex":12},{"imageOffset":567424,"symbol":"scene_video_render","symbolLocation":1312,"imageIndex":12},{"imageOffset":319300,"symbol":"obs_source_video_render","symbolLocation":1124,"imageIndex":12},{"imageOffset":375315,"symbol":"obs_transition_video_render","symbolLocation":1283,"imageIndex":12},{"imageOffset":319300,"symbol":"obs_source_video_render","symbolLocation":1124,"imageIndex":12},{"imageOffset":565269,"symbol":"obs_view_render","symbolLocation":37,"imageIndex":12},{"imageOffset":610228,"symbol":"obs_graphics_thread_loop","symbolLocation":1380,"imageIndex":12},{"imageOffset":260090,"symbol":"obs_graphics_thread_loop_autorelease","symbolLocation":26,"imageIndex":12},{"imageOffset":616520,"symbol":"obs_graphics_thread","symbolLocation":248,"imageIndex":12},{"imageOffset":260042,"symbol":"obs_graphics_thread_autorelease","symbolLocation":26,"imageIndex":12},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137612,"frames":[{"imageOffset":2806,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":11},{"imageOffset":263936,"symbol":"os_sem_wait","symbolLocation":16,"imageIndex":12},{"imageOffset":19625,"symbol":"defer_thread","symbolLocation":25,"imageIndex":17},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137637,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137638,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137639,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137640,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137641,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137642,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137643,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137644,"frames":[{"imageOffset":13574,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":11},{"imageOffset":27241,"symbol":"_pthread_cond_wait","symbolLocation":1224,"imageIndex":10},{"imageOffset":48834,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&)","symbolLocation":18,"imageIndex":18},{"imageOffset":534251,"symbol":"util::threadpool::work()","symbolLocation":171,"imageIndex":19},{"imageOffset":536846,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, std::__1::__bind<void (util::threadpool::)(), util::threadpool> > >(void*)","symbolLocation":62,"imageIndex":19},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137645,"name":"AMCP Logging Spool","frames":[{"imageOffset":2806,"symbol":"semaphore_wait_trap","symbolLocation":10,"imageIndex":11},{"imageOffset":111040,"symbol":"caulk::mach::semaphore::wait_or_error()","symbolLocation":16,"imageIndex":20},{"imageOffset":8330,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":36,"imageIndex":20},{"imageOffset":7502,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::)(), std::__1::tuplecaulk::concurrent::details::worker_thread* > >(void)","symbolLocation":41,"imageIndex":20},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137646,"name":"com.apple.audio.IOThread.client","frames":[{"imageOffset":2746,"symbol":"mach_msg_trap","symbolLocation":10,"imageIndex":11},{"imageOffset":3627,"symbol":"mach_msg","symbolLocation":59,"imageIndex":11},{"imageOffset":3311963,"symbol":"HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int)","symbolLocation":111,"imageIndex":21},{"imageOffset":1798399,"symbol":"HALC_ProxyIOContext::IOWorkLoop()","symbolLocation":3937,"imageIndex":21},{"imageOffset":1792961,"symbol":"invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int)","symbolLocation":63,"imageIndex":21},{"imageOffset":3663724,"symbol":"HALB_IOThread::Entry(void*)","symbolLocation":72,"imageIndex":21},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137651,"frames":[{"imageOffset":13274,"symbol":"__semwait_signal","symbolLocation":10,"imageIndex":11},{"imageOffset":67753,"symbol":"nanosleep","symbolLocation":196,"imageIndex":13},{"imageOffset":67551,"symbol":"usleep","symbolLocation":53,"imageIndex":13},{"imageOffset":223070,"symbol":"CMIOGraph::OneOrMoreInputUnitsAreReadyToBePulled(bool&)","symbolLocation":758,"imageIndex":22},{"imageOffset":226114,"symbol":"CMIOGraph::DoWork(unsigned int)","symbolLocation":440,"imageIndex":22},{"imageOffset":236178,"symbol":"CMIO::Thread::QueuedTWorkThread::DoWork()","symbolLocation":144,"imageIndex":22},{"imageOffset":271520,"symbol":"CMIO::Thread::SignaledThread::ThreadLoop()","symbolLocation":144,"imageIndex":22},{"imageOffset":271334,"symbol":"CMIO::Thread::SignaledThread::WorkQueuedThreadCallback(void*)","symbolLocation":72,"imageIndex":22},{"imageOffset":122064,"symbol":"figThreadMain","symbolLocation":276,"imageIndex":23},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]},{"id":137657,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":10}]},{"id":137659,"name":"com.apple.NSEventThread","frames":[{"imageOffset":2746,"symbol":"mach_msg_trap","symbolLocation":10,"imageIndex":11},{"imageOffset":3627,"symbol":"mach_msg","symbolLocation":59,"imageIndex":11},{"imageOffset":527090,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":319,"imageIndex":6},{"imageOffset":520651,"symbol":"__CFRunLoopRun","symbolLocation":1325,"imageIndex":6},{"imageOffset":517597,"symbol":"CFRunLoopRunSpecific","symbolLocation":563,"imageIndex":6},{"imageOffset":1756536,"symbol":"_NSEventThread","symbolLocation":132,"imageIndex":4},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":10},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":10}]}], "usedImages" : [ { "source" : "P", "arch" : "x86_64", "base" : 4444278784, "CFBundleShortVersionString" : "5.15", "CFBundleIdentifier" : "org.qt-project.QtGui", "size" : 5160960, "uuid" : "6eab2726-73f2-37e2-886e-ba4bf4592485", "path" : "/Applications/OBS.app/Contents/Frameworks/QtGui.framework/Versions/5/QtGui", "name" : "QtGui", "CFBundleVersion" : "5.15.2" }, { "source" : "P", "arch" : "x86_64", "base" : 4399075328, "CFBundleShortVersionString" : "5.15", "CFBundleIdentifier" : "org.qt-project.QtWidgets", "size" : 4505600, "uuid" : "41ccad67-4ed9-3686-a341-443359e05463", "path" : "/Applications/OBS.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets", "name" : "QtWidgets", "CFBundleVersion" : "5.15.2" }, { "source" : "P", "arch" : "x86_64", "base" : 4457066496, "CFBundleShortVersionString" : "5.15", "CFBundleIdentifier" : "org.qt-project.QtCore", "size" : 5521408, "uuid" : "51b713b9-26d0-3a5a-8cb8-7726f8a0156f", "path" : "/Applications/OBS.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore", "name" : "QtCore", "CFBundleVersion" : "5.15.2" }, { "source" : "P", "arch" : "x86_64", "base" : 4441182208, "size" : 1474560, "uuid" : "d46341c5-56e1-3953-8790-3df4b0213913", "path" : "/Applications/OBS.app/Contents/PlugIns/platforms/libqcocoa.dylib", "name" : "libqcocoa.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703535714304, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.AppKit", "size" : 15265792, "uuid" : "521cdd59-fbfa-391d-bd09-1b046b296dd4", "path" : "/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit", "name" : "AppKit", "CFBundleVersion" : "2113.20.109" }, { "source" : "P", "arch" : "x86_64", "base" : 140703609663488, "CFBundleShortVersionString" : "1.11", "CFBundleIdentifier" : "com.apple.QuartzCore", "size" : 3051520, "uuid" : "85f64309-961e-3fdc-b265-113ee064c097", "path" : "/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore", "name" : "QuartzCore", "CFBundleVersion" : "962.61" }, { "source" : "P", "arch" : "x86_64h", "base" : 140703491223552, "CFBundleShortVersionString" : "6.9", "CFBundleIdentifier" : "com.apple.CoreFoundation", "size" : 5255168, "uuid" : "b6fab1bc-2b4b-3aa1-9d57-c8a246636f64", "path" : "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation", "name" : "CoreFoundation", "CFBundleVersion" : "1856.105" }, { "source" : "P", "arch" : "x86_64", "base" : 140703638540288, "CFBundleShortVersionString" : "2.1.1", "CFBundleIdentifier" : "com.apple.HIToolbox", "size" : 3112960, "uuid" : "891edf2e-4e76-35f5-8ec9-a6dc43ee7855", "path" : "/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox", "name" : "HIToolbox" }, { "source" : "P", "arch" : "x86_64", "base" : 4376068096, "CFBundleShortVersionString" : "27.1.3", "CFBundleIdentifier" : "com.obsproject.obs-studio", "size" : 2785280, "uuid" : "c14cd39e-1950-3fee-9abe-b9506c8f4bfe", "path" : "/Applications/OBS.app/Contents/MacOS/obs", "name" : "obs", "CFBundleVersion" : "27.1.3" }, { "source" : "P", "arch" : "x86_64", "base" : 4584796160, "size" : 442368, "uuid" : "15411f2c-1dc7-3958-b73d-d85cdf549ec1", "path" : "/usr/lib/dyld", "name" : "dyld" }, { "source" : "P", "arch" : "x86_64", "base" : 140703490908160, "size" : 49152, "uuid" : "f94c8e74-5f61-3586-9ced-d571d39a5e82", "path" : "/usr/lib/system/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703490682880, "size" : 225280, "uuid" : "aa1f8c2f-2312-3357-8e8e-816b11827850", "path" : "/usr/lib/system/libsystem_kernel.dylib", "name" : "libsystem_kernel.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 4393041920, "size" : 704512, "uuid" : "8a336fa8-3694-3b10-a9f3-2a4d5d982285", "path" : "/Applications/OBS.app/Contents/Frameworks/libobs.0.dylib", "name" : "libobs.0.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703489667072, "size" : 561152, "uuid" : "f56eb4e9-f48f-3b24-8db3-0d41ffa35c3a", "path" : "/usr/lib/system/libsystem_c.dylib", "name" : "libsystem_c.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703490592768, "size" : 90112, "uuid" : "326e7524-1528-3956-bdc2-ef7b3f46dace", "path" : "/usr/lib/libc++abi.dylib", "name" : "libc++abi.dylib" }, { "source" : "P", "arch" : "x86_64h", "base" : 140703489417216, "size" : 237568, "uuid" : "a0368fd7-2406-30aa-85af-dfa54c3510ac", "path" : "/usr/lib/libobjc.A.dylib", "name" : "libobjc.A.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 4997959680, "size" : 11370496, "uuid" : "325ada8c-bcba-3c02-9cd6-bf00e58c41a1", "path" : "/Applications/OBS.app/Contents/PlugIns/obs-virtualbg.so", "name" : "obs-virtualbg.so" }, { "source" : "P", "arch" : "x86_64", "base" : 4577763328, "size" : 98304, "uuid" : "5b366a30-6f2e-3d3d-af5f-926ef315ae61", "path" : "/Applications/OBS.app/Contents/Frameworks/libobs-scripting.dylib", "name" : "libobs-scripting.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 140703490228224, "size" : 364544, "uuid" : "647226b5-003f-3039-9cac-73bcb427c4ad", "path" : "/usr/lib/libc++.1.dylib", "name" : "libc++.1.dylib" }, { "source" : "P", "arch" : "x86_64", "base" : 4978425856, "size" : 1966080, "uuid" : "20afb033-aa27-38b6-affe-cdab644aa047", "path" : "/Library/Application Support/obs-studio/*/StreamFX.so", "name" : "StreamFX.so" }, { "source" : "P", "arch" : "x86_64", "base" : 140703636062208, "CFBundleShortVersionString" : "1.0", "CFBundleIdentifier" : "com.apple.audio.caulk", "size" : 143360, "uuid" : "2d90f846-5aab-3ced-ba79-67ccb5492602", "path" : "/System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk", "name" : "caulk" }, { "source" : "P", "arch" : "x86_64", "base" : 140703517270016, "CFBundleShortVersionString" : "5.0", "CFBundleIdentifier" : "com.apple.audio.CoreAudio", "size" : 7503872, "uuid" : "7d634597-8fd4-3ae1-8dbd-3d442f6d1e10", "path" : "/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio", "name" : "CoreAudio", "CFBundleVersion" : "5.0" }, { "source" : "P", "arch" : "x86_64", "base" : 140703721390080, "CFBundleShortVersionString" : "1000.0", "CFBundleIdentifier" : "com.apple.CoreMediaIO", "size" : 876544, "uuid" : "a6469ba6-5536-36c4-b302-bcfdac0d2b54", "path" : "/System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO", "name" : "CoreMediaIO", "CFBundleVersion" : "5352.3" }, { "source" : "P", "arch" : "x86_64", "base" : 140703636205568, "CFBundleShortVersionString" : "1.0", "CFBundleIdentifier" : "com.apple.CoreMedia", "size" : 1052672, "uuid" : "fd28d023-77eb-3dd8-9d28-c0ac447bb25a", "path" : "/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia", "name" : "CoreMedia", "CFBundleVersion" : "2930.8.1.4.1" } ], "sharedCache" : { "base" : 140703487680512, "size" : 15216377856, "uuid" : "fb34b1e9-df67-33c1-9f84-d8ce2d077857" }, "vmSummary" : "ReadOnly portion of Libraries: Total=1.4G resident=0K(0%) swapped_out_or_unallocated=1.4G(100%)\nWritable regions: Total=678.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=678.1M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nAccelerate framework 256K 2 \nActivity Tracing 256K 1 \nCG backing stores 960K 4 \nCG image 108K 9 \nColorSync 236K 27 \nCoreAnimation 160K 21 \nCoreGraphics 12K 2 \nCoreUI image data 416K 8 \nFoundation 16K 1 \nKernel Alloc Once 8K 1 \nMALLOC 252.4M 118 \nMALLOC guard page 32K 8 \nMALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)\nOpenGL GLSL 256K 3 \nSTACK GUARD 56.1M 27 \nStack 21.2M 28 \nVM_ALLOCATE 7324K 72 \n__DATA 51.8M 602 \n__DATA_CONST 31.9M 345 \n__DATA_DIRTY 1616K 212 \n__FONT_DATA 4K 1 \n__GLSLBUILTINS 5176K 1 \n__LINKEDIT 671.8M 89 \n__OBJC_RO 81.8M 1 \n__OBJC_RW 3136K 2 \n__TEXT 720.0M 609 \n__UNICODE 588K 1 \ndyld private memory 1024K 1 \nmapped file 483.8M 39 \nshared memory 792K 18 \n=========== ======= ======= \nTOTAL 2.7G 2254 \nTOTAL, minus reserved VM space 2.3G 2254 \n", "legacyInfo" : { "threadTriggered" : { "name" : "libobs: graphics thread" } }, "trialInfo" : { "rollouts" : null, "experiments" : null } }

    Model: Macmini8,1, BootROM 1715.60.5.0.0 (iBridge: 19.16.10645.5.1,0), 4 processors, Quad-Core Intel Core i3, 3.6 GHz, 16 GB, SMC Graphics: Intel UHD Graphics 630, Intel UHD Graphics 630, Built-In Display: DELL U2713HM, 2560 x 1440 (QHD/WQHD - Wide Quad High Definition), Main, MirrorOff, Online Memory Module: BANK 0/ChannelA-DIMM0, 8 GB, DDR4, 2667 MHz, 859B, CT8G4SFS8266.M8FE Memory Module: BANK 2/ChannelB-DIMM0, 8 GB, DDR4, 2667 MHz, 859B, CT8G4SFS8266.M8FE AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x7BF), wl0: Jul 12 2021 19:26:30 version 9.30.464.0.32.5.76 FWID 01-45ccefcd Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports Network Service: Wi-Fi, AirPort, en1 USB Device: Mobile Drive USB Device: G-DRIVE mobile SSD R-Series USB Device: USB31Bus USB Device: AmazonBasics Desktop Mini Mic USB Device: miscellaneous_device USB Device: T2Bus USB Device: Headset USB Device: Apple T2 Controller Thunderbolt Bus: Mac mini, Apple Inc., 47.5 Thunderbolt Bus: Mac mini, Apple Inc., 47.5

    opened by francisjervis 4
  • Gray screen.

    Gray screen.

    Screenshot_1

    17:11:06.396: CPU Name: AMD Ryzen 7 2700 Eight-Core Processor
    17:11:06.396: CPU Speed: 3200MHz 17:11:06.396: Physical Cores: 8, Logical Cores: 16 17:11:06.396: Physical Memory: 32689MB Total, 16340MB Free 17:11:06.396: Windows Version: 10.0 Build 22000 (release: 2009; revision: 376; 64-bit) 17:11:06.396: Running as administrator: false 17:11:06.397: Aero is Enabled (Aero is always on for windows 8 and above) 17:11:06.397: Windows 10 Gaming Features: 17:11:06.397: Game DVR: On 17:11:06.397: Game Mode: Off 17:11:06.397: Sec. Software Status: 17:11:06.399: 17:11:06.399: 17:11:06.399: Current Date/Time: 2021-12-18, 17:11:06 17:11:06.399: Browser Hardware Acceleration: true 17:11:06.399: Portable mode: false 17:11:06.679: OBS 27.1.3 (64-bit, windows) 17:11:06.679: --------------------------------- 17:11:06.687: --------------------------------- 17:11:06.687: audio settings reset: 17:11:06.687: samples per sec: 48000 17:11:06.687: speakers: 2 17:11:06.691: --------------------------------- 17:11:06.691: Initializing D3D11... 17:11:06.691: Available Video Adapters: 17:11:06.694: Adapter 0: Radeon RX 580 Series 17:11:06.694: Dedicated VRAM: 4273434624 17:11:06.694: Shared VRAM: 4253929472 17:11:06.694: PCI ID: 1002:67df 17:11:06.694: Driver Version: 30.0.13033.1000 17:11:06.694: output 0: pos={0, 0}, size={1920, 1200}, attached=true, refresh=60, name=DELL U2412M 17:11:06.694: output 1: pos={1920, 0}, size={1920, 1080}, attached=true, refresh=59, name=SAMSUNG 17:11:06.696: Loading up D3D11 on adapter Radeon RX 580 Series (0) 17:11:06.740: D3D11 loaded successfully, feature level used: b000 17:11:06.740: DXGI increase maximum frame latency success 17:11:06.740: D3D11 GPU priority setup failed (not admin?) 17:11:07.262: --------------------------------- 17:11:07.262: video settings reset: 17:11:07.262: base resolution: 1920x1080 17:11:07.262: output resolution: 1280x720 17:11:07.262: downscale filter: Bicubic 17:11:07.262: fps: 30/1 17:11:07.262: format: NV12 17:11:07.262: YUV mode: 709/Partial 17:11:07.262: NV12 texture support enabled 17:11:07.263: Audio monitoring device: 17:11:07.263: name: CABLE-A Input (VB-Audio Cable A) 17:11:07.263: id: {0.0.0.00000000}.{3b6747bb-d74a-4b79-a513-d5096e331989} 17:11:07.263: --------------------------------- 17:11:07.264: Skipping module '../../obs-plugins/64bit/chrome_elf.dll', not an OBS plugin 17:11:07.268: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded 17:11:07.269: Failed to load 'en-US' text for module: 'decklink-captions.dll' 17:11:07.269: Failed to load 'en-US' text for module: 'decklink-ouput-ui.dll' 17:11:07.270: Skipping module '../../obs-plugins/64bit/DirectML.dll', not an OBS plugin 17:11:07.526: [AMF] Version 2.7.0 loaded (Compiled: 1.4.14.0, Runtime: 1.4.22.0, Library: 1;4;22;0;21.30.25.05;202110051216;CL#2364427). 17:11:07.565: [AMF] <Id: 1> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11) 17:11:07.616: [AMF] <Id: 2> Unable to set converter transfer characteristic, error AMF_NOT_FOUND (code 11) 17:11:07.629: [AMF] [Capability Manager] Testing Direct3D 11 Adapter 'Radeon RX 580 Series (VEN_1002/DEV_67df/SUB_e3531da2/REV_00e7)': 17:11:07.629: H264/AVC: Supported 17:11:07.629: H265/HEVC: Supported 17:11:07.629: 17:11:07.640: Skipping module '../../obs-plugins/64bit/libcef.dll', not an OBS plugin 17:11:07.650: Skipping module '../../obs-plugins/64bit/libEGL.dll', not an OBS plugin 17:11:07.650: Skipping module '../../obs-plugins/64bit/libGLESv2.dll', not an OBS plugin 17:11:07.658: [obs-browser]: Version 2.16.3 17:11:07.658: [obs-browser]: CEF Version 75.1.16+g16a67c4+chromium-75.0.3770.100 17:11:07.665: [noise suppress]: NVIDIA RTX denoiser disabled, redistributable not found 17:11:08.332: Failed to load 'ru-RU' text for module: 'obs-virtualbg.dll' 17:11:08.336: Skipping module '../../obs-plugins/64bit/onnxruntime.dll', not an OBS plugin 17:11:08.343: Couldn't find VLC installation, VLC video source disabled 17:11:08.352: A DeckLink iterator could not be created. The DeckLink drivers may not be installed 17:11:08.353: No blackmagic support 17:11:08.361: --------------------------------- 17:11:08.361: Loaded Modules: 17:11:08.361: win-wasapi.dll 17:11:08.361: win-mf.dll 17:11:08.361: win-dshow.dll 17:11:08.361: win-decklink.dll 17:11:08.361: win-capture.dll 17:11:08.361: vlc-video.dll 17:11:08.361: text-freetype2.dll 17:11:08.361: rtmp-services.dll 17:11:08.361: obs-x264.dll 17:11:08.361: obs-vst.dll 17:11:08.361: obs-virtualbg.dll 17:11:08.361: obs-transitions.dll 17:11:08.361: obs-text.dll 17:11:08.361: obs-qsv11.dll 17:11:08.361: obs-outputs.dll 17:11:08.361: obs-filters.dll 17:11:08.361: obs-ffmpeg.dll 17:11:08.361: obs-browser.dll 17:11:08.361: image-source.dll 17:11:08.361: frontend-tools.dll 17:11:08.361: enc-amf.dll 17:11:08.361: decklink-ouput-ui.dll 17:11:08.361: decklink-captions.dll 17:11:08.361: coreaudio-encoder.dll 17:11:08.361: --------------------------------- 17:11:08.362: ==== Startup complete =============================================== 17:11:08.379: All scene data cleared

    opened by Nemnon 3
  • Documentation for Mac

    Documentation for Mac

    Can you please update the documentation with the installation instructions for Mac? I am not sure where to copy the two directories. Will this work on Mac M1 chips? Thanks!

    opened by bruxy70 2
  • Build Ubuntu package

    Build Ubuntu package

    Description

    This PR implements the packaging flow for Ubuntu.

    • ONNX runtime is installed into /usr/lib/obs-virtualbg/ by following obs-backgroundremoval in AUR. Even if another package uses a different version of ONNX runtime, it should not conflict.
    • Debian package is created by checkinstall. The code came from the previous obs-plugintemplate
      • License is modified to MIT since the plugin is released under MIT license.
      • The maintainer property is not implemented.
    • In CMakeLists.txt, CMAKE_INSTALL_FULL_LIBDIR is not expanded to /usr/lib, I implemented another variable OBS_PLUGIN_DESTINATION that can be specified from cmake's command line.

    How it has been tested

    OS: Ubuntu 20.04.3 LTS. I ran this flow on Github Actions with my account, downloaded the package and installed to my Ubuntu machine on VirtualBox. And, I installed the package and confirmed the background becomes transparent.

    Close #52.

    feature minor 
    opened by norihiro 2
  • nothing appears underneath

    nothing appears underneath

    I did everything right, but nothing appears underneath the "rendering mode" option. And after applying the rendering, the Cam changed to transparent. Please see the attached screenshot. Thanks Snipaste_2021-10-21_10-17-28 .

    opened by Kevinzgithub 2
  • OBS Crashes Immediately

    OBS Crashes Immediately

    When I try to start a stream, I get a crash notice. It's happened every time since I added this plugin. I've tripled checked that the files are where they're supposed to be (at least as much as someone with brain damage can). I've installed the latest version.

    I'm using Win 10 Professional and the latest version of OBS.

    Crash log attached below.

    FWIW, I really like this plugin! I'm hoping I'll be able to use it soon.

    All the best and Happy New Year,

    AHNC_Hat

    Crash 2021-12-26 16-50-57.txt

    opened by AHNC-Hat 1
  • Fix memory access issues

    Fix memory access issues

    This PR fixes two issues.

    • filter_data->mask_buffer was freed after freeing filter_data, which causes read-after-free.
    • memory leaks of filter_data->texture, filter_data->texture2, and filter_data->mask_buffer2.
    opened by norihiro 1
  • Apple Code Signing

    Apple Code Signing

    I developed obs-virtualbg plugin for Mac with CoreML support. But I cannot distribute it. Because I am not a member of the Apple Developer Program and therefore cannot perform code signing.

    Is there anyone who can help me?

    plan 1: Support $99/yr for me plan 2: join as a maintainer and provide certificates by your Apple Developer Program

    help wanted 
    opened by kounoike 0
  • Crashes OBS 27.2.0 Every Time

    Crashes OBS 27.2.0 Every Time

    Upgraded OBS to 27.2.0 and this plugin crashes it every time I enable the virtual background detector filter.

    This is easy to reproduce. Simply add the detector filter and enable it. Boom!

    The log complains:

    07:27:10.725: [Virtual BG detector] frame size or format change detected 07:27:10.725: error: Picture size 0x0 is invalid 07:27:10.725: video_scaler_create: av_image_alloc failed: -22 07:27:10.725: [Virtual BG detector] Can't create video_scaler_create -2

    The crash report complains:

    Unhandled exception: e06d7363 Date/Time: 2022-02-16, 07:14:45 Fault address: 7FFD9D314F69 (c:\windows\system32\kernelbase.dll) libobs version: 27.2.0 (64-bit) Windows version: 10.0 build 19043 (release: 2009; revision: 1526; 64-bit) CPU: Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz

    Thread 6C28: libobs: graphics thread (Crashed) 2022-02-16 07-14-30.txt Crash 2022-02-16 07-14-45.txt

    opened by mfgering 41
  • Black Cowboy Hat Only Shows the Crown

    Black Cowboy Hat Only Shows the Crown

    Now I have something to ask about!

    I tried steaming today with my Monday hat (I always wear a hat - that's why everyone calls me "Hat."). It's a black Stetson. Unfortunately, only the main part of the hat - the crown - showed. The brim was nowhere to be found.

    I tried a background .jpg with a white background as opposed to the multi-colored "Far Cry 6" thumbnail I was using. Same problem. It worked pretty well with a blue baseball cap w/ white lettering on the front, so this problem w/ the black hat surprised me.

    I don't know if it's because the brim is thin, meaning there's not enough width to be noticed. That's my one thought. I ain't that bright.

    Happy New Year!

    Steve "Hat" G.

    opened by AHNC-Hat 0
Releases(v1.1.0)
  • v1.1.0(Oct 28, 2021)

    Changes

    Fix Initialize error. thanks @simonbunge (#31)

    ๐Ÿš€ Features

    • add DirectML DLL into zip @kounoike (#43)
    • Feature: add gpu cpu settings @kounoike (#39)
    • add Linux suppport @kounoike (#33)
    • add mac os support @kounoike (#30)

    ๐Ÿ› Bug Fixes

    • fix auto scheduler support @kounoike (#44)
    • Fix Mac OS X build error @kounoike (#38)
    • Fix problem partially, when filter_video calls with frame->width or height == 0 @kounoike (#35)

    ๐Ÿ”ง Refactoring

    • Refactor split functions, more error detection @kounoike (#37)
    Source code(tar.gz)
    Source code(zip)
    obs-virtualbg-v1.1.0-Darwin.zip(5.45 MB)
    obs-virtualbg-v1.1.0-win64.zip(15.90 MB)
  • v1.1.0-pre(Oct 28, 2021)

    Changes

    ๐Ÿš€ Features

    • add DirectML DLL into zip @kounoike (#43)
    • Feature: add gpu cpu settings @kounoike (#39)
    • add Linux suppport @kounoike (#33)
    • add mac os support @kounoike (#30)

    ๐Ÿ› Bug Fixes

    • fix auto scheduler support @kounoike (#44)
    • Fix Mac OS X build error @kounoike (#38)
    • Fix problem partially, when filter_video calls with frame->width or height == 0 @kounoike (#35)

    ๐Ÿ”ง Refactoring

    • Refactor split functions, more error detection @kounoike (#37)
    Source code(tar.gz)
    Source code(zip)
    obs-virtualbg-v1.1.0-pre-Darwin.zip(5.45 MB)
    obs-virtualbg-v1.1.0-pre-win64.zip(15.90 MB)
  • v1.0.1(Oct 3, 2021)

  • v1.0.0(Oct 3, 2021)

    Version 1.0.0 didn't include dependency DLL. Use v1.0.1 or later version's release plz.

    Changes

    • resize image @kounoike (#27)

    ๐Ÿš€ Features

    • add halide blur feature @kounoike (#20)
    • introduce parameters @kounoike (#19)

    ๐Ÿ› Bug Fixes

    • Fix stopping output when format changed @kounoike (#18)
    • Fix memory leak @kounoike (#17)

    ๐Ÿงฐ Maintenance

    • remove noisy log @kounoike (#25)
    • doc -> documentation @kounoike (#24)
    • add doc labels @kounoike (#22)
    • remove OpenCV dependencies @kounoike (#21)

    ๐Ÿ”ง Refactoring

    • refactor detector's name @kounoike (#16)

    ๐Ÿ“– Documentation

    • add README @kounoike (#26)
    • add Japanese README @kounoike (#23)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.6(Oct 2, 2021)

  • v0.0.5(Oct 2, 2021)

  • v0.0.4(Oct 2, 2021)

  • v0.0.3(Oct 2, 2021)

  • v0.0.2(Oct 1, 2021)

    Changes

    • add pr-labeler @kounoike (#8)

    ๐Ÿš€ Features

    • add Japanese translation @kounoike (#10)

    ๐Ÿ› Bug Fixes

    • fix width/height handling bug @kounoike (#9)

    ๐Ÿงฐ Maintenance

    • chore tasks @kounoike (#11)
    Source code(tar.gz)
    Source code(zip)
  • v0.0.1(Oct 1, 2021)

    This release is test for release-drafter

    Changes

    • Create LICENSE @kounoike (#1)
    • add pr-labeler @kounoike (#8)

    ๐Ÿš€ Features

    • add smoothing feature by feedback loop @kounoike (#6)

    ๐Ÿ› Bug Fixes

    • Fix crash when source size is changed @kounoike (#7)
    • fix-mask-key @kounoike (#5)
    • fix render update timing issue @kounoike (#4)
    • Fix cache @kounoike (#3)
    • Fix CI build @kounoike (#2)
    Source code(tar.gz)
    Source code(zip)
Owner
KOUNOIKE Yuusuke
KOUNOIKE Yuusuke
An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Discord's application streaming.

win-capture-audio An OBS plugin based on OBS's win-capture/game-capture that hooks WASAPI's audio output functions (rather than the various graphics A

Joe Kaushal 2.5k Aug 4, 2022
"Zero-copy" Linux screen capture plugin for OBS that uses libdrm and dmabuf

linux-kmsgrab plugin for OBS Introduction This plugin is a proof-of-concept libdrm-based screen capture for OBS. It uses DMA-BUF to import CRTC frameb

Ivan Avdeev 51 Jun 19, 2022
OBS Plugin to capture CS:GO with Trusted Mode enabled

OBS Plugin to capture CS:GO with Trusted Mode enabled Ever since Valve introduced Trusted Mode you could no longer capture Counter-Strike: Global Offe

Gregor Steiner 101 Jul 15, 2022
OBS Plugin with image that reacts to sound source.

OBS Image Reaction Plugin Image that reacts to sound source. Installing binaries Download binaries from Releases. For Windows, Move the contents of pl

null 28 Aug 1, 2022
audio monitor filter for OBS Studio

Audio Monitor dock and filter for OBS Studio Plugin for OBS Studio to add Audio Monitor dock and filter. It allows you to put the audio of a OBS sourc

Exeldro 187 Jul 30, 2022
Scream - Virtual network sound card for Microsoft Windows

Scream is a virtual device driver for Windows that provides a discrete sound device. Audio played through this device is published on your local network as a PCM multicast stream.

Tom Kistner 1.3k Aug 3, 2022
PeakEater is a free open-source VST3/AU waveshaper plugin

PeakEater Free open source VST3/AU wave shaping plugin for macOS and Windows. View Demo ยท Download ยท Report Bug Table of Contents About The Project Fe

Vladyslav Voinov 42 Aug 2, 2022
BYOD is a guitar distortion plugin with a customisable signal chain that allows users to create their own guitar distortion effects.

BYOD is a guitar distortion plugin with a customisable signal chain that allows users to create their own guitar distortion effects. The plugin contains a wide variety of distortion effects from analog modelled circuits to purely digital creations, along with some musical tone-shaping filters, and a handful of other useful processing blocks.

null 155 Aug 7, 2022
ChowKick is a kick drum synthesizer plugin based on creative modelling of old-school drum machine circuits

ChowKick is a kick drum synthesizer plugin based on creative modelling of old-school drum machine circuits. MIDI input to the plugin triggers a pulse with a parameterized size and shape. The pulse is then passed into a resonant filter which can be tuned to a specific frequency, or matched to the frequency of the incoming MIDI notes.

null 103 Aug 6, 2022
A weird distortion and lowpass plugin

Delta Limiter Building ./waf clean configure build Documentation pandoc -s user_manual.md -o user_manual.html pandoc -s user_manual.md -o user_manual.

Hannes Braun 2 Jan 26, 2022
SuperCollider as a VST3 plugin

PluginCollider PluginCollider is an experimental fork of https://github.com/supercollider/SuperColliderAU and it is still not complete since it only b

Pascal Gauthier 24 Aug 8, 2022
Wolf MidiCurve is a MIDI remapping plugin.

Wolf MidiCurve is a MIDI remapping plugin. It can be built as an LV2 or VST plugin and as a standalone Jack application.

Wolf Plugins 7 Nov 18, 2021
Audio Plugin API

Audio Plugin API

null 1.1k Aug 1, 2022
A next generation media player, with vim-like bindings

MusicKid A next generation media player, with vim-like bindings Installation Clone the repo git clone <git-url> cd MusicKid/Final Install dependencies

null 4 Jan 10, 2022
Minimal MIDI live looper that works like sooperlooper but with MIDI instead of audio.

loop192 Minimal MIDI live looper that works like sooperlooper but with MIDI instead of audio. Build Dependencies (as debian packages) libjack-jackd2-d

null 8 Aug 7, 2022
Linear predictive coding (LPC) is an algorithm used to approximate audio signals like human speech

lpc.lv2 LPC analysis + synthesis plugin for LV2 About Linear predictive coding (LPC) is an algorithm used to approximate audio signals like human spee

null 3 May 2, 2022
An OBS plugin for removing background in portrait images (video), making it easy to replace the background when screen recording.

OBS Plugin: Background Removal Introduction Building MacOSX Linux / Ubuntu Windows Download Check out the latest releases for downloads and install in

Roy Shilkrot 1.2k Aug 4, 2022
An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Discord's application streaming.

win-capture-audio An OBS plugin based on OBS's win-capture/game-capture that hooks WASAPI's audio output functions (rather than the various graphics A

Joe Kaushal 2.5k Aug 4, 2022
Wayab(wayland animated background) allows user to set animated background on Linux(wayland).

wayab wayab(wayland animated background) allows user to set animated background on Linux(wayland). Features low CPU costs. Unlike oguri which change t

Yongsheng Xu 11 Jul 24, 2022
A push-button control panel for Zoom

Zoom Control Panel A push-button control panel for Zoom This repo contains files for building a push-button control panel for Zoom.

Elena Long 49 May 7, 2022
Add virtual monitors to your windows 10 device! Works with Oculus software, obs, and any desktop sharing software

License MIT and CC0 or Public Domain, whichever is least restrictive -- Use it AS IS - NO IMPLICIT OR EXPLICIT warranty This may break your computer,

Rashi Abramson 176 Aug 4, 2022
Rule Engine (RE) creates an interpretable anomaly classifier from many one-feature and two-feature decision rules

Rule Engine (RE) creates an interpretable anomaly classifier from many one-feature and two-feature decision rules

James Thomas 14 Jul 16, 2022
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.

Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.

Google 1.3k Aug 5, 2022
"Zero-copy" Linux screen capture plugin for OBS that uses libdrm and dmabuf

linux-kmsgrab plugin for OBS Introduction This plugin is a proof-of-concept libdrm-based screen capture for OBS. It uses DMA-BUF to import CRTC frameb

Ivan Avdeev 51 Jun 19, 2022
OBS Plugin to capture CS:GO with Trusted Mode enabled

OBS Plugin to capture CS:GO with Trusted Mode enabled Ever since Valve introduced Trusted Mode you could no longer capture Counter-Strike: Global Offe

Gregor Steiner 101 Jul 15, 2022
Face tracking plugin for OBS Studio

OBS Face Tracker Plugin Introduction This plugin provide a filter for face detection and face tracking for mainly a speaking person. This plugin emplo

Norihiro Kamae 152 Aug 4, 2022
OBS Plugin with image that reacts to sound source.

OBS Image Reaction Plugin Image that reacts to sound source. Installing binaries Download binaries from Releases. For Windows, Move the contents of pl

null 28 Aug 1, 2022
A modern dynamically typed programming language that gets compiled to bytecode and is run in a virtual machine called SVM (Strawbry Virtual Machine).

Strawbry A bytecode programming language. Here is what I want Strawbry to look like: var a = 1 var b = 2 var c = a + b print(c) func sqrt(x) { re

PlebusSupremus1234 6 Jan 5, 2022
A virtual network Differential GNSS server-client project using Precise Point Positioning (PPP). Global coverage. Without physical base station construction needed. An open-source virtual base station approach.

Virtual-Network-DGNSS-Project This project is the software implementation for a publicly available, open-source, client/server VN-DGNSS implementation

null 10 May 20, 2022