-
Notifications
You must be signed in to change notification settings - Fork 897
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
v4l2multi_stream_mmal based rtsp fnc #2126
Conversation
@jasaw the work done here looks great, especially given that we say goodbye to many gstreamer-related packages and code now looks cleaner.
I certainly don't see this as a real problem, since (1) FNC traditionally worked only with RPi camera modules and (2) 99.99% of the FNC users probably use the CSI camera module.
I think we can safely merge this directly into our current The changes look good overall, with a small remark: could we have the new packages added to |
Hi @jasaw, I'll give this one a try, although to be able to use the mjpeg stream settings from the frontend requires tinkering with the
Thank you very much for this. Building now. |
+ $(CXX) -o $@ $(CXXFLAGS) -I$(PREFIX)/include/h264bitstream -I$(PREFIX)/include/hevcbitstream -I$(PREFIX)/include/libyuv $^ $(LDFLAGS) -lh264bitstream -lhevcbitstream -lyuv -ljpeg | ||
+ | ||
+v4l2fuse: src/v4l2fuse.c | ||
+ $(CC) -o $@ $(CXXFLAGS) $^ $(LDFLAGS) -D_FILE_OFFSET_BITS=64 -lfuse |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compilation fails at v4l2fuse.c
with error: array type has incomplete element type
. To fix, use C compiler for v4l2fuse:
$(CC) -o $@ $(CFLAGS) $^ $(LDFLAGS) -D_FILE_OFFSET_BITS=64 -lfuse
Hi @jasaw, been running your latest |
This PR replaces gstreamer based RTSP video stream with v4l2multi_stream_mmal & v4l2rtspserver, which reduces latency and CPU load, but at the expense of restricting RTSP FNC to Pi Cameras only. If we want to support USB based cameras, we can add gstreamer back into FNC.
RTSP mode now supports most of the options in
raspimjpeg.conf
which makes thestreameye.sh
script a lot cleaner. This is the list of supported options:"analoggain" "awb" "awbgains" "bitrate" "brightness" "colfx" "contrast" "denoise" "digitalgain" "drc" "ev" "exposure" "flicker" "framerate" "height" "hflip" "imxfx" "intra" "irefresh" "iso" "level" "metering" "profile" "roi" "rotation" "saturation" "sharpness" "shutter" "vflip" "vstab" "width" "mjpegbitrate" "mjpegframerate" "mjpegwidth" "mjpegheight"
These options are the same as raspivid/raspistill programs.
There are 3 supported audio config items in
raspimjpeg.conf
file: audio_bitrate, audio_channels, audio_format. Audio capture device can be specified instreameye.conf
file with config itemAUDIO_DEV
. Example:AUDIO_DEV=hw:1,0
There is no authentication on RTSP yet, but it's easy to add.
Note that I have done minimal testing, and absolutely no testing on the audio support. I want to get this out for you guys to review and probably help with some testing.
@ccrisan Should we merge this into a new branch rather than dev?
@popoviciri Do you want to create a PR for the additional RTSP controls on the web front-end (seeing that you have already done most of it)?