Comments (8)
Hi Rudolf,
If you clone the repo and run build.sh, then it should build the binary under the build directory. You then need to copy that to somewhere in your path, and copy the libraries under Lib to /usr/lib
or define LD_LIBRARY_PATH when running.
For example, if you copy the contents of the lib folders to /opt/raspindi/lib
and the binary to /opt/raspindi/bin
, then you would run the following command:
LD_LIBRARY_PATH="/opt/raspindi/lib" /opt/raspindi/bin/raspindi
from raspindi.
Besides git
, what other dependencies do I need to install to get build.sh
working?
$ bash build.sh
src/main.cpp:17:10: fatal error: libconfig.h++: No such file or directory
#include <libconfig.h++>
^~~~~~~~~~~~~~~
compilation terminated.
from raspindi.
OK, build works on vanilla Raspberry PI OS after apt install libconfig++-dev
.
Next question: how should the folder structure of /opt/raspindi/lib
look? No matter how I slice and dice it, I still get:
./raspindi: error while loading shared libraries: libndi.so.4: cannot open shared object file: No such file or directory
Edit: When I flatten the lib folder, like this:
$ tree
.
├── bin
│ └── raspindi
└── lib
├── libndi.so
├── libndi.so.4
├── libndi.so.4.5.2
├── libopencv_aruco.so
├── libopencv_aruco.so.4.4
├── libopencv_aruco.so.4.4.0
├── libopencv_bgsegm.so
├── libopencv_bgsegm.so.4.4
├── libopencv_bgsegm.so.4.4.0
├── libopencv_bioinspired.so
├── libopencv_bioinspired.so.4.4
├── libopencv_bioinspired.so.4.4.0
├── libopencv_calib3d.so
├── libopencv_calib3d.so.4.4
├── libopencv_calib3d.so.4.4.0
├── libopencv_ccalib.so
├── libopencv_ccalib.so.4.4
├── libopencv_ccalib.so.4.4.0
├── libopencv_core.so
├── libopencv_core.so.4.4
├── libopencv_core.so.4.4.0
├── libopencv_datasets.so
├── libopencv_datasets.so.4.4
├── libopencv_datasets.so.4.4.0
├── libopencv_dnn_objdetect.so
├── libopencv_dnn_objdetect.so.4.4
├── libopencv_dnn_objdetect.so.4.4.0
├── libopencv_dnn.so
├── libopencv_dnn.so.4.4
├── libopencv_dnn.so.4.4.0
├── libopencv_dnn_superres.so
├── libopencv_dnn_superres.so.4.4
├── libopencv_dnn_superres.so.4.4.0
├── libopencv_dpm.so
├── libopencv_dpm.so.4.4
├── libopencv_dpm.so.4.4.0
├── libopencv_face.so
├── libopencv_face.so.4.4
├── libopencv_face.so.4.4.0
├── libopencv_features2d.so
├── libopencv_features2d.so.4.4
├── libopencv_features2d.so.4.4.0
├── libopencv_flann.so
├── libopencv_flann.so.4.4
├── libopencv_flann.so.4.4.0
├── libopencv_fuzzy.so
├── libopencv_fuzzy.so.4.4
├── libopencv_fuzzy.so.4.4.0
├── libopencv_gapi.so
├── libopencv_gapi.so.4.4
├── libopencv_gapi.so.4.4.0
├── libopencv_hfs.so
├── libopencv_hfs.so.4.4
├── libopencv_hfs.so.4.4.0
├── libopencv_highgui.so
├── libopencv_highgui.so.4.4
├── libopencv_highgui.so.4.4.0
├── libopencv_imgcodecs.so
├── libopencv_imgcodecs.so.4.4
├── libopencv_imgcodecs.so.4.4.0
├── libopencv_img_hash.so
├── libopencv_img_hash.so.4.4
├── libopencv_img_hash.so.4.4.0
├── libopencv_imgproc.so
├── libopencv_imgproc.so.4.4
├── libopencv_imgproc.so.4.4.0
├── libopencv_intensity_transform.so
├── libopencv_intensity_transform.so.4.4
├── libopencv_intensity_transform.so.4.4.0
├── libopencv_line_descriptor.so
├── libopencv_line_descriptor.so.4.4
├── libopencv_line_descriptor.so.4.4.0
├── libopencv_ml.so
├── libopencv_ml.so.4.4
├── libopencv_ml.so.4.4.0
├── libopencv_objdetect.so
├── libopencv_objdetect.so.4.4
├── libopencv_objdetect.so.4.4.0
├── libopencv_optflow.so
├── libopencv_optflow.so.4.4
├── libopencv_optflow.so.4.4.0
├── libopencv_phase_unwrapping.so
├── libopencv_phase_unwrapping.so.4.4
├── libopencv_phase_unwrapping.so.4.4.0
├── libopencv_photo.so
├── libopencv_photo.so.4.4
├── libopencv_photo.so.4.4.0
├── libopencv_plot.so
├── libopencv_plot.so.4.4
├── libopencv_plot.so.4.4.0
├── libopencv_quality.so
├── libopencv_quality.so.4.4
├── libopencv_quality.so.4.4.0
├── libopencv_rapid.so
├── libopencv_rapid.so.4.4
├── libopencv_rapid.so.4.4.0
├── libopencv_reg.so
├── libopencv_reg.so.4.4
├── libopencv_reg.so.4.4.0
├── libopencv_rgbd.so
├── libopencv_rgbd.so.4.4
├── libopencv_rgbd.so.4.4.0
├── libopencv_saliency.so
├── libopencv_saliency.so.4.4
├── libopencv_saliency.so.4.4.0
├── libopencv_shape.so
├── libopencv_shape.so.4.4
├── libopencv_shape.so.4.4.0
├── libopencv_stereo.so
├── libopencv_stereo.so.4.4
├── libopencv_stereo.so.4.4.0
├── libopencv_stitching.so
├── libopencv_stitching.so.4.4
├── libopencv_stitching.so.4.4.0
├── libopencv_structured_light.so
├── libopencv_structured_light.so.4.4
├── libopencv_structured_light.so.4.4.0
├── libopencv_superres.so
├── libopencv_superres.so.4.4
├── libopencv_superres.so.4.4.0
├── libopencv_surface_matching.so
├── libopencv_surface_matching.so.4.4
├── libopencv_surface_matching.so.4.4.0
├── libopencv_text.so
├── libopencv_text.so.4.4
├── libopencv_text.so.4.4.0
├── libopencv_tracking.so
├── libopencv_tracking.so.4.4
├── libopencv_tracking.so.4.4.0
├── libopencv_videoio.so
├── libopencv_videoio.so.4.4
├── libopencv_videoio.so.4.4.0
├── libopencv_video.so
├── libopencv_video.so.4.4
├── libopencv_video.so.4.4.0
├── libopencv_videostab.so
├── libopencv_videostab.so.4.4
├── libopencv_videostab.so.4.4.0
├── libopencv_xfeatures2d.so
├── libopencv_xfeatures2d.so.4.4
├── libopencv_xfeatures2d.so.4.4.0
├── libopencv_ximgproc.so
├── libopencv_ximgproc.so.4.4
├── libopencv_ximgproc.so.4.4.0
├── libopencv_xobjdetect.so
├── libopencv_xobjdetect.so.4.4
├── libopencv_xobjdetect.so.4.4.0
├── libopencv_xphoto.so
├── libopencv_xphoto.so.4.4
├── libopencv_xphoto.so.4.4.0
├── libraspicam_cv.so
├── libraspicam.so
├── libraspicam.so.0.1
└── libraspicam.so.0.1.2
... then I get a different error:
$ LD_LIBRARY_PATH="/opt/raspindi/lib" /opt/raspindi/bin/raspindi
/opt/raspindi/bin/raspindi: error while loading shared libraries: libjasper.so.1: cannot open shared object file: No such file or directory
from raspindi.
OK, I'm starting to reverse-engineer this...
sudo apt install libjasper-runtime
Now it runs, but alas, it needs a config file, which is also not documented. Please assist :)
$ LD_LIBRARY_PATH="/opt/raspindi/lib" /opt/raspindi/bin/raspindi
Could not open config file /etc/raspindi.conf
After creating an empty file at /etc/raspindi.conf
:
$ LD_LIBRARY_PATH="/opt/raspindi/lib" /opt/raspindi/bin/raspindi
terminate called after throwing an instance of 'libconfig::SettingNotFoundException'
what(): SettingNotFoundException
Aborted
from raspindi.
Hi Rudolf,
If you look in the source tree under etc, there is a an example config file. (raspindi.conf.default)
If you are able to document the steps you took to compile and install, then I'll happily accept a pull request to improve the documentation.
from raspindi.
Thanks! I will write up everything I learn and submit a PR for the README.md file later. But only if I can get it working ;)
For now, more questions...
- How do I configure video settings like resolution, etc? The
raspivid
command line tool has a ton of configurable options: https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md Runraspivid
for a full list of options. - Is
camera_number = "-1"
correct? What does-1
mean here? - Does it have to be run as root?
This is how far I get now:
$ LD_LIBRARY_PATH="/opt/raspindi/lib" /opt/raspindi/bin/raspindi
mmal: mmal_vc_port_enable: failed to enable port vc.ril.camera:out:1(BGR3): ENOSPC
mmal: mmal_port_enable: failed to enable port vc.ril.camera:out:1(BGR3)(0x1fc710) (ENOSPC)
camera video callback2 erroropen Failed to create camera component/home/pi/build/raspicam/src/private/private_impl.cpp 103
Error opening camera.
from raspindi.
To answer your questions:
- it doesn't have the ability to change settings on RaspiVid at the moment. It's locked to 720p (any higher and the frame rate drops).
- camera_number = -1 is fine. That is used for a separate part of software (https://github.com/raspberry-pi-camera/atem-tally)
- Shouldn't need running as root - it runs as the pi user on my cameras.
Have you got the camera module enabled (in raspiconfig)? And is it connected?
from raspindi.
Oops, I had another instance of raspivid running. After stopping it, $ LD_LIBRARY_PATH="/opt/raspindi/lib" /opt/raspindi/bin/raspindi
runs with no output, so I assume it's working. Next step is to figure out the NDI client part. This is all new to me.
from raspindi.
Related Issues (20)
- Just showing support! HOT 1
- Lens Shading Calibration HOT 10
- How feasible is it to add Logitech (C920) Webcam support HOT 2
- Add Custom AWB Gain HOT 3
- Ability to set brightness and contrast HOT 4
- USB capture cam HOT 1
- `raspindi.sh` hangs on Raspberry Pi 3B HOT 5
- Is it possible to run multiple pi's for multiple NDI streams? HOT 2
- Migrate to libcamera HOT 2
- USB Webcam Support HOT 2
- Is there a method to adjust camera settings while the NDI stream is running? HOT 4
- Unable to build main branch HOT 2
- camera models applicable HOT 4
- Cannot find libraries HOT 2
- Segmentation Fault HOT 6
- Segmentation Fault (again) HOT 1
- Error while loading shared libraries: libcamera.so.0 HOT 3
- "Segmentation Fault" when trying to run HOT 35
- Build fails HOT 2
- Connected but no image HOT 9
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 raspindi.