This issue is how to apply the max limit (what are the rules) - if already well into a video withGavinmc42 wrote: And learning billw's code so I can add a max limit.
The preview is updated at video_fps/mjpeg_divider rate and the web page reads that at 150msecLucidEye wrote: Is there any way of getting a faster frame rate on the preview? Even at the lowest res it only seems to be around 2 or 3 frames/sec if that. I'm only going to be using it on my LAN or in ad-hoc mode with a tablet, so I don't need to reduce data for WAN viewing.
Does the Pi's video memory allocation affect performance at all? I currently have 64mb allocated.
Do I need the MPEG2 and VC1 licenses installed to make this software function at peak performance?
Code: Select all
pikrellcam -debg-fps
I think that setup might work to reject high-speed street traffic, as long as your vector-count is high enough (or your field of view clean enough) so that for example a shaking tree branch or speedy bird or falling raindrops or other foreground object doesn't reject an otherwise valid frame. I think the general problem is when you have a mix of the slow (intended target) items and fast (other stuff) item(s) within the same event.billw wrote:what if pikrellcam records the max vector and then there are variables
for it to be passed to an on_motion_end script. You could just test for limit exceeded and where in
the frame and if you don't like it just delete the video right then. This would not require any changes
to the detect algorithm or analysis of the csv file. You just look at one vector?
I agree, which is what makes this difficult to have as a builtin pikrellcam function since there's severaljbeale wrote:I think that setup might work to reject high-speed street traffic, as long as your vector-count is high enough (or your field of view clean enough) so that for example a shaking tree branch or speedy bird or falling raindrops or other foreground object doesn't reject an otherwise valid frame. I think the general problem is when you have a mix of the slow (intended target) items and fast (other stuff) item(s) within the same event.billw wrote:what if pikrellcam records the max vector and then there are variables
for it to be passed to an on_motion_end script. You could just test for limit exceeded and where in
the frame and if you don't like it just delete the video right then. This would not require any changes
to the detect algorithm or analysis of the csv file. You just look at one vector?
It would be very powerful to be able to detect based on "distance travelled by object" also to reject branches just moving back and forth in the wind, but I don't think PKC can actually do specific object detection. However, if your cars cross all four detection areas, maybe it's good enough to have speed stats for each area, so you can reject if a large-enough area of max speed is reached in every region. Is that possible?Gavinmc42 wrote:Large fast moving objects that go all the way across the frame. These are the cars I don't want.
Yeah, separate project. Someday maybe add a YUV analyzer of the I420 frame that runs alongside the motion vector analyzer. It could be hinted by the motion vector position and bounding box but would still need some CPU time.Gavinmc42 wrote:Talking robotic vision stuff now. fruit sorting etc if color gets added, whoops, off track.
PKC knows objects by vector magnitude and count so it only knows there is an object and can't differentiate between objects.jbeale wrote:It would be very powerful to be able to detect based on "distance travelled by object" also to reject branches just moving back and forth in the wind, but I don't think PKC can actually do specific object detection. However, if your cars cross all four detection areas, maybe it's good enough to have speed stats for each area, so you can reject if a large-enough area of max speed is reached in every region. Is that possible?
Highly unlikely. That is less than one year! I have two Pi's with uptime over 750 days, that is over 18000 hours and no issues yet.Gavinmc42 wrote:MTBF of electro caps? actually lifetime of electro cap C6 - 5000hrs?
I assume you want a single timelapse to capture over some time like a day? If so you can start andHarrie1966 wrote:I have a question I would like to use the Function timelapse but only when there is motion detected. Is this possible and I can customize this turn or a script. I'm very satisfied with this program works very well. only timelapse takes up too much space on an SD card. I hope you can help me.
Code: Select all
daily dawn "@tl_start 1"
daily dawn "@tl_hold on"
daily sunset "@tl_end"
Code: Select all
on_motion_begin sh -c "echo tl_hold off" > /home/pi/pikrellcam/www/FIFO
on_motion_end sh -c "echo tl_hold on" > /home/pi/pikrellcam/www/FIFO
There's some ideas in there for commands I could add to do this better, but as a demo of what youLucidEye wrote:So, out of curiosity, is there any way to make the pan and tilt servos step very slowly from preset to preset while shooting a time lapse... by slowly I mean panning, say, from the far left pan limit to the far right pan limit over a period of several minutes to several hours? I'm assuming after setting the max limits on the pan/tilt servos, the software then "knows" how many pulses it takes to go from one limit to the opposite limit... so I'm guessing there would be some way to tell it to send pulses spaced at a specified time interval in order to do a super-slow pan... and I'm guessing I'd need to use the minimum width pulse in order to make the pan appear as smooth as possible... too fast a pan or tilt movement in the servos would show up as jerkiness in the finished time lapse. Like I said... of on a tangent... that's what happens when I stay up geeking out till 4am
Code: Select all
#!/bin/bash
SCAN=2
STEP=0
# pan left and give time for servo to reach left limit
echo servo pan_left $SCAN > ~/pikrellcam/www/FIFO
sleep 10
echo tl_start 2 > ~/pikrellcam/www/FIFO
sleep 1
COUNTER=0
while [ $COUNTER -lt 100 ]
do
echo servo pan_right $STEP > ~/pikrellcam/www/FIFO
let COUNTER=COUNTER+1
sleep 2
done
echo tl_end > ~/pikrellcam/www/FIFO
Code: Select all
sudo apt-get install gkrellmd
Code: Select all
sudo apt-get install gkrellm
gkrellm -s rpiH
#or if rpiH is not in /etc/hosts, use its IP:
gkrellm -s IP-number
As far as I know, nothing else is running on the pi. I'm running Jessie Lite to minimize any extraneous CPU usage by the OS. It is currently doing auto-login to the console at boot with the default user "pi"... but that really shouldn't make any difference.... does it need to login at boot, or does the pikrellcam service start regardless of login?jbeale wrote:You are right that shouldn't be happening. Anything else running on the Pi3?
There is a simple text mode tool called "speedometer" that can show you current bandwidth use. You can SSH into your Pi3 and run it to see what the current TX and Rx rate is.
apt-get install speedometer
https://excess.org/speedometer/
billw wrote:You can also graphically monitor with gkrellm the wlan0 traffic, cpu usage, etc of wifi connected
headless Pi boxes. ssh in and:Then on your workstation (if the headless is say rpiH):Code: Select all
sudo apt-get install gkrellmd
If you have multiple Pi machines, gkrellmd on each can be configured to use a different port andCode: Select all
sudo apt-get install gkrellm gkrellm -s rpiH #or if rpiH is not in /etc/hosts, use its IP: gkrellm -s IP-number
all can be displayed at once on the workstation with multiple: gkrellm -s rpiX -P portnumber
This should not happen, any chance there is a power supply issue? Using a 1.5 A or more power supply with good quality cord? I have experienced wifi slowdown and outage which was related to my power supply, so it is possible. Is this a Pi3 using built-in wifi? I have read that there are issues with the driver for the builtin Pi3 wifiLucidEye wrote: I've also been experiencing crashes whenever the Pi tries to compile a timelapse video... even a short one... the progress meter shows up, and a minute or 2 later the web interface becomes unresponsive, and even the SSH connection gets dropped... have to physically unplug the pi to reboot it![]()
I think all the cores are used nicely. A camera app starts off inherently multithreaded since theLucidEye wrote: So, as I understand, all of pikrellcam's processes are running on only one of the 4 CPU cores?
Seems a shame to let all that computing power go to waste
Is there any way to divide the work to other cores... like all video processes on one or 2 cores and GPU, all read/writes to the SD card on another core, all web-interface and network I/O on the remaining core? Divide and conquer?