# Memory Optimized RecordRTC

The library is forked from RecordRTC and a new functionality is added to continuously store the recorded video in chunks in the IndexDB. Hence you can now record larger videos without worrying about the memory issue. Although the memory is limited to the quota alloted to the browser for the IndexDB storage by the Operating system.

Read the original ReadME file [here](https://bitbucket.org/sbxengineering/record-rtc/src/d8ad3abb3f94d3299c15bf0eaacb5541f90dce8a/).

## Tech Stack

Below is the tech stack for this library

| Name                 | Version  | Notes                                      |
| -------------------- | -------- | ------------------------------------------ |
| NodeJS               | v20.12.0 |                                            |
| Node Version Manager | 0.39.1   |                                            |
| Grunt                | 0.4.5    | We are using this for building the library |
| Webpack              | 4.44.1   | Not used for now                           |
| Dexie                | 3.2.7    | Used for easier api for usage of IndexDB   |
|                      |          |                                            |

## Setup the development environment

### Install NVM ([link](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating))

Follow the steps mentioned in the [repo github link](https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating)

### Install Node

Install node version v20.12.0

```shell
nvm use v20.12.0
```

### Install Grunt ([link](https://gruntjs.com/getting-started))

Run below command

```shell
npm install -g grunt-cli
```

## Building

Follow the below steps for building this library. Run the script [tools/clean-build.sh](tools/clean-build.sh)
