Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preparing for 4.12.0 release #919

Merged
merged 20 commits into from Nov 12, 2023
Merged

Preparing for 4.12.0 release #919

merged 20 commits into from Nov 12, 2023

Conversation

paulpv
Copy link
Member

@paulpv paulpv commented Nov 2, 2023

No description provided.

Trouffman and others added 10 commits March 6, 2023 11:10
Include proper French translations (almost Quebec-ready)
Suggested change in adding the link to the github project for Linux source. > Should be updated with a link tot he discussion that get always up to date on how to do.
Based exclusively on work by secarica - #883
@paulpv paulpv force-pushed the develop branch 9 times, most recently from ac1f852 to ff1abc9 Compare November 11, 2023 00:52
@paulpv
Copy link
Member Author

paulpv commented Nov 11, 2023

The issue is most definitely QT related as Im still having an issue with this build.

On Fri, Nov 10, 2023, 1:38 PM Jarkko Saltiola @.> wrote: @paulpv https://github.com/paulpv Yes, I did post report here first but moved it to issue page #897 (comment) <#897 (comment)> as there were similar findings and I got assignment there. Didn't realize it triggered from original message here. Interesting findings, I don't understand QT toolkit that deep myself but the desktop is definitely not on QT6 yet. System: Desktop: KDE Plasma v: 5.27.5 wm: kwin_x11 vt: 7 dm: SDDM Distro: MX-23.1_x64 Libretto June 13 2023 base: Debian GNU/Linux 12 (bookworm) — Reply to this email directly, view it on GitHub <#919 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP5JF4PG5DHDKF5VG6HARZLYDZ7DRAVCNFSM6AAAAAA63SMMOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWGMZTCOJUGU . You are receiving this because you commented.Message ID: @.>

What precise version of OBS are you running?
Also please view OBS' log and find the Qt version that it has loaded.
I am going to guess Qt5.

All properties needed by `ndi_source_thread` moved to `ndi_source_config_t`.
`ndi_source_thread` has its own local `ndi_source_config_t`.
`ndi_source_update` updates ndi_source_t->config.
`ndi_source_thread`:
1. snapshots this (copy constructor)
2. tests for any changes
3. resets ndi_receiver as necessary
4. sends hwend, ptz, tally as necessary

Also tweaked obs-ndi-filter and obs-ndi-output a bit.
Mostly to:
* change `struct` to `typedef struct`
* removed redundant `struct` keywords
* log when buffer is allocated/resized/freed
@SkullCarverCoder
Copy link

Just tested it , still receiving core dump.

System and OBS related Packages:

Desktop: GNOME 45.0 wm: Mutter
OS: Ubuntu 23.10 x86_64
Kernel: 6.5.0-10-generic

--verbose output:

QSocketNotifier: Can only be used with threads started with QThread
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Command Line Arguments: --verbose
info: Platform: Wayland
info: CPU Name: AMD Ryzen 7 3700X 8-Core Processor
info: CPU Speed: 3593.215MHz
info: Physical Cores: 5, Logical Cores: 5
info: Physical Memory: 9898MB Total, 6079MB Free
info: Kernel Version: Linux 6.5.0-10-generic
info: Distribution: "Ubuntu" "23.10"
info: Desktop Environment: ubuntu:GNOME (ubuntu)
info: Session Type: wayland
info: Qt Version: 5.15.10 (runtime), 5.15.10 (compiled)
info: Portable mode: false
debug: Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
debug: Attempted path: /usr/share/obs/obs-studio/themes/Dark/no_sources.svg
QMetaObject::connectSlotsByName: Connecting slot on_transitionDuration_valueChanged() with the first of the following compatible signals: ("valueChanged(int)", "valueChanged(QString)")
info: OBS 29.1.3.1-2 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
	samples per sec: 48000
	speakers:        2
	max buffering:   960 milliseconds
	buffering type:  dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
info: Using EGL/Wayland
info: Initialized EGL 1.5
debug: Supported EGL Extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_present_opaque EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image 
info: Loading up OpenGL on adapter Intel Mesa Intel(R) Arc(tm) A750 Graphics (DG2)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3, shading language 4.60
info: ---------------------------------
info: video settings reset:
	base resolution:   1920x1080
	output resolution: 1920x1080
	downscale filter:  Bicubic
	fps:               60/1
	format:            NV12
	YUV mode:          Rec. 709/Partial
info: NV12 texture support not available
info: P010 texture support not available
info: Audio monitoring device:
	name: Default
	id: default
info: ---------------------------------
debug: ---------------------------------
debug: Loading module: decklink-captions.so
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
debug: ---------------------------------
debug: Loading module: decklink-output-ui.so
warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
debug: ---------------------------------
debug: Loading module: decklink.so
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
warning: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
warning: Failed to initialize module 'decklink.so'
debug: ---------------------------------
debug: Loading module: frontend-tools.so
debug: ---------------------------------
debug: Loading module: image-source.so
debug: ---------------------------------
debug: Loading module: linux-alsa.so
debug: ---------------------------------
debug: Loading module: linux-capture.so
debug: ---------------------------------
debug: Loading module: linux-jack.so
debug: ---------------------------------
debug: Loading module: linux-pipewire.so
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
debug: ---------------------------------
debug: Loading module: linux-pulseaudio.so
debug: ---------------------------------
debug: Loading module: linux-v4l2.so
debug: ---------------------------------
debug: Loading module: obs-ffmpeg.so
debug: VAAPI: Initializing display in vaapi_device_h264_supported
debug: Libva: VA-API version 1.19.0
debug: Libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
debug: Libva: Found init function __vaDriverInit_1_18
debug: Libva: va_openDriver() returns 0
debug: VAAPI: Display initialized
info: VAAPI: API version 1.19
debug: VAAPI: 'Intel iHD driver for Intel(R) Gen Graphics - 23.2.3 ()' in use for device '/dev/dri/renderD128'
debug: VAAPI: VAProfileH264ConstrainedBaseline VAEntrypointEncSlice is not supported by the device '/dev/dri/renderD128'
debug: VAAPI: VAProfileH264Main VAEntrypointEncSlice is not supported by the device '/dev/dri/renderD128'
debug: VAAPI: VAProfileH264High VAEntrypointEncSlice is not supported by the device '/dev/dri/renderD128'
debug: '/dev/dri/renderD128' support low power encoding with VAProfileH264ConstrainedBaseline
debug: '/dev/dri/renderD128' support low power encoding with VAProfileH264Main
debug: '/dev/dri/renderD128' support low power encoding with VAProfileH264High
info: FFmpeg VAAPI H264 encoding supported
debug: VAAPI: Initializing display in vaapi_device_hevc_supported
debug: Libva: VA-API version 1.19.0
debug: Libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
debug: Libva: Found init function __vaDriverInit_1_18
debug: Libva: va_openDriver() returns 0
debug: VAAPI: Display initialized
debug: VAAPI: 'Intel iHD driver for Intel(R) Gen Graphics - 23.2.3 ()' in use for device '/dev/dri/renderD128'
debug: VAAPI: VAProfileHEVCMain VAEntrypointEncSlice is not supported by the device '/dev/dri/renderD128'
debug: VAAPI: VAProfileHEVCMain10 VAEntrypointEncSlice is not supported by the device '/dev/dri/renderD128'
debug: '/dev/dri/renderD128' support low power encoding with VAProfileHEVCMain
debug: '/dev/dri/renderD128' support low power encoding with VAProfileHEVCMain10
info: FFmpeg VAAPI HEVC encoding supported
debug: ---------------------------------
debug: Loading module: obs-filters.so
debug: ---------------------------------
debug: Loading module: obs-ndi.so
info: [obs-ndi] obs_module_load: you can haz obs-ndi (Version 4.12.0)
info: [obs-ndi] obs_module_load: Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.4.2
info: [obs-ndi] load_ndilib: Trying '/usr/lib/libndi.so.5'
info: [obs-ndi] load_ndilib: Found NDI library at '/usr/lib/libndi.so.5'
info: [obs-ndi] load_ndilib: NDI runtime loaded successfully
info: [obs-ndi] load_ndilib: NDIlib_v5_load found
info: [obs-ndi] obs_module_load: NDI library initialized successfully ('NDI SDK LINUX 18:49:05 Jul 26 2023 5.6.0')
info: [obs-ndi] preview_output_init('OBS Preview')
info: [obs-ndi] +ndi_output_create('OBS Preview'...)
info: [obs-ndi] ndi_output_update('OBS Preview'...)
info: [obs-ndi] -ndi_output_create('OBS Preview'...)
debug: output 'NDI Preview Output' (ndi_output) created
QWidget: Must construct a QApplication before a QWidget
Aborted (core dumped)

It seems the problem is still QT

Wish I could help in any way

@paulpv
Copy link
Member Author

paulpv commented Nov 11, 2023

@SkullCarverCoder

info: OBS 29.1.3.1-2 (linux)
...
info: [obs-ndi] obs_module_load: you can haz obs-ndi (Version 4.12.0)
info: [obs-ndi] obs_module_load: Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.4.2

Damn. Everything seems right, but still failing. :(

I was about to commit and push a Qt6 version check, but I guess that's of no use now.

@paulpv
Copy link
Member Author

paulpv commented Nov 11, 2023

info: Platform: Wayland
info: CPU Name: AMD Ryzen 7 3700X 8-Core Processor
info: CPU Speed: 3593.215MHz
info: Physical Cores: 5, Logical Cores: 5
info: Physical Memory: 9898MB Total, 6079MB Free
info: Kernel Version: Linux 6.5.0-10-generic
info: Distribution: "Ubuntu" "23.10"
info: Desktop Environment: ubuntu:GNOME (ubuntu)
info: Session Type: wayland
info: Qt Version: 5.15.10 (runtime), 5.15.10 (compiled)

Odd that it still says Qt5!

@paulpv
Copy link
Member Author

paulpv commented Nov 11, 2023

Maybe the problem is the compile time Qt6 and runtime Qt5?

@paulpv
Copy link
Member Author

paulpv commented Nov 11, 2023

@SkullCarverCoder

Yeah, fuckin weird.

Your log says:

...
info: Qt Version: 5.15.10 (runtime), 5.15.10 (compiled)
...
info: [obs-ndi] obs_module_load: Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.4.2
...

The first line is from:
https://github.com/obsproject/obs-studio/blob/c58e511813c33e93da7637d50aa431ae0cddda0c/UI/obs-app.cpp#L1720-L1721

The second line is from:

blog(LOG_INFO,
"[obs-ndi] obs_module_load: Qt version (compile-time): %s | Qt version (run-time): %s",
QT_VERSION_STR, qVersion());

Your OBS 29.1.3 is compiled and running under Qt5.
obs-ndi is compiled and running under Qt6.

@paulpv
Copy link
Member Author

paulpv commented Nov 11, 2023

@SkullCarverCoder OBS support is asking where you installed that OBS from.

Can you try one of the Ubuntu builds from:
https://github.com/obsproject/obs-studio/releases/tag/29.1.3

Update: OBS support says

until 30.0 gets released and the ppa updates, they should be able to grab the mantic beta package and run that
...
Or a little better use the unstable PPA for OBS beta/rc.

@SkullCarverCoder
Copy link

SkullCarverCoder commented Nov 11, 2023

@paulpv Just woke up, going to try the unstable version and come back to you, where I got it , was from here
image

@SkullCarverCoder
Copy link

@paulpv got success ! on obs-studio 30.0.0~rc2-0obsproject1~mantic

Managed to use the plugin without problems although there is stuttering don't know if it is my connection or my hardware acceleration although I am using a Arc750 with the latest drivers

Log (some data erased for privacy):

10:41:57.757: Platform: Wayland
10:41:57.757: CPU Name: AMD Ryzen 7 3700X 8-Core Processor
10:41:57.757: CPU Speed: 3592.894MHz
10:41:57.757: Physical Cores: 5, Logical Cores: 5
10:41:57.757: Physical Memory: 9898MB Total, 4741MB Free
10:41:57.757: Kernel Version: Linux 6.5.0-10-generic
10:41:57.757: Distribution: "Ubuntu" "23.10"
10:41:57.757: Desktop Environment: ubuntu:GNOME (ubuntu)
10:41:57.757: Session Type: wayland
10:41:57.759: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
10:41:57.759: Portable mode: false
10:41:57.797: OBS 30.0.0-rc2 (linux)
10:41:57.797: ---------------------------------
10:41:57.798: ---------------------------------
10:41:57.798: audio settings reset:
10:41:57.798: 	samples per sec: 48000
10:41:57.798: 	speakers:        2
10:41:57.798: 	max buffering:   960 milliseconds
10:41:57.798: 	buffering type:  dynamically increasing
10:41:57.803: ---------------------------------
10:41:57.803: Initializing OpenGL...
10:41:57.803: Using EGL/Wayland
10:41:57.840: Initialized EGL 1.5
10:41:57.858: Loading up OpenGL on adapter Intel Mesa Intel(R) Arc(tm) A750 Graphics (DG2)
10:41:57.858: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3, shading language 4.60
10:41:57.910: ---------------------------------
10:41:57.910: video settings reset:
10:41:57.910: 	base resolution:   1920x1080
10:41:57.910: 	output resolution: 1920x1080
10:41:57.910: 	downscale filter:  Bicubic
10:41:57.910: 	fps:               60/1
10:41:57.910: 	format:            NV12
10:41:57.910: 	YUV mode:          Rec. 709/Partial
10:41:57.910: NV12 texture support not available
10:41:57.910: P010 texture support not available
10:41:57.914: Audio monitoring device:
10:41:57.914: 	name: Default
10:41:57.914: 	id: default
10:41:57.914: ---------------------------------
10:41:57.923: No AJA devices found, skipping loading AJA UI plugin
10:41:57.923: Failed to initialize module 'aja-output-ui.so'
10:41:57.929: No AJA devices found, skipping loading AJA plugin
10:41:57.929: Failed to initialize module 'aja.so'
10:41:57.934: Failed to load 'en-US' text for module: 'decklink-captions.so'
10:41:57.939: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
10:41:57.944: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
10:41:57.944: Failed to initialize module 'decklink.so'
10:41:58.121: [pipewire] Available captures:
10:41:58.122: [pipewire]     - Desktop capture
10:41:58.122: [pipewire]     - Window capture
10:41:58.146: [obs-browser]: Version 2.22.1
10:41:58.146: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled)
10:41:58.233: VAAPI: API version 1.19
10:41:58.234: FFmpeg VAAPI H264 encoding supported
10:41:58.235: FFmpeg VAAPI HEVC encoding supported
10:41:58.258: [obs-ndi] obs_module_load: you can haz obs-ndi (Version 4.12.0)
10:41:58.258: [obs-ndi] obs_module_load: Qt version (compile-time): 6.2.4 | Qt version (run-time): 6.4.2
10:41:58.259: [obs-ndi] load_ndilib: Trying '/usr/lib/libndi.so.5'
10:41:58.259: [obs-ndi] load_ndilib: Found NDI library at '/usr/lib/libndi.so.5'
10:41:58.264: [obs-ndi] load_ndilib: NDI runtime loaded successfully
10:41:58.264: [obs-ndi] load_ndilib: NDIlib_v5_load found
10:41:58.264: [obs-ndi] obs_module_load: NDI library initialized successfully ('NDI SDK LINUX 18:49:05 Jul 26 2023 5.6.0')
10:41:58.267: [obs-ndi] preview_output_init('OBS Preview')
10:41:58.267: [obs-ndi] +ndi_output_create('OBS Preview'...)
10:41:58.267: [obs-ndi] ndi_output_update('OBS Preview'...)
10:41:58.267: [obs-ndi] -ndi_output_create('OBS Preview'...)
10:41:58.307: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.3.3 | RPC Version: 1)
10:41:58.307: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.2 | Qt version (run-time): 6.4.2
10:41:58.307: [obs-websocket] [obs_module_load] Linked ASIO Version: 102201
10:41:58.312: [obs-websocket] [obs_module_load] Module loaded.
10:41:58.344: [vlc-video]: VLC 3.0.18 Vetinari found, VLC video source enabled
10:41:58.344: ---------------------------------
10:41:58.344:   Loaded Modules:
10:41:58.344:     vlc-video.so
10:41:58.344:     text-freetype2.so
10:41:58.344:     rtmp-services.so
10:41:58.344:     obs-x264.so
10:41:58.344:     obs-websocket.so
10:41:58.344:     obs-vst.so
10:41:58.344:     obs-transitions.so
10:41:58.344:     obs-qsv11.so
10:41:58.344:     obs-outputs.so
10:41:58.344:     obs-ndi.so
10:41:58.344:     obs-libfdk.so
10:41:58.344:     obs-filters.so
10:41:58.344:     obs-ffmpeg.so
10:41:58.344:     obs-browser.so
10:41:58.344:     linux-v4l2.so
10:41:58.344:     linux-pulseaudio.so
10:41:58.344:     linux-pipewire.so
10:41:58.344:     linux-jack.so
10:41:58.344:     linux-capture.so
10:41:58.344:     linux-alsa.so
10:41:58.344:     image-source.so
10:41:58.344:     frontend-tools.so
10:41:58.344:     decklink-output-ui.so
10:41:58.344:     decklink-captions.so
10:41:58.344: ---------------------------------
10:41:58.344: [obs-ndi] obs_module_post_load: ...
10:41:58.344: QWidget::setTabOrder: 'first' and 'second' must be in the same window
10:41:58.345: ==== Startup complete ===============================================
10:41:58.375: All scene data cleared
10:41:58.375: ------------------------------------------------
10:41:58.378: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.79) 15.0.0'
10:41:58.378: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
10:41:58.378: pulse-input: Started recording from 'auto_null.monitor'
10:41:58.378: [Loaded global audio device]: 'Desktop Audio'
10:41:58.379: Switched to scene 'Scene'
10:41:58.379: ------------------------------------------------
10:41:58.379: Loaded scenes:
10:41:58.379: - scene 'Scene':
10:41:58.379: ------------------------------------------------
10:41:58.950: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
10:41:58.950: 
10:42:56.555: [obs-ndi] +ndi_source_create('NDI™ Source'...)
10:42:56.555: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:42:56.555: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:42:56.555: [obs-ndi] -ndi_source_create('NDI™ Source'...)
10:42:56.557: User added source 'NDI™ Source' (ndi_source) to scene 'Scene'
10:42:56.564: [obs-ndi] ndi_source_shown('NDI™ Source'...)
10:42:56.564: [obs-ndi] ndi_source_activated('NDI™ Source'...)
10:43:00.331: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:00.331: [obs-ndi] ndi_source_thread_start: 'OBS-NDI 'NDI™ Source'' Started A/V ndi_source_thread for NDI source 'DESKTOP-CKU2HHG (JuanStream)'
10:43:00.331: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:00.331: [obs-ndi] +ndi_source_thread('NDI™ Source'...)
10:43:00.331: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' ndi_receiver_name changed; Setting recv_desc.p_ndi_recv_name='OBS-NDI 'NDI™ Source''
10:43:00.331: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' ndi_source_name changed; Setting recv_desc.source_to_connect_to.p_ndi_name='DESKTOP-Stream'
10:43:00.331: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' bandwidth changed; Setting recv_desc.bandwidth='100'
10:43:00.331: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' latency changed; Setting recv_desc.color_format='1'
10:43:00.331: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' Resetting NDI receiver...
10:43:00.331: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' +ndi_receiver = ndiLib->recv_create_v3(&recv_desc)
10:43:00.342: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' -ndi_receiver = ndiLib->recv_create_v3(&recv_desc)
10:43:00.442: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' tally changed; Sending tally on_preview=1, on_program=1
10:43:04.581: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:04.581: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:04.642: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' hw_accel_enabled changed; Sending NDI metadata '<ndi_hwaccel enabled="true"/>'
10:43:31.459: User Removed source 'NDI™ Source' (ndi_source) from scene 'Scene'
10:43:31.464: [obs-ndi] ndi_source_hidden('NDI™ Source'...)
10:43:31.464: [obs-ndi] ndi_source_deactivated('NDI™ Source'...)
10:43:31.465: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' tally changed; Sending tally on_preview=0, on_program=0
10:43:31.469: [obs-ndi] +ndi_source_destroy('NDI™ Source'...)
10:43:31.473: [obs-ndi] -ndi_source_thread('OBS-NDI 'NDI™ Source''...)
10:43:31.473: [obs-ndi] -ndi_source_destroy('NDI™ Source'...)
10:43:42.954: [obs-ndi] +ndi_source_create('NDI™ Source'...)
10:43:42.954: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:42.954: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:42.954: [obs-ndi] -ndi_source_create('NDI™ Source'...)
10:43:42.956: User added source 'NDI™ Source' (ndi_source) to scene 'Scene'
10:43:42.964: [obs-ndi] ndi_source_shown('NDI™ Source'...)
10:43:42.964: [obs-ndi] ndi_source_activated('NDI™ Source'...)
10:43:48.931: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:48.931: [obs-ndi] ndi_source_thread_start: 'OBS-NDI 'NDI™ Source'' Started A/V ndi_source_thread for NDI source 'DESKTOP-CKU2HHG (JuanStream)'
10:43:48.931: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:48.931: [obs-ndi] +ndi_source_thread('NDI™ Source'...)
10:43:48.931: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' ndi_receiver_name changed; Setting recv_desc.p_ndi_recv_name='OBS-NDI 'NDI™ Source''
10:43:48.931: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' ndi_source_name changed; Setting recv_desc.source_to_connect_to.p_ndi_name='DESKTOP-Stream'
10:43:48.931: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' bandwidth changed; Setting recv_desc.bandwidth='100'
10:43:48.931: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' latency changed; Setting recv_desc.color_format='1'
10:43:48.931: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' Resetting NDI receiver...
10:43:48.931: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' +ndi_receiver = ndiLib->recv_create_v3(&recv_desc)
10:43:48.934: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' -ndi_receiver = ndiLib->recv_create_v3(&recv_desc)
10:43:49.034: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' tally changed; Sending tally on_preview=1, on_program=1
10:43:52.947: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:52.948: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:53.034: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' hw_accel_enabled changed; Sending NDI metadata '<ndi_hwaccel enabled="true"/>'
10:43:53.347: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:53.348: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:53.434: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' hw_accel_enabled changed; Sending NDI metadata '<ndi_hwaccel enabled="false"/>'
10:43:53.664: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:53.664: [obs-ndi] -ndi_source_update('NDI™ Source'...)
10:43:53.734: [obs-ndi] ndi_source_thread: 'OBS-NDI 'NDI™ Source'' hw_accel_enabled changed; Sending NDI metadata '<ndi_hwaccel enabled="true"/>'
10:43:57.464: [obs-ndi] +ndi_source_update('NDI™ Source'...)
10:43:57.464: [obs-ndi] -ndi_source_update('NDI™ Source'...)

I am glad I was able to use it, sadly on a beta release of obs-studio , but it's an option

@ogmkp
Copy link

ogmkp commented Nov 11, 2023

Debian 12 - OBS 29.1.3
I don't seem to have problems with the version obs-ndi-4.12.0-ubuntu-22.04-x86_64-5e6b64108.
The feature option to choose TCP or UDP is still missing.
HX playing still uses the cpu and not the GPU for decoding but that seems to come from the SDK for Linux.

I'm still testing.

@paulpv
Copy link
Member Author

paulpv commented Nov 12, 2023

4.12.0 Release Update:

The two issues that I felt were blocking 4.12.0 release are:

  • [Bug]: NDI Stream desyncing and stuttering (with NDI 5) #875 : Windows: OBS stutters when it has focus
    I have narrowed down my repros to a problem with the network card.
    If I just move my ethernet cable from my 2.5Gbe USB NIC to my motherboard's onboard 1Gbe NIC the problem goes away.
    This discovery today makes this issue no longer a release blocker.
  • [Bug]: Crash while trying to start obs 29.0.2.1-1+b1 on Debian 12 #897 Linux Must construct a QApplication before a QWidget crash
    I talked w/ the OBS team about this and it is a problem with the Ubuntu compilations of OBS.
    I don't follow the drama of Ubuntu and what version of Qt (5 or 6) that it ships with.
    Apparently Ubuntu compiles and distributes their own version of OBS using Qt5.
    That breaks this obs-ndi plugin.
    Users that have reported and reproed the problem are able to get working when they use a Qt6 based install package.
    This discovery, also today, makes this issue no longer a release blocker.

There are several other installation/performance/reliability issues, but none that I felt have a known root cause strong enough to begin to code a fix. Ergo, they would not hold up a 4.12.0 release.

So, I am ready to wrap this up and publish an official 4.12.0 RC in a day or two.

@paulpv paulpv merged commit 64b1651 into master Nov 12, 2023
6 checks passed
@ogmkp
Copy link

ogmkp commented Nov 12, 2023

Problem with the last build, I dont have any NDI sources anymore, but I have the NDI Output in the tool bar. If I roll back to the second to last build I can get NDI source back.

11:51:55.008: [obs-ndi] obs_module_load: you can haz obs-ndi (Version 4.12.0) 11:51:55.008: Qt Version: 6.4.2 (runtime), 6.2.4 (compiled) 11:51:55.008: [obs-ndi] load_ndilib: Trying '/usr/lib/libndi.so.5' 11:51:55.008: [obs-ndi] load_ndilib: Found NDI library at '/usr/lib/libndi.so.5' 11:51:55.009: [obs-ndi] load_ndilib: NDI runtime loaded successfully 11:51:55.009: [obs-ndi] load_ndilib: NDIlib_v5_load found 11:51:55.009: [obs-ndi] obs_module_load: NDI library initialized successfully ('NDI SDK LINUX 12:45:43 Apr 10 2023 5.5.4') 11:51:55.015: obs_register_source: Tried to register obs_source_info with size 408 which is more than libobs currently supports (400) 11:51:55.015: obs_register_source: Tried to register obs_source_info with size 408 which is more than libobs currently supports (400) 11:51:55.015: obs_register_source: Tried to register obs_source_info with size 408 which is more than libobs currently supports (400) 11:51:55.015: obs_register_source: Tried to register obs_source_info with size 408 which is more than libobs currently supports (400) 11:51:55.015: [obs-ndi] preview_output_init('OBS Preview') 11:51:55.015: [obs-ndi] +ndi_output_create('OBS Preview'...) 11:51:55.015: [obs-ndi] ndi_output_update('OBS Preview'...) 11:51:55.015: [obs-ndi] -ndi_output_create('OBS Preview'...)

@ogmkp ogmkp mentioned this pull request Nov 12, 2023
@johnthq
Copy link

johnthq commented Nov 18, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Seeking Testers PRs with this label will package the plugin so that others can test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants