@pietrop/edl-composer

ELD composer can be used to create Edit Decision List. EDL, Edit Decision List, is a plain text format that describes a video sequence. It can be opened in a video editing software to reconnect media to assemble a video sequence

Usage no npm install needed!

<script type="module">
  import pietropEdlComposer from 'https://cdn.skypack.dev/@pietrop/edl-composer';
</script>

README

Edl Composer

The EDL composer node module can be used to create Edit Decision List. EDL, Edit Decision List, is a plain text format that describes a video sequence. It can be opened in a video editing software to reconnect media to assemble a video sequence. Originally extracted from autoEdit.io

Setup

Setup for Contributing

Clone the repo

git clone git@github.com:pietrop/edl_composer.git

Install dependencies

npm install

And if you want to try it out

node example-usage.js

Setup for usage

To use in your project, the module can be found on npm as edl_composer so just run the following to add to your project.

npm install @pietrop/edl-composer

Usage

The EDL sequence should have the following attributes

var edlSq = {
    "title": "Demo Title of project",
    "events":  [
      { "id":1,
        "startTime": 10, // in seconds 
        "endTime": 20,
        "reelName":"SomeReelName",
        "clipName":"Something.mov",
        "offset": "00:00:28:08", //offset is optional default is "00:00:00:00"
        "fps": 25
      },
      { "id":2,
        "startTime": 45,
        "endTime": 55,
        "reelName":"SomeOtherReelName",
        "clipName":"SomethingElse.mov",
        "offset": "00:00:28:08",
        "fps": 29.97
      },
        { "id":2,
        "startTime": 45,
        "endTime": 55,
        "reelName":"NA",
        "clipName":"SomethingElse.mov",
        "offset": "00:00:28:08",
        "fps": 24
      }
    ]
}

And it can be parsed and composed into an EDL as following.


var edl = new EDL(edlSq);
console.log(edl.compose());

This returns a string that you can write to file or else.

TITLE: Demo Title of project
FCM: NON-DROP FRAME

001   SOMEREE  AA/V  C  00:00:00:00 00:00:00:00 00:00:00:00 00:00:10:00
* FROM CLIP NAME: Something.mov
FINAL CUT PRO REEL: SomeReelName REPLACED BY: SOMEREE

002   SOMEOTH  AA/V  C  00:00:00:00 00:00:00:00 00:00:10:00 00:00:20:00
* FROM CLIP NAME: SomethingElse.mov
FINAL CUT PRO REEL: SomeOtherReelName REPLACED BY: SOMEOTH

002    AX  AA/V  C  00:00:00:00 00:00:00:00 00:00:20:00 00:00:30:00
* FROM CLIP NAME: SomethingElse.mov

System Architecture

High level overview of system architecture

See docs guides understanding edl specs

Development env

How to run the development environment Coding style convention ref optional, eg which linter to use Linting, github pre-push hook - optional

  • node
  • npm

Build

How to run build

No build step

Tests

How to carry out tests

Minimal test using jest

npm test

Deployment

How to deploy the code/app into test/staging/production

No deployment just a node module