Streaming a lot of camera feeds over the internet takes a LOT of bandwidth. Please (eventually) add some transcoding options. There should be distinct options for different purposes. For example, recording footage may have one setting, such as raw, live monitoring over the local network may have another, such as a fast scale operation, and live monitoring over the public internet may have a third transcoding setting, such as a highly-compressed, down-scaled sample with fewer frames.
In SecuritySpy, for example, I monitor camera feeds with a 32 kbps stream. You don't see much, but you do see enough to know when you should look more closely, and it saves gigabytes of bandwidth.
Hopefully you will be able to take advantage of some of the dedicated hardware (such as the GPU) to do the transcoding and avoid burdening the CPU. But even if you have to burden the CPU, that is OK; some of our CPUs can handle it, or at least can handle it for a few cameras.
Needless to say, the software should be smart enough to steal resources from the transcoder for the purposes of recording and archival, in the event settings are made that are too aggressive.
Most multi stream IP cams have streams that are designed for full resolution and mobile. Blue cherry should allow additional configuration of camera settings to specify URL to access these independent streams so that for mobile use the low bandwidth streams are used instead (with option to switch to hi-res on demand from live view)
The client has an option for "Low Bandwidth" -- what does that do? is that same lower-bandwidth-feed available via the MJPEG URL? It would be great to specify output resolution or framerate
The client has an option for "Low Bandwidth" -- what does that do? is that same lower-bandwidth-feed available via the MJPEG URL? It would be great to specify output resolution or framerate.
in "/usr/share/bluecherry/www//ajax/media/mediaMjpeg.php is the code for transcoding from the source to the MJPEG output
$cmd = "LD_LIBRARY_PATH=/usr/lib/bluecherry/ /usr/lib/bluecherry/ffmpeg " . " -rtsp_transport tcp -i rtsp://127.0.0.1:7002/live/$id?authtoken=$token " . " -aspect 1/1 " # forces JFIF marker which is used for longer marker . " -an -vcodec " . $codec . $frames ." -f rawvideo - ";
It would be very easy to allow passing "output resolution" as an option.