Page MenuHome

Import EDL bugs
Open, NormalPublic

Description

  • In 2.79 The file path parsing gives an error. Open an EDL file, hit 'Refresh Reels' - gives the error: "File not found". However, this bug isn't in 2.77.
  • Cross dissolve transitions are added to the entire following clip and not just the transition duration.
  • 'Import EDL" script will give a non-descriptive error if there are space characters in the reel name. The in EDLs the reel name column is always 8 characters wide and can contain spaces.
  • "* From clip name:" should(also) be used to id filenames. All Pro NLEs(Ex. Avid, Premiere, Final Cut and Davinci Resolve) are using this comment to locate source files(full file name with extension, but no path). Once mentioned here: https://developer.blender.org/T48146 Only archaic EDL importers like the one in Lightworks only uses the reel name for file id, however in Lightworks the time code and reel name must be embedded in the source files(ffmpeg can read/write this). But as mentioned most other pro EDL importers have the option to ignore embedded time codes and use the comments to id filenames(instead of reel name).

Ex. EDL file from Premiere:

TITLE: 4tin2tin
FCM: NON-DROP FRAME

001  AX       AA/V  C        00:07:16:20 00:07:21:12 00:00:00:00 00:00:04:17
* FROM CLIP NAME: 4tin2tin.mp4

002  AX       V     C        00:07:16:20 00:07:20:12 00:00:00:00 00:00:03:17
* FROM CLIP NAME: 4tin2tin.mp4

003  AX       V     C        00:07:20:12 00:07:20:12 00:00:03:17 00:00:03:17
FCM: NON-DROP FRAME
003  AX       V     D    025 00:37:45:21 00:37:47:12 00:00:03:17 00:00:05:08
EFFECTS NAME IS CROSS DISSOLVE
* FROM CLIP NAME: 4tin2tin.mp4
* TO CLIP NAME: 4tin2tin.mp4

004  AX       V     C        00:37:46:21 00:37:48:12 00:00:04:17 00:00:06:08
* FROM CLIP NAME: 4tin2tin.mp4

005  AX       V     C        00:37:46:21 00:37:47:12 00:00:04:17 00:00:05:08
* FROM CLIP NAME: 4tin2tin.mp4

Details

Type
Bug

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Needs Information from User priority.Jan 24 2018, 6:27 PM

Sorry for the long inactivity here.

A couple of questions/remarks:

  • cannot confirm the Refresh Reels File Not Found message if I saved your example EDL and browsed to that
  • cannot confirm the Cross-Dissolve issue (in your example I get a disolve from 00:00:03:17 to 00:00:05:08 exactly)
  • can confirm the whitespace issue/error in reel names, but where is this information from?

the reel name column is always 8 characters wide and can contain spaces

Totally no expert here, but quick searching on this matter will give me statements in the line of (old document, but see here)

A) Use alphanumeric: A-Z and 0-9 only (no other characters).

  • "* From clip name:" hm, general practice seems to be different, but as you mentioned, there was T48146...

@Campbell Barton (campbellbarton) : mind sharing thoughts?

Marking as incomplete because the two 'bugs' could not be reproduced @Peter Fog (tintwotin): feel free to give exact steps on how to reproduce the first two issues...

  • cannot confirm the Refresh Reels File Not Found message if I saved your example EDL and browsed to that

I can't find a pattern on this other than reel names with spaces. Now it opens the files again here...
Maybe some more descriptive error reports if it chokes on a non-parseable line in the EDL file would be good?
(One non-descriptive error I got was when a linked to video-file had changed the name and couldn't be found.)

  • cannot confirm the Cross-Dissolve issue (in your example I get a dissolve from 00:00:03:17 to 00:00:05:08 exactly)

With an EDL from Resolve the dissolves goes wrong(not the strip, but the opacity keyframes): Resolve edl files - wetransfer - aval. 7 days

  • can confirm the whitespace issue/error in reel names, but where is this information from?

the reel name column is always 8 characters wide and can contain spaces

Totally no expert here, but quick searching on this matter will give me statements in the line of (old document, but see here)

A) Use alphanumeric: A-Z and 0-9 only (no other characters).

Apparently, Resolve includes all characters from the filename in the reel name, but not the extension. Which means no specific length and it includes space as a character: Resolve edl files - wetransfer - aval. 7 days - same link as above So space can't be used as way to cut the string in columns and neither can the length of characters in the reel name be used, however, the length of the columns before the reel name and the length of the following columns should be fixed number of characters, so if you cut the beginning and the end of the string you would have the reel name.

On a different note, if there are embedded reel names and time codes in the source files(metadata) used in Resolve, then these will be used instead, and that's where the reel names are strict 8 characters long. The Blender import script does not deal the source-file metadata(can be extracted with ffmpeg).

In the example above(bug description) from Premiere, where all files will have 'AX' as reel name. From this EDL-file it will be impossible to distinguish one file from another without using the comment. Also the comment often contains the extension and the reel name may be the source-file-embedded-reel-name, so if avail. the filename comment should be preferred over the reel name.

Here are some more EDL files for testing(from ex. Final Cut): EDL_EX.zip

Vuk Gardašević (lijenstina) raised the priority of this task from Needs Information from User to Needs Triage by Developer.Feb 3 2018, 8:44 PM

Some additional information / data was provided.

Marking as Needs Triage now.

Until now I had no clue, what EDL is. Now I know as much as that it's a (archaic?) format for importing/exporting timeline data.

From description it is not quite clear to me, whether our addon is non compliant, how much it is non-compliant or if other software packages are non-compliant.

Looking at provided links I saw link to https://github.com/PixarAnimationStudios/OpenTimelineIO/
Looking into OTIO, I saw that it supports importing not only EDL, but bunch of other formats.

Blender VSE timeline and overall API is a bit messy and should be rewritten. I sugset closing this task, and consider implementing OTIO library based import/export.
By looking at OTIO structure, we can see, how things can look at format level and actually use similar structures internally, so integration will be (hopefully) painless.

Given, this task is over year old, I assume, that there's nobody willing to go over our EDL addon and fixing format compliance in meantime.

Richard Antalik (ISS) closed this task as Archived.Fri, Feb 22, 10:13 PM
Richard Antalik (ISS) claimed this task.

I am a noob when it comes to EDL, but in one of those cosmic coincidences the Universe is famous for, I was just thinking about it the other day.

Moving Blender to OTIO internally is a good long-term plan - there is less code for us to maintain, we get access to various file formats, and maybe some well-thought out data structures to use.

Porting the EDL addon is a good first step. From a quick glance, it looks reasonable. Basically replacing our reading and parsing function with theirs and creating an adaptor to map their data structs to whatever the addon creates. They support python 3.

As long as OTIO is not directly implemented in Blender, EDL (cmx 3600) is the only way to import/export the VSE timeline to/from other applications ex. Resolve, Premiere, Lwks, Final Cut, ShotCut, Flowblade.

Btw. OTIO's EDL handling is broken ex.: https://github.com/PixarAnimationStudios/OpenTimelineIO/issues/168

I do understand the urge for housekeeping, but just archiving bugs, for the sake of housekeeping is worrying...

Btw. The EDL import is an add-on.

Btw. There is a script to export to EDL for Blender too: https://github.com/tin2tin/ExportEDL

Richard Antalik (ISS) reopened this task as Open.Sat, Feb 23, 2:54 PM
Richard Antalik (ISS) triaged this task as Normal priority.

Thanks for clarification.

I will reopen this, if EDL import/export is needed to be functional, but I don't have capacity to fix this as I have no knowledge of this format, and not really looking to study it and compare to provided sources.

I will consult this in one of the next meetings, if I should just review it formally and include until we will have any better solution.

Does anyone have some EDL files for testing?

The ones previously linked are no longer available. (attach stuff *here*, people!)
I'd like to mess with this a bit, but my google fu is weak and I have no way of generating EDL files.
(The script mentioned above looks like it has some limitations as to channels and such)

@Stephen Swaney (stiv)

You can use the EDL export add-on(imports in Resolve) for Blender: https://github.com/tin2tin/ExportEDL
Or export an EDL from ex. the freewares: Resolve, Shortcut or Flowblade or on Windows only, this can be used: http://www.frogsoft.com/edl_toolkit.htm

The above files may be this ones:

FCP manual on EDL: https://documentation.apple.com/en/finalcutpro/usermanual/index.html#chapter=96%26section=1%26tasks=true
Really old EDL specifications: http://xmil.biz/EDL-X/CMX3600.pdf
http://www.scottsimmons.tv/blog/2006/10/12/how-to-read-an-edl/
http://www.niwa.nu/2013/05/how-to-read-an-edl/