Authors : Andersama
Allows custom mixing of channels, duplicate, mute, swap channels at will.
- correct channel placement for surround sound
rematrix filter for obs
What I'm trying to do:
I'm sending an SRT stream with surround 5.1 sound. In reality, it contains game audio (stereo, L R), microphone (mono C) and music (stereo Ls Rs). On the receiving side, OBS is set to stereo mode because it is supposed to output sound to the stream. OBS shows only 2 bars, but we know, that it receives 5.1 sound. By using Source Mirror from the StreamFX we can copy sounds and extract all "hidden" tracks by using the Rematrix filter. The problem is that when OBS in stereo mode, Rematrix is also can see only 2 input channels (while there are 6).
Steps to reproduce:
I don't know if it's possible to solve this on the plugin's side, since I suspect that the downmix happens inside OBS before the sound reaches the plugins. If this is the case, then consequently this problem needs to be moved to the main OBS repository.
This plugin has no license specified. No license means no permissions are granted.
Please add a license file and a license header to the source code file. See https://choosealicense.com/
You could put it under GPL v2 or later (same as OBS) or under a short and permissive license like MIT.
See title. Trying to grab a specific input rather than the stereo downmix of my audio interface
Cloned, cd to CI, and run install-dependencies-osx.sh which worked fine until compilation:
[ 5%] Building CXX object libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/cpptoc/browser_process_handler_cpptoc.cc.o
In file included from /Users/kirkm/Development/github/rematrix-filter/cef_binary_3.2883.1540.gedbfb20_macosx64/libcef_dll/ctocpp/command_line_ctocpp.h:24:
/Users/kirkm/Development/github/rematrix-filter/cef_binary_3.2883.1540.gedbfb20_macosx64/libcef_dll/ctocpp/ctocpp.h:119:26: error: instantiation of variable
'CefCToCpp<CefCommandLineCToCpp, CefCommandLine, _cef_command_line_t>::kWrapperType' required here, but no definition is available
[-Werror,-Wundefined-var-template]
wrapperStruct->type_ = kWrapperType;
^
/Users/kirkm/Development/github/rematrix-filter/cef_binary_3.2883.1540.gedbfb20_macosx64/libcef_dll/cpptoc/app_cpptoc.cc:42:29: note: in instantiation of member
function 'CefCToCpp<CefCommandLineCToCpp, CefCommandLine, _cef_command_line_t>::Wrap' requested here
CefCommandLineCToCpp::Wrap(command_line));
^
...
1 error generated.
make[2]: *** [libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/cpptoc/browser_process_handler_cpptoc.cc.o] Error 1
make[1]: *** [libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 5%] Linking CXX static library libcef_gtest.a
[ 5%] Built target cef_gtest
make: *** [all] Error 2
Have you actually gotten this to compile on MacOS?
I just tried to build the plugin on macOS, but make
always fails with the following errors:
rematrix-filter.cpp:1:9: warning: #pragma once in main file [-Wpragma-once-outside-header]
#pragma once
^
rematrix-filter/rematrix-filter.cpp:34:7: error: no template named 'atomic' in namespace 'std'
std::atomic<long> route[MAX_AV_PLANES];
~~~~~^
rematrix-filter.cpp:35:7: error: no template named 'atomic' in namespace 'std'
std::atomic<float> gain[MAX_AV_PLANES];
~~~~~^
rematrix-filter.cpp:48:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an lvalue of type
'void *'
struct rematrix_data *rematrix = data;
^ ~~~~
rematrix-filter.cpp:60:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an lvalue of type
'void *'
struct rematrix_data *rematrix = data;
^ ~~~~
rematrix-filter.cpp:105:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an rvalue of type
'void *'
struct rematrix_data *rematrix = bzalloc(sizeof(*rematrix));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
rematrix-filter.cpp:120:24: error: cannot initialize a variable of type 'struct rematrix_data *' with an lvalue of type
'void *'
struct rematrix_data *rematrix = data;
^ ~~~~
rematrix-filter.cpp:151:12: error: array subscript is not an integer
&fdata[route[c]][chunk],
^~~~~~~~~
rematrix-filter.cpp:203:49: warning: unused parameter 'props' [-Wunused-parameter]
static bool fill_out_channels(obs_properties_t *props, obs_property_t *list,
^
rematrix-filter.cpp:204:14: warning: unused parameter 'settings' [-Wunused-parameter]
obs_data_t *settings) {
^
While I was able to fix atomic errors by simply adding #import <atomic>
, the others might require a bit more work.
Hello,
Unfortunately, the latest ZIP release doesn't have the win prebuilt plugin. I.e. obs-studio\obs-plugins 32 and 64 bit directories are empty.
Bug appears isolated to the automated builds, for anyone whose obs studio crashes the solution is to build it yourself. See wiki for details.
I found NO way to open some settings of the rematrix filter after i installed it.
Only the old OBS Preinstalled Mixer was there...
Hi,
is there a binary for OSX or build instructions?
Thanks,
Goran
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.