Floureon Wifi/Ethernet CCTV camera with ONVIF & PTZ support
The Floureon 720p/1080p CCTV camera is available from many sellers on eBay and Amazon. This camera supports night vision as well as pan-tilt-zoom (PTZ) and can be accessed via both Wifi and Ethernet. ONVIF with RTSP streaming is also supported. I bought the 720p version from eBay at a very good price of 30 USD, shipping included.
The device comes with a 5V 1A micro-USB power supply. The microSD slot works fine with my 64GB SanDisk card. During my tests, picture quality in both day and night modes are good. There is a factory reset switch at the back which I have not yet had the chance to use as my unit has been working continuously without fail for months.
The built-in web server, protected by HTTP authentication, provides access to basic functionalities such as viewing video and configuration:
To view live videos, an ActiveX control (which is only supported by Internet Explorer) needs to be installed on your PC and you will be reminded to do so every time you open the camera home page. You can also perform PTZ actions (up, down, left, right, reset) and manage PTZ preset on the same page. More advanced settings are available in Settings > Terminal, among which the option “Centered while self-check” is worth mentioning. If enabled, the camera will center the lens position at startup. Otherwise, the lens will return to its last known position, as inferred from the various PTZ commands sent to it, whenever the system starts.
To make sure that the lens would return to your preferred position whenever the camera reboots, disable “Centered while self-check”, carefully use the PTZ controls to slowly rotate the camera to the object you want to monitor, step by step. When done, click Set to save the preferred position as preset 1, which will be used by the camera when it reboots. You might need to do this a few times to get your preferred position. Unfortunately, the lens position is inferred through deck-reckoning, which does not take into account any manual movements of the lens performed by the user as well as the momentum and the inaccuracies of the PTZ stepper motor mechanism. This means that after multiple reboots, the lens would return to a position slightly different from the original configuration and a manual adjustment might be needed.
The “SD Card” button on the home page shows a directory listing of the SD card contents, from which you can download captured images and videos. As with most CCTVs, the device will remove old footage when space begins to run out, so you will not have to remove old footage manually. The “Capture” button will manually capture the current frame on the SD card. The “Record” button does not work during my experiment. You should not need to use either button, since automatic capturing of frames (every 60 seconds) and video footage (every 10 minutes) is enabled by default and can be configured in Settings > Advanced > Auto Snap and Settings > Advanced > Timer Record. SD card information can be viewed from Settings > Device Information. The settings page also contains options to configure IR sensor tolerances or disable night vision if needed.
IP address and HTTP/RTSP/RTMP can be configured in Settings > Network, where you can also set the wireless password. Only 1 IP address can be set, so connecting the Ethernet interface will automatically disable the wireless interface. In my tests, wireless reception is stable, unlike many other cheap cameras.
If enabled, the RTSP stream can be accessed via the following URL:
where user and password are credentials to access the web portal. RTSP will provide access to the first video stream, which is by default of higher resolution, whereas the SD card recordings will be from the second video stream of lower resolution. Although ONVIF Device Manager has issues with the RTSP stream, other players such as VLC and iSpy are able to play the stream normally. The resolution and usage of each video stream can be configured in Settings > Media > Video and Settings > Advanced > Timer record. On the settings page, there are also option for motion detection and email notifications, which I did not have the time to test.
On my device, setting the SD card recording stream to a high frame rate will result in the recorded video files (extension .264) being corrupted due to a bug that causes the firmware not to write the correct frame rate in the 264 file header. A rather complicated workaround is to write codes to manually fix the header, as described here. I did not bother with this since setting high frame rate will result in large video file size and very slow download speed from the embedded web server, which can handle only approximately 100KB/sec. In my setup, I simply configured 5fps for the automatic video recording and use FFmpeg on another computer to record the video separately if needed:
:start ffmpeg -nostdin -rtsp_transport tcp -stimeout 10000000 -i rtsp://user:email@example.com:554/11 -r 25 -c copy -f segment -segment_time 600 -an -strftime 1 %%Y-%%m-%%d_%%H-%%M-%%S_video.mp4 goto start
The above script will continuously record videos from the camera RTSP stream, split into 10-minute segment, into MP4 with timestamps in filenames. As the MP4 is generated by FFmpeg, seeking is supported, which is not possible with the firmware-generated .264 files.
The camera also supports uploading captured frames onto an FTP server, configured in Settings > Advanced > FTP:
Time synchronization via NTP can also be configured from Settings > System > Time:
There is also an Android app, available as an APK file burned onto a CD, which allows controlling the camera from your phone. A speaker on the camera is used to playback real-time audio sent from the mobile app, transmitted using RTSP via an audio backchannel.
There is no integrated battery to keep the time settings, so the device will attempt to synchronize the time via NTP at each reboot. In my setup, to avoid potential security issues, the router is configured to prevent the camera from accessing the Internet. At first this caused the camera time from reverting back to 1980 since the default NTP server (time.nist.gov) was not reachable. I overcome the issue by setting the Floureon to use my Raspberry Pi as an NTP server instead.
There is also a minor issue that causes a few characters in the camera name (configured in Settings > Media > OSD) not to display correctly on the capture frames. For example, Camera would be displayed as Camwrp at times. The device also does not offer FTP access and I have to resort to writing script to grab the directory listing and download files from there. Still, given the price, the camera is well-built and good enough for home use. Just remember to configure your router to give the camera only local access, not Internet access, for security reasons if you want to use it as a permanent solution.
Reverse engineer the 360Eyes Pro (IPC365) wireless CCTV camera
V380 Pro wireless CCTV camera with night vision and RTSP support
Using Raspberry Pi Zero Wireless as cheap CCTV camera replacement
Fluereon, V380 Pro and Raspberry Pi Zero as wireless CCTV cameras