Comments (14)
hi @magdesign https://github.com/ThomasLengeling/ofxNDI this fork should be working on Mac, soon I will post the Linux version, although I don't know if, with the changes I made it still works on Windows, I had to omit a couple of functions.
from ofxndi.
Thomas Lengeling has it working for Linux and OSX (Issue 3). Maybe you could contact him. You could enquire on the NDI forum if there are any developments specifically for the Raspberry Pi :
http://forums.newtek.com/forumdisplay.php?360-NDI-(Network-Device-Interface)
from ofxndi.
Thanks for the hint. I wrote him.
The NDI support told me they experimented with RPi but its not powerful enough for 1920x 1080@60fps.
Also asked http://ndi.orfast.com/ , they said its not working right now. So it seems that I need to somehow compile your ofxNDI for a working solution. I dont care if it is not 60fps, as long as it works...
from ofxndi.
If Thomas has it working for Linux there is a good chance you can get it working. I will not be updating for NDI Version 3 for a little while yet. Meanwhile it should build OK. Leave out the resource files and the ofxNDIdialog files, and do not use async sending until I can investigate the problem.
from ofxndi.
Good news Thomas.
I had a brief look at your repository and I think the changes should work on Windows OK. I am thinking about a solution for "_rotl". Maybe this (https://stackoverflow.com/questions/776508/best-practices-for-circular-shift-rotate-operations-in-c) could be a clue.
I am looking at NDI Version 3 now . Meanwhile the version 3 dlls should be back compatible with version 2 code. I will not commit any code for a while yet, but will incorporate your changes.
The Version 3 update will exclude "ofxNDIdialog.h", "ofxNDIdialog.cpp", "resource.h" and "resource.rc" and the receiver example will be cleaned up.
from ofxndi.
yes!, the big difference is the instrin.h include file and omitted specific windows variable declaration, and the code should work on all platforms.
#include <x86intrin.h>
For linux I had to install a library for the sse.h or the instrin, I dont remember exactly.
Thanks for the work!, if you make some changes I am happy to test it out on Linux or Mac and make the appropriate changes.
from ofxndi.
Looking forward for the linux version!
Still dont know how to compile openframeworks stuff without provided make files :(
from ofxndi.
Just figured out that we have to wait to get a version running on RPi since the codec is not Arm compatible yet....
from ofxndi.
There is some discussion here -
http://forums.newtek.com/showthread.php?151197-NDI-for-arm-devices
It seems that you can send but not receive.
I started converting to Version 3 and it isn't as straightforward as I had hoped. Meanwhile the existing code should still work OK.
from ofxndi.
After some delay I have made changes necessary for Version 3. There are some changes to argument types to meet with Version 3 rather than casting from those for Version 2. Also RGBA format has a bug which is fixed with a patch but does not appear to be in the release version yet. Meanwhile BGRA is just as fast. The receiver code is commented to explain it.
Thomas - I have made additional changes as you have suggested, including a _rotl replacement which seems to work OK. It would be good if this was tested for OSX before I commit the changes. When you have time, could you email me and I will send the code.
from ofxndi.
Thank you very much for making NDI available on OpenFrameworks!
I revive this thread, trying to compile example-sender on the Raspberry Pi 3.
The NDI library seems to link as expected, but the compilation fails:
/home/pi/openFrameworks/addons/ofxNDI/src/ofxNDIreceive.h:67:35: fatal error: emmintrin.h: Aucun fichier ou dossier de ce type #include <emmintrin.h> // for SSE2
from /home/pi/openFrameworks/apps/myApps/example-sender/src/main.cpp:2: /home/pi/openFrameworks/addons/ofxNDI/src/ofxNDIsend.h:59:35: fatal error: emmintrin.h: Aucun fichier ou dossier de ce type #include <emmintrin.h> // for SSE2
In file included from /home/pi/openFrameworks/addons/ofxNDI/src/ofxNDIshaders.cpp:32:0: /home/pi/openFrameworks/addons/ofxNDI/src/ofxNDIshaders.h:42:21: fatal error: windows.h: Aucun fichier ou dossier de ce type #include <windows.h>
Is there a package to install on the RPi that would solve these dependancies? I read that SSE cannot work on the Raspberrry Pi, is there a workaround?
from ofxndi.
"#include <emmintrin.h>" and "#include <windows.h>" are copy/paste errors after the most recent update. You can exclude these lines and it will still compile, so try that first.
If SSE is still a problem, you could delete memcpy_sse2 and change CopyImage to exclude it. I will re-visit this project when NDI 4 becomes available.
from ofxndi.
Thank you very much for your answer, excluding these lines resolved all errors related to SSE.
After that, I had a lot of compilation errors related to variables and functions which seem to be windows-specific.
I finally managed to run the sendVideo example with thomasgeissel's fork of ofxNDI.
Due to my limited skills in programming, I struggled to link the external NDI library.
I copied the arm NDI libraries from NDI's website in a /libs folder at the root of the project and in /bin, and the library's headers in a /include folder at the root of the project.
In config.make, I added the following lines:
PROJECT_LDFLAGS += ./libs/libndi.so
PROJECT_CFLAGS += -I./include
I'm sure it's not the most elegant way, but it worked.
from ofxndi.
Some changes have been made following the recent work with the fork by Hugo Aboud for Arch Linux x64 compatibility. I can't say if they will work but it might be a start.
from ofxndi.
Related Issues (20)
- undeclared identifiers on OSX HOT 4
- Issues when compiling for macOs and Linux HOT 8
- EXC_BAD_ACCESS when building for macOS (Release only, Debug works) HOT 19
- Proper way to handle multiple receivers HOT 3
- Issues with CopyMemory and unsigned __int32 on macOs HOT 10
- Memory leak on mac osx HOT 12
- macOs - freezing for about 10 seconds when NDI sender is disconnected HOT 5
- RPI 4 support (OpenGL ES 2.0) HOT 2
- ofxNDIutils, rgba_bgra and rgba_bgra_sse2 don't compile in macOS HOT 6
- README could be commented... HOT 11
- macOS errors HOT 10
- ndiSender.GetNDIversion() crashes in macOS HOT 5
- ofmain.h HOT 4
- timecode HOT 7
- should it be possible to send two NDI streams from the same openframeworks app ? HOT 2
- reference to 'byte' is ambiguous when compiling example using msys2 HOT 10
- Failing to compile latest commit on macOS HOT 9
- not working in macOS HOT 14
- error when compiling example on raspberry pi 4: undefined reference to ofxNDIutils::CopyImage HOT 8
- not working in macOS 2 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ofxndi.