Mini DVR patcher

Better video and audio for the mini DVR/Eachine ProDVR (HMDVR-class). It runs from the SD card, so nothing is written to the DVR's chip and a power cycle always brings back the stock firmware. (Step 5, optional, makes it permanent.)

Only for this firmware: Eachine ProDVR CRESFW.BIN (September 2016, version 2015.05.26.01.IR). The page checks every byte it changes. If your file is different, it refuses and nothing is made. Everything runs in your browser and your file is never uploaded.
1

Get the vendor firmware

Download the official ProDVR firmware from Eachine (Google Drive link) and unzip it. You need the file CRESFW.BIN. A full 2 MB flash dump of the DVR also works.

2

Make ADJUST.BIN

Your camera's video standard:

3

Get the settings file

The settings file switches on 50 fields per second, centres the picture, uses the finest quality from the start and sets the 31 kHz audio clock.

4

Use it

  1. Copy both ADJUST.BIN and UPOKE.BIN to the root of the DVR's microSD card (not into a folder).
  2. Put the card in the DVR and switch it on. It starts a little slower than usual, because it's loading the file.
  3. Record as usual in D1 mode.
  4. The DVR deletes ADJUST.BIN while loading it, so copy it again before every power-on. UPOKE.BIN stays on the card. If you switch on without ADJUST.BIN, the DVR simply runs its normal firmware.
  5. Convert the recordings on a PC: install Python 3, ffmpeg and numpy, then drag an .AVI onto tools/convert.bat from the project's repository (see its README). The raw files contain one field per frame and look squashed until converted.
5

Make it permanent (optional)

Once ADJUST.BIN works for you, the same firmware can go into the DVR's chip through its own SD-card updater, so you don't have to copy ADJUST.BIN before every power-on. No programmer is needed. It uses the same PAL / NTSC choice as step 2.

This writes to the DVR's chip. If the power fails while it's writing, the DVR won't start again and can only be fixed with a clip programmer. The updater is Eachine's own, but nobody has run it with this project's file yet.
  1. Charge the battery fully (or power the DVR over USB).
  2. Copy CRESFW.BIN to the root of the card. Remove ADJUST.BIN if it's there, otherwise the DVR loads that instead. Leave UPOKE.BIN on the card: the settings still come from it.
  3. Switch the DVR on and don't touch it while the red LED blinks. When it stops, wait about 30 seconds, then switch off.
  4. Check the card: delete CRESFW.BIN if it's still there, or the DVR writes it again at every start.
  5. Record a short clip in D1 without ADJUST.BIN on the card. If the raw file is 704 pixels wide, the permanent install worked. Menu settings may return to their defaults.

To undo: put Eachine's original, unmodified CRESFW.BIN on the card and follow the same steps. The updater runs before any of this project's code starts, so it works the same way from the patched firmware.