Please help to identify the bottleneck.
- zoneminder
- Site Admin
- Posts: 5215
- Joined: Wed Jul 09, 2003 2:07 pm
- Location: Bristol, UK
- Contact:
A bit late in on this thread!
In my experience from profiling the code, I think a greate deal of resource is actually spend encoding jpegs. A couple of thing may help here in the future
1) I should do some experiments with varying the quality of the jpegs to see if that helps. E.g. if a jpeg stored at quality 100 is a lot faster to encode (as there's little compression) it may be worth the overhead of larger files.
2) Integrating the jpeg-mmx or jpeg2000 libraries as some users have done to make the most of the optimisations inherent in these relplacements for the standard libjpeg. So far I've not managed to get libjpge-mmx working reliably though.
3) As many people have requested, having the events stored as mpegs directly. This will be coming soon and may well help by reducing both the CPU load and disk space used. It might not though, it might be worse!
Phil
In my experience from profiling the code, I think a greate deal of resource is actually spend encoding jpegs. A couple of thing may help here in the future
1) I should do some experiments with varying the quality of the jpegs to see if that helps. E.g. if a jpeg stored at quality 100 is a lot faster to encode (as there's little compression) it may be worth the overhead of larger files.
2) Integrating the jpeg-mmx or jpeg2000 libraries as some users have done to make the most of the optimisations inherent in these relplacements for the standard libjpeg. So far I've not managed to get libjpge-mmx working reliably though.
3) As many people have requested, having the events stored as mpegs directly. This will be coming soon and may well help by reducing both the CPU load and disk space used. It might not though, it might be worse!
Phil
-
- Posts: 5111
- Joined: Wed Jun 08, 2005 8:07 pm
- Location: Midlands UK
my vote would be to store as jpeg then make mpeg after if required. Im not to sure about storing sections of video only, finding alarms in mocord would be a pain. im sure i read here somewhere about someone who had a background filter that converted relevant events into mpeg then removed the jpegs. As far as pro dvr's go all the proper ones store mjpeg and then export relevant timeslices either straight to cd or via ip to cusyom pc software. This solution is better for me as i grab a 30 minute 1 hour whatever Segment and select the relevant cameras and it makes a video from the mjpegs stored. As far as i can tell just like 'export' on zm does but on multiply cameras for syncronised playback. Also not sure i would trust ffmpeg fully!
James
James
That is true with any software, you are responcible to make sure the software is updated. The ISO was for the most part up to date at the time of creation but to rebuild the ISO and upload it to the server takes time and the bandwidth to place it there costs money. I'm not sure what kind of deal Phil gets but for the amount of MB of storage he has on his downloads page I say in the range of $90 to $120 USD a month at least not including bandwidth charges.
As far as JPEG vs MPEG we are trying to make that an option but that all takes time to program and we have to hold jobs during the day especialy Phil to pay for this web site so please be patient as we (mostly Phil) try to add features. Some of those feature are more dounting than others to add.
Regards,
Cordel
As far as JPEG vs MPEG we are trying to make that an option but that all takes time to program and we have to hold jobs during the day especialy Phil to pay for this web site so please be patient as we (mostly Phil) try to add features. Some of those feature are more dounting than others to add.
Regards,
Cordel
I'm running a live cd instalation on a PIII 1Ghz with 512Mb RAM. I have 5 cams running at 2 fps. I use 3 Axis 205 and two D-Link cams (one DCS-2100G and one DCS-900). All are network cameras.
I have been playing a bit to find out what kills performance and fps is the clue. If I set just one of the cams to 5 fps or more, things get slugish. Oh, yes, almost forgot: Al my cams are set to 640x480 color images.
Another thing: Memory! You just can't get enough of it. 512MB is about minimum for any setup IMNSHO. I have two other Linux boxes running different tasks and its pretty evident that anything less than 512MB vil eventually cause "massive" diskswaping when Apache is running on the machin, slowing down the performans badly. Even my mailserver with webmail as the only web page(s) on the server eats up almost the full 512MB. And I'm the only one who use this server.
Memory is cheap and the easiest way to get desent performance is to upgrade your memory. 512MB is a good startingpoint... Run top in a consol and watch for cpu and memory usage. If memory gets low and the machin starts using swap space: add more memory!
And the load number: On MY system 2 is the "limit" of acceptable performance. When nothing much is happening it idles at about 0.9
I have been playing a bit to find out what kills performance and fps is the clue. If I set just one of the cams to 5 fps or more, things get slugish. Oh, yes, almost forgot: Al my cams are set to 640x480 color images.
Another thing: Memory! You just can't get enough of it. 512MB is about minimum for any setup IMNSHO. I have two other Linux boxes running different tasks and its pretty evident that anything less than 512MB vil eventually cause "massive" diskswaping when Apache is running on the machin, slowing down the performans badly. Even my mailserver with webmail as the only web page(s) on the server eats up almost the full 512MB. And I'm the only one who use this server.
Memory is cheap and the easiest way to get desent performance is to upgrade your memory. 512MB is a good startingpoint... Run top in a consol and watch for cpu and memory usage. If memory gets low and the machin starts using swap space: add more memory!
And the load number: On MY system 2 is the "limit" of acceptable performance. When nothing much is happening it idles at about 0.9
Hi,
Here is my contribution :
1) processor : ATHLON XP2700+ on ASUS A7V600-X Mobo
2) RAM : 1024MB (1GIGA) not shared
3) capture card used : 2 pieces of Compatible GrandTec Multi Capture Card (Bt878)
a) is this a single chip per input or not : single chip
At the moment, only 1 input is used on each card
b) FPS per one cam :
1 FPS on first CAM in RECORD mode on first card
25 FPS on second CAM in MODECT mode on second card
c) FPS per X cams : 26FPS
d) color palette used :
GREY on first CAM
RGB24 on second CAM
e) resolution : 384x288 on both CAM
c) CPU used per process in different modes
The most load come from ZMA process, ZMA process at 25FPS MODECT (second CAM) eat arround 60% of CPU load. And if I set at 4FPS MODECT this go down arround 10% of CPU load, and at 2FPS MODECT this go down to 5%. It seems to be linear.
Oliver
________
No2 Vaporizer
Here is my contribution :
1) processor : ATHLON XP2700+ on ASUS A7V600-X Mobo
2) RAM : 1024MB (1GIGA) not shared
3) capture card used : 2 pieces of Compatible GrandTec Multi Capture Card (Bt878)
a) is this a single chip per input or not : single chip
At the moment, only 1 input is used on each card
b) FPS per one cam :
1 FPS on first CAM in RECORD mode on first card
25 FPS on second CAM in MODECT mode on second card
c) FPS per X cams : 26FPS
d) color palette used :
GREY on first CAM
RGB24 on second CAM
e) resolution : 384x288 on both CAM
c) CPU used per process in different modes
The most load come from ZMA process, ZMA process at 25FPS MODECT (second CAM) eat arround 60% of CPU load. And if I set at 4FPS MODECT this go down arround 10% of CPU load, and at 2FPS MODECT this go down to 5%. It seems to be linear.
Oliver
________
No2 Vaporizer
Last edited by RedFlyer on Mon Feb 14, 2011 5:19 am, edited 2 times in total.
-
- Posts: 5111
- Joined: Wed Jun 08, 2005 8:07 pm
- Location: Midlands UK
dmit did u ever get your issues sorted if not whats left.
all:
I think we need a benchmark maybe a benchmark live cd or rpm that could do it. I noticed from another problem on another thread that you can used saved jpegs and feed them back into zm. My idea is this. We have a srandard 15 minute section of video with random movement at say 10 fps. this could be fed into zm as 4 monitors, totalling 40 fps. We start zm and set it to work on the benchmark. We could device the score as lower better 15 min load from linux. This would give us a good idea of average running load for that hardware and gives us some limited control.
I would also like to see the Load 2 seperate montafe streans would create. This way we could see recording only benchmark and live stream inky benchmark. I assume there is somway these values could be linked to give a zm score?
We would also know how likeky the server woild standup in the field. We could then create a usefuk ap
all:
I think we need a benchmark maybe a benchmark live cd or rpm that could do it. I noticed from another problem on another thread that you can used saved jpegs and feed them back into zm. My idea is this. We have a srandard 15 minute section of video with random movement at say 10 fps. this could be fed into zm as 4 monitors, totalling 40 fps. We start zm and set it to work on the benchmark. We could device the score as lower better 15 min load from linux. This would give us a good idea of average running load for that hardware and gives us some limited control.
I would also like to see the Load 2 seperate montafe streans would create. This way we could see recording only benchmark and live stream inky benchmark. I assume there is somway these values could be linked to give a zm score?
We would also know how likeky the server woild standup in the field. We could then create a usefuk ap
Xen?
I am going to run Zoneminder inside Xen VM.
Any issues I could expect from it?
Or it will behave exactly like on a dedicated system?
Thanks,
Alex
Any issues I could expect from it?
Or it will behave exactly like on a dedicated system?
Thanks,
Alex
cordel wrote:I started following the dev of XEN on FC4 which compiles the packages in about the same time as a stand alone system 53 seconds
HD SPACE USAGE ??
Hi,
I'd like to create a PC suitable for capturing from 8 cameras through the spectra8 card.
Can anyone report his experience in regards to hd space usage when recording to HD?
i.e., how much HD space will use a b/w 5 fps capture coming from 8 different cameras (without motion detect) ?
if a table with these datas has already been created, please post me te link
many thanks
Gabriele
I'd like to create a PC suitable for capturing from 8 cameras through the spectra8 card.
Can anyone report his experience in regards to hd space usage when recording to HD?
i.e., how much HD space will use a b/w 5 fps capture coming from 8 different cameras (without motion detect) ?
if a table with these datas has already been created, please post me te link
many thanks
Gabriele
-
- Posts: 5111
- Joined: Wed Jun 08, 2005 8:07 pm
- Location: Midlands UK
James Wilson
Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
- zoneminder
- Site Admin
- Posts: 5215
- Joined: Wed Jul 09, 2003 2:07 pm
- Location: Bristol, UK
- Contact:
-
- Posts: 5111
- Joined: Wed Jun 08, 2005 8:07 pm
- Location: Midlands UK
added to FAQ
James Wilson
Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
- zoneminder
- Site Admin
- Posts: 5215
- Joined: Wed Jul 09, 2003 2:07 pm
- Location: Bristol, UK
- Contact: