Quick video export from ZoneMinder to x264 (.mp4)

Recently we’ve started reconstruction of an old barn that’s part of our estate. And I love doing time-lapses of events like these; however as I am getting older, I am also getting lazier to setup GoPro every time. So I was a little sad, but then I realized that I had two cameras pointed in the right direction already! (And luckily in time for all of the events not to be overwritten yet, since I only have 5 day buffer before the oldest events get overwritten).

All I needed to do was to figure out how to quickly and easily dump all of the events for further processing in Premiere.

Exporting event as x264 video

There are many, many, many ways how to do that in ZoneMinder, from easy ones to more complex ones. This is one is one of the easiest ways, more suitable for manual export of single events every once in awhile.

Note: This mainly relates to older ZoneMinders where event’s frames are stored as separate .jpg on the disk. Newer versions of ZoneMinder can save direct x264/x265 passthrough stream from camera, where this might be different., possibly way easier. (?)

Anyway, the export is actually very easy once you know the directions:

  1. Make sure you have avconv installed on your server (if not, apt-get install libav-tools -y)
  2. In ZoneMinder, go to Options/Images, where
    1. Make sure OPT_FFMPEG is checked
    2. Set PATH_FFMPEG to /usr/bin/avconv
    3. FFMPEG_OUTPUT_OPTIONS will have* ''-f mp4 -vcodec libx264 -threads auto -b 2000k -c:v libx264 -preset ultrafast /mnt/raid6_storage/zoneminder-x264-exports/`date +"%Y%m%d-%H%M%S-%N"`.mp4 < /dev/null''
    4. And finally in FFMPEG_FORMATS you can replace all with just mp4.

*Commands in step 3 can be further edited. These by default will dump exports in /mnt/raid6_storage/zoneminder-x264-exports/ (my folder that I can easily access via samba on my Windows/Mac machines) named by time and timestamp to avoid collisions (the time is when the export has started, not the time when the event was recorded). However for my purposes this is ok as this dumps events in order.

If you erase the path (e.g. you’ll leave only -f mp4 -vcodec libx264 -threads auto -b 2000k -c:v libx264 -preset ultrafast), it will be saving the mp4 files directly next to the event in ZoneMinder .../zoneminder/events location.

If you only need to export single event every now and then, I recommend not including the path, but if you need to batch export 400 events, I find it easier to just dump them all into the same folder (and then go back to the setting without path).

Exporting single event

In ZoneMinder UI, open the replay of the event you want export. Directly above the video, there is menu which ends with Video. Click on that, then on Export and wait. On my machine, 10-minute long 1920×1080 event with 7 fps takes about 6 minutes (Intel i5).

Exporting multiple events

Now I have all of the events I need to export set as Archived. If you create filter similar to this and hit Execute, it will batch-process all matching results:

Once you are confident everything is working as it should, you can even export video and then delete the events in one go by checking the “Delete all matches” as well.

Long-term timelapse

Since we are dealing with time-lapses, I might as well mention this. If you want to capture really long-term time-lapse of something, it’s easier to separately save about 5-10 frames a day via crontab and then assemble the time-lapse manually.

Current single from from ZoneMinder can be accessed via:

http://IP/zoneminder/cgi-bin/nph-zms?mode=single&monitor=5

So you can whip up a quick shell script which you can call from cron few times a day:

#!/bin/sh

today=`/bin/date '+%Y-%m-%d-%H-%M-%S'`;

wget "http://IP/zoneminder/cgi-bin/nph-zms?mode=single&monitor=10" -O /mnt/raid6data/barn-timelapse/$today.jpg

Anet A8 – seznam modů a dílů k dokoupení

Asi jen málokdo provozuje Anet A8 v barebone stock stavu, zde je tedy rychlý seznam modů (funkčních a estetických) a dílů k dokoupení. Hvězdičkou ⭐ označené doporučuju koupit asi rovnou, u zbytku zvažte, jestli konkrétně Vám to k něčemu bude.

Pozn. ne všechny mám (zatím) vyzkoušené, je to i takový seznam pro mě, ale tady bude asi užitečnější než skrytý wishlist na AliExpressu.

Bezpečnostní úpravy

  • ⭐ MOSFET ($3) – Ačkoliv novější revize Anet A8 mají silnější kontektory už na desce, pořád přes ně teče docela velký proud (hotbed přes 10 A), který lze takto elegantně odvést z desky pryč a tím snížit riziko, že něco fatálně selže. Jako vždy se držáčky dají vytisknout. Není asi úplně nutné mít mosfet k hotendem (ten bere jen kolem 3 A), takže stačí jeden.
  • ⭐ Konektor s vypínačem ($1) – Anet A8 ma napájecí kabel napevno ve zdroji, což není úplně ideální už jen z hlediska vypínání a zapínání. Na Thingiverse je mnoho držáčků.

Funkční úpravy

  • Nalepovací tisková podložka ($3) – Mám ji nalepenou na 220×220 mm zrcadle. Funguje skvěle na PLA i PET-G, není nutno pužívat lepidlo ani přehnaně odmašťovat. Jediná nevýhoda je, ze modely jdou dolů trochu hůř (a pro modely s velkou styčnou plochou bych to možná nepoužíval vůbec), ale oproti tisku např. na lepidlo má spodek modelu krásný povrch.
  • Silikonová izolace hotendu ($2) – Pro maximálně konzistentní teplotu hotendu, pasuje dobře, po zahřátí lehce plandá; pojistil jsem ji tam kancelářskou sponkou.
  • Rozvodový řemínek vyztužený sklolaminátem ($2) – Prý je to lepší alternativa ke dráty vyztuženým řemínkům, které jsou u tiskárny z výroby… Asi to dává smysl, drátky se časem unaví.
  • Vyvedení SD karty na pohodlnější místo ($3) – Určitě mám v plánu někdy v budoucnu Pi + Octoprint, ale má to u mě zatím jen malou prioritu. Mezitím si můžete vytáhnout SD kartu na pohodlnější místo touto prodlužkou, ať kartu nemusíte poslepu zapojovat do špatně přístuoné základní desky tiskárny.
  • Izolace hotbedu ($2) – Pro PLA tisk (podložka 40-60 st., případně bez zahřívání) není potřeba, ale pro nějaký ABS, kde je potřeba podložku dlouhodobě udržet na vyšších teplotách už by se to možná mohlo hodit.
  • Senzor 3DTouch pro automatický mesh bed leveling ($10) – Čínská kopie originálního BLTouch senzoru. Nedosahuje sice takové přesnosti, ale pořád výrazně v mezích potřebných pro běžný tisk. Nutný Marlin firmware, a mít doma páječku, nějaký kabely a konektory ke zdárné instalaci. Zabralo mi to jedno odpoledne, ale za ten pocit už nemuset před každým tiskem ručně vyrovnávat podložku to 100% stojí.

Ztišení

  • Korkové těsní pod krokové motory
  • Ložiska (7 ks) – tišší, ale problémy s čínskou (ne)přesností (někdy jsou příliš volné. Zatím jsem neobjednával.
  • Hliníkový rám – to už je trošku větší projekt, do kterého se asi pouštět nebudu, ale někoho to třeba zaujme. Případně si můžete nechat na CNC vyřezat rám z 3mm oceli (Tatara rám). Obě varianty by měly radikálně eliminovat ghosting, tedy defekt na tisknutém předmětu způsobený vibracemi rámu (viz obrázky).
  • Tišší větráky – 40×40 mm větráček na extruderu a 50×50 větráček typu 5015 na chlazení výtisku.
  • Tisková skříňka (př. dva IKEA Lack na sobě)

Údržba

Náhradní díly

Různé:

  • Teploměr ($2) do uzavřených printer boxů z IKEA Lack stolků (potřeba dokoupit 2x knoflíkovou baterku LR44).
  • Spirálová hadice na kabely ($4) – U Anet A8 byla přiložená spirálová hadice na cable management. Nikdy jsem to neviděl a strašně se mi to líbilo, takže tady se dá přikoupit do zásoby pro zkulturnění kabeláže nejen na Anet A8. Myslím, že v balení byl průměr zhruba 8-10 mm. (Koupil jsem 6 mm a ta je užší – ale zase výborná na zabalení menšího svazku kabelů – např. od stepper motorků, kde by ta hadice přiložená k Anet byla zase zbytečně tlustá.)
  • PTFE tube ($3) – Ne, nechystám se na bowden mód, jenom mám v plánu filament táhnout přes čistící houbičku, skrz stolkem a potom přímo do extruderu, kde nechci, aby na sebe potenciálně znovu chytal prach, proto zbytek cesty pojede v tomto.
  • USBTiny ISP (nebo Arduino Uno klon ($4)) – Moje Anet přišla s deskou Anet V1.5, která nemá z výroby bootloader, kvůli čemuž nelze snadno preflashovat firmware na Marlina. S tímto programátorem (nebo patřičně přeflashovaným Unem na Arduino as ISP) jde bootloader vypálit (rovnou klidně Optiboot pro ušetření místa) a poté už lze firmware přehrát. Případně pokud se Vám podaří nějak bricknout desku, s pomocí tohoto nástroje ji můžete oživit zpátky. K tomu se pak hodí ještě UART redukce ($3). Pozn. napíšu o tom samostatný článek, ale na Macu mi dalo trochu práci to rozběhat, kompletní info zde.

Další články k tiskárně Anet A8:

Levná 3D tiskárna Anet A8 – první zkušenosti

Lze s nulovými znalostmi 3D tisku složit tiskárnu za jeden večer včetně „úspěšného“ prvního tisku? Tak určitě!

Předem podotýkám, že toto nebude vyčerpávající návod ani recenze. Po 3D tiskárnách koukám už několik let (koukám ve smyslu „Vím, zhruba kolik stojí aktuální Průšova tiskárna, a pořád je to moc“), ale vzhledem k tomu, že nemám zase tak moc co tisknout, nemělo smysl do tiskárny investovat horentní sumy.

K čemu vůbec 3D tiskárnu?

To je velmi dobrá otázka! Sám se snažím doma clutter udržovat na minimální úrovni, co nepotřebuju, to hned dávám na bazoš, nechtěl jsem tedy 3D tiskárnu jen proto, abych mohl tisknout blbosti jen „protože můžu“.

Ale občas třeba vidím, jak si někdo vytiskne proprietární redukci na SSD disk do staršího serveru (jakkoliv stahovací pásky fungují taky dobře, tohle by se mi hodilo náramně).

Držáčky, redukce, krytky. Nebo při každém leštění auta jsem přemýšlel o tom, jak si jednou vytisknu stojánek na lahev leštící pastu s odkapávačem (to je taková hodně specifická potřeba, já vím).

Už 4 roky mě v autě vytáčí moje onboard kamera. Tovární přísavný držák kameru drží asi 10 centimetrů od skla, takže se zbytečně klepe. Přitom by mohla být doslova půl centimetru od skla, pevně držet na přesném kousku plastu. Paradoxně i pro moji specifickou kameru (historická G1W-C) už někdo potřebný držák vymodeloval a umístil na Thingiverse.

Nebo jednou jsem dal 500 Kč za plastový díl k tepovači, který by ve filamentu vyšel na asi dvě koruny i se 100 % infillem.

Prostě – věděl jsem, že kdybych tiskárnu měl, občas bych něco vytisknul, ale zase nic, pro co by stálo za ni utratit 20 tisíc.

Takže co s tím?

Mezitím mi úplně uniklo, že už pár let se tiskárny dají pořídit za cenu pod $200… A tak jsem jednou náhodou narazil na YouTube na video, které recenzovalo tisk jedné takové tiskárny.

Když jsem vedle sebe viděl výtisk z této levné tiskárny a nějakého semiprofi modelu, video jsem v podstatě hned zavřel a na AliExpressu objednal tiskárnu Anet A8 z německého skladu za $140. To je 3D tiskárna za 3 400 Kč!

V neděli večer jsem ji objednal a v pátek byla doručena, což na třetí prosincový týden není vůbec špatný!

Pokud jste Anet A8 ještě nekoupili, tak to ani nedělejte

No, takže tento nákup byl hodně impulzivní. Tiskárna byla zaplacená a já jsem začal hledat, co že jsem to vlastně koupil. A nebyl jsem zklamaný, ale pokud bych věnoval těch pár hodin drobnému hledání a zkoumání, asi bych si připlatil několik málo desítek dolarů (v listopadu 2018 cca +$50) a koupil místo toho tiskárnu Creality Ender 3 Pro, která alespoň z toho mála, co jsem pochytil, má solidnější konstrukci bez nutnosti větších modifikací hned po složení a celkově to vypadá víc jako tiskárna, a míň jako hračka.

Ale co, na cestě už byla Anet A8. Navíc, vždycky jsem měl rád Merkur a stavebnice, a to je přesně to, co tiskárna Anet A8 je. Že s tím potenciálně pár víkendů zabiju jsem věděl a těšil se na to.

Když mi přišla notifikace, že byla tiskárna v pátek doručena, hned jsem v Brně koupil kilo filamentu (TS Bohemia měla oranžový skladem na Veveří), domů to vzal přes IKEA, kde jsem koupil dva Lack stolky na „printing box“ a večer jsme se s bráchou pustili do skládání.

Sice jsem si myslel, jak si přes týden něco nastuduju, ale nedostal jsem se k tomu. Z článku, které jsem zběžně pročetl hned po objednání si jen pamatuju zmínku, že „nějaký díl ve tvaru H je v návodu obráceně a je fajn ho namontovat rovnou správně“. Zpětně musím říct, že těch chytáků tam bylo víc a zrovna tady tento díl by byl ten nejmenší problém z ních.

Dojmy ze skládání

Jak už jsem zmínil, k tiskárně jsem si předem nic nenastudoval, jediné, co jsem si z článku Martina Malého pamatoval, že „v návodu je nějaký díl ve tvaru H obráceně“ (tady).

Z krabice jsem všechno vysypal, prvních pár kroků jsme jeli podle přiloženého návodu a potom přešli na video výrobce.

Moje tipy ke skládání v bodech

(podrobněji bude v samostatném článku)

  • Rám tiskárny je z černého akrylového plastu, který je polepený kartonovou fólií. Ta se dá sundat. My jsme na to přišli asi hodinu po započení skládání. Všechno zpět rozmontovat bylo hned, ale dostat tu fólii ze všech dílů trvalo snad hodinu ve dvou! Příště bych to snad i nechal v tom „kartonovým vzhledu“ a nic nesloupával. :D
  • Ten „díl ve tvaru H“ je pojezdový rám, na kterém je upevněn hotbed, a v návodu (i ve video verzi na YouTube) ho skutečně montují obráceně.
  • Kde to šlo jsem na šrouby používal lepidlo (medium strength threadlocker). Nevím, jestli to má souvislost, ale krátce po zprovoznění mi popraskaly některé akrylátové díly, na které se toto lepidlo dostalo – konkrétně držák Y-stepperu a jednoho ze Z-stepperů. Nejde o žádné velké drama, díly jsem si vytiskl znovu (v tom je docela kouzlo 3D tiskárny); zpětně jsem ale zjistil, že za to doopravdy mohou výpary z lepidla na šroubky, které způsobí zkřehnutí akrylátu, který potom popraská. Lepidlo na šrouby proto na Anet A8 nepoužívat!
  • Hot bed má na sobě z výroby krycí pásku, tu nutně nesundávejte, dá se na ni docela dlouho tisknout. Hotbed je jinak z hliníku, a na něm tiskový materiál (alespoň PLA) nedrží bez lepidla. A s lepidlem je všude spousta bordelu. A opravdu širokou krycí pásku se mi o víkendu na vesnici nepovedlo nikde sehnat. Když se mi to potom povedlo, tak se ukázalo, že ty nejlevnější většinou vydrží jenom teploty do cca 40 °C (drží i při 60 °C, jen je potřeba pásku po zahřátí znovu uhladit a přilepit).
  • Ve dvou jsme tiskárnu složili v ležérním tempu (vč. cesty pro pizzu) před půlnocí, odhadem jsme to tak ve dvou stihnuli za zhruba 4 hodiny. Myslím, že by to šlo i rychleji, pokud bychom sundali fólie z plastů hned, a ne v půlce skládání (nebo se na to vykašlali úplně).
  • Díl s extruderem a hotendem je předsložený, ale doporučuju před prvním tiskem rozebrat a složit pořádně (postup zde, finální dotažení je ale vhodné udělat při provozní teplotě, u toho opatrně – nejen na popáleniny, ale také na zlámané díly); předejte tak úniku filamentu horní stranou hotendu, což se u mě projevilo už po cca 20 hod tisku. Filament potom teče horní stranou pryč a když je ho hodně, tak ukápne, což s trochou smůly může vést i ke zničení aktuálního tisku.
  • Závitové tyče namontujte tak, aby byly zarovnané v otvoru na rámu (posunutím ve flexibilních držácích na krokových motorech). Většinou co jsem viděl, tak lidem plandají ve vzduchu a potom na to zbytečně tisknou kontraproduktivní „úchyty“.

Co bych při skládání znovu udělal jinak

  • Předem bych si našel vhodná instruktážní videa. Ty od výrobce jsou často nepřehledné, často je na nich špatně vidět orientace dílu.
  • Po složení bych šel spát.

Ale kdo by nadšením usnul? Nějakou náhodou jsem věděl, že pro 3D tisk je potřeba precizně vyrovnaná tisková plocha vůči vytlačovací trysce (extruderu). Dokonce jsem věděl, jak to udělat. Bohužel jsme při skládání ke konci už ani nejeli podle manuálu – závěrečná práce jsou už jen šroubování, elektroinstalace a cable management (což je něco, co mě z nějakého důvodu vždycky strašně baví).

Už toho není moc co pokazit, bohužel samým nadšením jsme tiskárnu dodělali a spustili. Já jsem vyrovnal tiskovou plochu a potom na tiskárně dal Auto Home, což zarovná všechny osy na 0. Co mi nedošlo je, že výškově posouvatelný Z přepínač (který osu Z zastaví předtím, než tryska nabourá do tiskové plochy) je úplně dole, o několik milimetrů pod tiskovou plochou, takže při Auto Home se tryska neohroženě blížila k tiskové ploše – zastavil jsem ji sice včas než stihla napáchat nevratné škody (vytrhnutím ze zásuvky), ale strhla část krycí pásky, na kterou by se jinak dalo tisknout.

Nevadí, přepínač jsem zvýšil do odpovídající polohy, znovu vyrovnal tiskovou plochu a o půl jedné ráno strašně moc chtěl ještě něco vytisknout než půjdeme spát.

První tisk

Jedna věc, kterou jsem si nenastudoval vůbec, byla příprava tiskových dat. Věděl jsem, že existují nějaké slicery, ale to bylo tak všechno. O půl jedné ráno nebyla vůbec energie ještě něco podobnýho zkoumat. Na kartě od výrobce byly jenom soubory ve formátu .stl (model připravený k naslicovaní). Rychlý Google mi říká, že .stl soubory se přímo netisknou, ale přes krájecí program se připraví do formátu .gcode. Aha. Tak znovu google a „xyz cube test print filetype:gcode“. Stahuju první soubor, co najdu, nahrávám na kartu a spouštíme tisk, zatím na přiložený kousek bílého filemantu.

Ono to žije! Samozřejmě, soubor připravený s neznámými nastaveními pro neznámou tiskárnu byl předurčen k neúspěchu. Ale k našemu překvapení, první vrstva filamentu se krásně uchytila na podložku, tryska jezdila a kostka se po 20minutách skutečně zjevila na podložce! Samozřejmě jsme tisk upřeně sledovali celých 20 minut. :D

První dojmy

V sobotu a v neděli, tedy první dva dny, jela tiskárna v podstatě nonstop (jen přes den, přes noc bych ji bez dozoru puštěnou nenechal kvůli tristní elektroinstalaci). To se dá ale různými úpravami řešit a mám je v plánu.

A musím říct, že i bez jakýchkoliv úprav nebo modů tiskne Anet A8 opravdu skvěle. Vzhledem k mým skromným potřebám to platí dvojnásob. Samozřejmě, pořád se učím, ale hned první a druhý den jsem vytisknul kromě testovacích tisků i pár užitečných dílů (z toho tři na samotnou tiskárnu – nový výdech pro chlazení právě vytlačeného filamentu, jeden prasklý držák motoru a malé tlačítko pro uvolňování filamentu).

Tiskárna je poměrně hlučná. Tomu se opět dá pomoct.

Někdy příště shrnu moje úpravy a tipy k vylepšení.

Výdaje

  • Tiskárna Anet A8 s auto-leveling senzorem z německého skladu (není clo ani DPH): $150.89. Placeno TransferWise kartou pro dobrý kurz: 3419 Kč
  • 2x stolek IKEA Lack: 398 Kč
  • 1 kg Filament Gembird: 371 Kč

Moje další související články

Další české články
* Roman Mikulka – pravděpodobně nejobsáhlejší a nejlepší české shrnutí, spousta tipů pro modifikace (i upozornění na ty kontraproduktivní)

Cheap FullHD Chinese IP Cameras from AliExpress – review of a bunch

tl;dr:

I’ve been buying bunch of Chinese IP cameras to see which one would be the best “bang for the buck”. I only had two requirements: PoE and FullHD resolution (and ONVIF, but that’s pretty much standard today).

I’ve tried 7 different cameras, and the best one that I tried and can recommend is this one for $23 (1080P (Black) and 2.8mm or any focal lenth you need).

For more info about this one, scroll down to #5.

ts;wm: (Too short, want more)

This is not a comprehensive review, just an overview of the cameras I tried out so I know which cameras I can buy again or recommend; and which ones I wouldn’t buy again. I don’t care about any of the camera’s features as I am just taking their video stream and feeding it into ZoneMinder-based DVR.

For privacy reasons I won’t post sample images from the cameras, since I have them already mounted in place.

Security concerns regarding no-name Chinese IP cameras

People (and by people I mean redditors) always freak out when I even barely mention that I am using no-name Chinese IP cameras for my home security system. I sort of understand why, but there is no reason.

I’ve created a separate group of objects (= the IP cameras) in my firewall which does not have internet access, therefore the cameras cannot call home in any way. They do try, but it is not a lot of traffic anyway. I’ve come to believe that often they only try to sync time, since some of the servers I’ve pulled from the log of blocked connections were time servers in China (I have found out later that some of the cameras have automatic time sync set up in the settings using random university servers in China). By the way, this can be bypassed by simply setting the time server to my local ZoneMinder server which also runs ntp service, so the cameras can have correct time even without Internet. (Which is not really important in the first place, but I am switching day/night mode on one of the cameras manually by time, which is where it becomes useful.)

If you are looking for a single camera packed with functionality (like with iOS app and whatnot) that you may even want to expose on the Internet for remote access, then I would probably suggest staying away from these Chinese devices.

But if you simply only need a “network lens” from which the NVR of your choice (ZoneMinder, Synology NAS and many, many others) can grab video stream, read on.

Cameras are in the order as I bought and tried them. FPS can be lowered on all of them in the settings. (See the end of this article.)

1. ???Brand??? (Legacy review), WiFi+RJ45, IR, AC, 1280×960, $34

Model number: N/A (sold it)
ZoneMinder settings:
Source Type: Ffmpeg
Source Path: rtsp://(ip-address):554/11
Remote Method: RTP/RTSP

This is the first camera I bought, naively thinking WiFi is good enough for streaming (it is not). The image quality is terrible and it gets even worse at night when the IR filter rolls in – the image gets so blurry I can’t even read a license plate on my own parked car right under the camera.

This specific model is not in stock anymore so I can’t find any details on the chip and sensor etc. but it doesn’t matter because I wouldn’t be buying again anyway. I also recommend staying away from WiFi. Just go through the trouble, buy a roll of cat5e and wire everything properly. (Edit: This is a 2018 article, today, with modern mesh WiFi networks, it might just work, but you still need to run power to the cameras, at which point you might just as well run cat5 cable with POE anyway.)

2. Revotech, FullHD with AC/DC power (ASDK Store)

AliExpress, P/N N/A (sold it), bought for $21.28

ZoneMinder settings:
Source Type: Remote
Remote Protocol: RTSP
Remote Method: RTP/RTSP
Remote Host Name: (ip-address)
Remote Host Port: 5544
Remote Host Path: /live0.264

Can’t confirm the model but they claim it’s I6032B-V200 that has a Hi3518E V200 chip with 2363 sensor (Hi3518EV200+2363).

Dynamic range is not the greatest (on sunny days sometimes the sun-lit part is way blown and over-exposed), but otherwise, the image quality is so-so good during the day, but shit-fuck grainy at night when running on the IR light.

Would not buy again, I sold it already and swapped it for a POE camera.

3. Besder, FullHD with AC power (Besder Official Store)

URL

ZoneMinder settings:
Source Type: Ffmpeg
Source Path: rtsp://(ip-address):554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp
Remote Method: RTP/RTSP

Little more expensive than the previous one, it was $29. It has a Hi3516C chip with an unknown sensor. The image is great. At night the image gets grainy but it’s way better than the one above.

Has nice metal housing and the four IR LEDs look powerful (can’t confirm how powerful because I have this camera aimed on a gate lit by street lamp).

Despite all of this, I wouldn’t buy this specific camera again. I don’t see the benefit of paying $10 extra for the metal housing; the cameras with plastic housing serve me just as well. Though, this one does look more professional, but for me the goal is that no one should notice the cameras at all, let alone judge how “professional” my security system is based on that. (Not much anyway, I guess.)

4. Misecu dome camera, POE, FullHD (Misecu Official Store)

URL, model IPC-DM07-20SC (48V POE 1080P + 3.6 mm), bought for $30.12.

ZoneMinder settings:
Source Type: Ffmpeg
Source Path: rtsp://(ip-address):554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp
Remote Method: RTP/RTSP

My first PoE camera! #yay

The chip could be Hi3518 (Hi3518EV200), but it is hard to find out. The seller has this in the data sheet for different Full HD camera (IPG-50HV20PES-S). The sensor is not specified.

However, the image quality is by far the best I’ve seen so far and there is no noise at night! During the day, the image is maybe a little over sharpened but nothing major. Being a dome camera it was a little finicky to get it positioned, I thought it would be easier to set the angle.

The “camera ball” (not sure how to describe but the camera itself is actually a ball when taken out of the dome housing) and the housing are well finished and made from metal. The seller says it’s “vandal proof” and I am inclined to say this is not too far fetched when properly fastened to the wall/ceiling (I think it had four screw holes at the base, which’d make it rock-solid with proper fastening).

I would definitely consider buying this one again (especially if I figure out what is the best use-case for dome cameras instead of regular bullet body cameras).

5. Besder camera, POE, FullHD (Besder Official Store)

URL, model 6024PB-IP201 (48V PoE 1080P + 2.8mm), bought for $25.27

ZoneMinder settings:
Source Type: Remote
Remote Protocol: RTSP
Remote Method: RTP/RTSP
Remote Host Name: (ip-address)
Remote Host Port: 554
Remote Host Path: user=admin&password=&channel=1&stream=0.sdp?real_stream

Chip Hi3518EV200 with a 1/2.7″ SC2135 sensor.

For $25 this is the best value for money I’ve got so far. Image quality is comparable to the dome camera above, and it doesn’t seem to be as over-sharpened. On the default quality setting (Medium) there is visible compression in the stream, but it goes away when set to High.

Worth noting is also the fact that despite cheapo plastic case I have this camera in the wild (on a tree, actually) exposed to all kinds of weather, and so far it holds up fine! It survived summer thunderstorms and now going through its first winter. So far, so good. (Edit July 2019, over a year after set up: Still holds up fine. Edit April 2021: Ibid. Goes for all the other cameras, too.)

6. Two Revotech cameras, one with Sony chip and one “regular”

URL, models I6032B-V200-POE ($24.29) and I6032B-Sony-POE ($33.61)

ZoneMinder settings for the cheaper model (I6032B-V200):
Source Type: Remote
Remote Protocol: RTSP
Remote Method: RTP/RTSP
Remote Host Name: (ip-address)
Remote Host Port: 5544
Remote Host Path: /live0.264

ZoneMinder settings for the model with Sony chip (I6032B-Sony):
Source Type: Ffmpeg
Source Path: rtsp://admin:@(ip-address):554/live0.264
Remote Method: RTP/RTSP

Note: Both settings somewhat work for both of the cameras, I don’t know why I’ve set them up differently, but since it works, I am not gonna touch it. :D

Here it gets little confusing. When I bought these, this seller was offering two variations of the camera:
* 1080p (Hi3518EV200 + 2363), today the 1080p
* 1080p with a Sony chip (Hi3516C + IMX322), today the 1080p 25fps

The main difference in the specs is that the basic version has max 15 fps and the one with Sony chip has maximum 25 fps. This is not a dealbreaker for me as I reduce all cameras to 5-7 fps, but it’s worth noting. Today, the seller doesn’t include the exact specs, but it’s safe to assume that they remain the same. The 1080P (Black) is the basic model, and 1080P 25fps (Black) has the Sony chip.

Now the image quality on both is great, day and night, but I would not buy the more expensive one again. The one with Sony chip has a little better image quality, but it’s not $8 worth of difference. Also the one with Sony chip pulls the contrast too high at night so the IR-lit area is okay, but the rest is pitch black. All of the other cameras have more even night image.

Unlike Besder above (#5), with its similar image quality and price tag, the Revotech cameras can be set up through any browser and OS (I run on Mac), whereas the Besder camera needs to be set up through Windows and  Internet Explorer with ActiveX enabled. More on that at the end of the article.

But I must admit, when I was setting these cameras up, I loaded up the direct stream into VLC and I was truly amazed at how good the Sony one was. Also I think both of these record sound which I also only noticed in the VLC. I don’t use this feature in ZoneMinder (not even sure if it’s possible) but maybe it is worth knowing. The sound stream can be turned off directly in the camera’s web admin.

7. Dome 720p POE

URL, model LTID-72BDF ($21.93).

ZoneMinder settings:
Source Type: Ffmpeg
Source Path: rtsp://(ip-address):554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp
Remote Method: RTP/RTSP

All I’ve got to say: piece of shit in every way considering it is only a 720p (1280×720) camera (all the other ones are FullHD – 1920×1080). The image sucks, its plastic body sucks, etc.

Conclusion

I have not bought any more cameras to try, because number #4, #5 and #6 are good enough for what I need and I started replacing all the other cameras with these.

On 11/11 Sales I’ve even managed to buy the cheaper Revotech (the one with non-Sony sensor) from #6 for under $19!

How to setup the cameras

Majority of the cameras have the DHCP turned off and the local IP is set to 192.168.1.10. This is where you can access the camera’s admin page and settings after initially plugin it in. Most of the cameras have default admin user admin and empty password.

I always first plug them into my test-bench router, log into them, grab their MAC address, bind this MAC address to free IP address on my master router, turn DHCP on (unless it’s on already) and only after that I plug them into my main network.

Some of the cameras can be only set up through Internet Explorer with ActiveX enabled and you need to download and install some weird app. I’ve simply bypassed it by having a disposable Windows virtual machine that I use to set up the cameras. After you install all of this, surprisingly a lot of the camera’s settings can be adjusted in-camera (time, IR-cut filter sensitivity, bitrate, frame rate, OSD features – moving them or turning them off altogether to get nice, clean stream). Before I’ve found that out, I contacted one of the sellers who told me it cannot be done (needed to do frame rate adjustment from 15 fps to 5 fps)… But rest assured, it seems that in some way it can be done on any camera.

Interesting reads

– January 2020 Update: I’ve swapped all the cameras to #5, so far the oldest one is 3+ years old and so far none cameras dies. The only one I didn’t swap is #4 (the dome camera) and that one is still running well, too.

  • April 2021 Update: Ibid.