Update README.md

pull/9/head
jameszah 2019-08-05 20:23:58 -06:00 zatwierdzone przez GitHub
rodzic 3e6a31fddd
commit 675e9736f9
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 82 dodań i 1 usunięć

Wyświetl plik

@ -1,10 +1,91 @@
# ESP32-CAM-Video-Recorder
Video Recorder for ESP32-CAM with http server for config and ftp server to download video
(software coming tomorrow)
TimeLapseAvi
ESP32-CAM Video Recorder
This program records an AVI video on the SD Card of an ESP32-CAM.
by James Zahary July 20, 2019
jamzah.plc@gmail.com
https://github.com/jameszah/ESP32-CAM-Video-Recorder
jameszah/ESP32-CAM-Video-Recorder is licensed under the
GNU General Public License v3.0
Acknowlegements:
1. https://robotzero.one/time-lapse-esp32-cameras/
Timelapse programs for ESP32-CAM version that sends snapshots of screen.
2. https://github.com/nailbuster/esp8266FTPServer
ftp server (slightly modifed to get the directory function working)
3. https://github.com/ArduCAM/Arduino/tree/master/ArduCAM/examples/mini
ArduCAM Mini demo (C)2017 LeeWeb: http://www.ArduCAM.com
I copied the structure of the avi file, some calculations.
The is Arduino code, with standard setup for ESP32-CAM
- Board ESP32 Wrover Module
- Partition Scheme Huge APP (3MB No OTA)
This program records an AVI video on the SD Card of an ESP32-CAM.
It will record realtime video at limited framerates, or timelapses with the full resolution of the ESP32-CAM.
It is controlled by a web page it serves to stop and start recordings with many parameters, and look through the viewfinder.
You can control framesize (UXGA, VGA, ...), quality, length, and fps to record, and fps to playback later, etc.
There is also an ftp server to download the recordings to a PC.
Instructions:
The program uses a fixed IP of 192.168.1.222, so you can browse to it from your phone or computer.
http://192.168.1.222/ -- this gives you the status of the recording in progress and lets you look through the viewfinder
http://192.168.1.222/stop -- this stops the recording in progress and displays some sample commands to start new recordings
ftp://192.168.1.222/ -- gives you the ftp server
The ftp for esp32 seems to not be a full ftp. The Chrome Browser and the Windows command line ftp's did not work with this, but
the Raspbarian command line ftp works fine, and an old Windows ftp I have called CoffeeCup Free FTP also works, which is what I have been using.
You can download at about 450 KB/s -- which is better than having to retreive the SD chip if you camera is up in a tree!
http://192.168.1.222/start?framesize=VGA&length=1800&interval=250&quality=10&repeat=100&speed=1&gray=0 -- this is a sample to start a new recording
framesize can be UXGA, SVGA, VGA, CIF (default VGA)
length is length in seconds of the recording 0..3600 (default 1800)
interval is the milli-seconds between frames (default 200)
quality is a number 5..50 for the jpeg - smaller number is higher quality with bigger and more detailed jpeg (default 10)
repeat is a number of who many of the same recordings should be made (default 100)
speed is a factor to speed up realtime for a timelapse recording - 1 is realtime (default 1)
gray is 1 for a grayscale video (default 0 - color)
These factors have to be within the limit of the SD chip to receive the data.
For example, using a LEXAR 300x 32GB microSDHC UHS-I, the following works for me:
UXGA quality 10, 2 fps (or interval of 500ms)
SVGA quality 10, 5 fps (200ms)
VGA quality 10, 10 fps (100ms)
CIG quality 10, 20 fps (50ms)
If you increase fps, you might have to reduce quality or framesize to keep it from dropping frames as it writes all the data to the SD chip.
Also, other SD chips will be faster or slower. I was using a SanDisk 16GB microSDHC "Up to 653X" - which was slower and more unpredictable than the LEXAR ???
Search for "zzz" to find places to modify the code for:
1. Your wifi name and password
2. Your preferred ip address (with default gateway, etc)
3. Your Timezone for use in filenames
4. Defaults for framesize, quality, ... and if the recording should start on reboot of the ESP32 without receiving a command
Sample videos produced by the program in the /sample folder -- it is not GoPro quality, but then GoPro's don't cost $10.
~~~~~~~~~~~~~
Picture below shows my solution to the "Flash" led, aka "the Blinding Disk-Active light". The led turns on whenever you are are writing data to the SD chip, which is normally after you have taken the picture, so you don't need the flash on any more!
Quick de-solder of the collector on the top of the J3Y transistor just above the led, then put in some tape to keep it clear -- you can solder it back later if you want to use it.