Import EDL bugs #53615

Closed
opened 2017-12-23 08:03:31 +01:00 by tintwotin · 20 comments
  • 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
- 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 ```
Author

Added subscriber: @tintwotin

Added subscriber: @tintwotin
Member

Added subscribers: @ideasman42, @lichtwerk

Added subscribers: @ideasman42, @lichtwerk
Member

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 #48146...

@ideasman42 : mind sharing thoughts?

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

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 ](http://www.edlmax.com/EdlMaxHelp/Edl/maxguide.html)) > 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 #48146... @ideasman42 : mind sharing thoughts? Marking as incomplete because the two 'bugs' could not be reproduced @tintwotin: feel free to give exact steps on how to reproduce the first two issues...
Author

In #53615#481265, @lichtwerk wrote:

  • 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).

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

@ideasman42 : mind sharing thoughts?

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

> In #53615#481265, @lichtwerk wrote: > - 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 ](https://wetransfer.com/downloads/d1b6fbb9d579762a4763021c970969ec20180126081359/f95d5530471632542badc3f161d1b9f120180126081359/8489d2) > - 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 ](http://www.edlmax.com/EdlMaxHelp/Edl/maxguide.html)) >> 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 ](https://wetransfer.com/downloads/d1b6fbb9d579762a4763021c970969ec20180126081359/f95d5530471632542badc3f161d1b9f120180126081359/8489d2) 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). > - "* From clip name:" hm, general practice seems to be different, but as you mentioned, there was #48146... > > @ideasman42 : mind sharing thoughts? 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 ](https://github.com/PixarAnimationStudios/OpenTimelineIO/files/1608584/EDL_EX.zip)

Added subscriber: @VukGardasevic

Added subscriber: @VukGardasevic

Some additional information / data was provided.

Marking as Needs Triage now.

Some additional information / data was provided. Marking as Needs Triage now.

Added subscriber: @iss

Added subscriber: @iss

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.

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.

Added subscriber: @StephenSwaney

Added subscriber: @StephenSwaney

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Richard Antalik self-assigned this 2019-02-22 22:13:36 +01:00

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.

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.
Author

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

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 ](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 ](https:*github.com/tin2tin/ExportEDL)

Changed status from 'Archived' to: 'Open'

Changed status from 'Archived' to: 'Open'

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.

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)

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)
Author

@StephenSwaney

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: EDL_EX.zip Resolve_EDL_Clips.zip

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/

@StephenSwaney 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: [EDL_EX.zip](https://archive.blender.org/developer/F6697398/EDL_EX.zip) [Resolve_EDL_Clips.zip](https://archive.blender.org/developer/F6697453/Resolve_EDL_Clips.zip) FCP manual on EDL: [https:*documentation.apple.com/en/finalcutpro/usermanual/index.html#chapter=96%26section=1%26tasks=true ](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:*xmil.biz/EDL-X/CMX3600.pdf) [http:*www.scottsimmons.tv/blog/2006/10/12/how-to-read-an-edl/ ](http:*www.scottsimmons.tv/blog/2006/10/12/how-to-read-an-edl/) [http:*www.niwa.nu/2013/05/how-to-read-an-edl/ ](http:*www.niwa.nu/2013/05/how-to-read-an-edl/)
Member

Added subscriber: @BrendonMurphy

Added subscriber: @BrendonMurphy
Member

hi, changing priority to confirmed low to lower down the list. Usually tasks not related to Blender included addons are not acceptable.
One thought is to copy paste all the relevant information and start a discussion here: https://devtalk.blender.org/
Another thought is do we need this importer in Blender and who would maintain it? As this would be validating this task.
@tintwotin hi, let us know how you wish to proceed. Thanks

hi, changing priority to confirmed low to lower down the list. Usually tasks not related to Blender included addons are not acceptable. One thought is to copy paste all the relevant information and start a discussion here: https://devtalk.blender.org/ Another thought is do we need this importer in Blender and who would maintain it? As this would be validating this task. @tintwotin hi, let us know how you wish to proceed. Thanks

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

It is true that this is not bug.
Will create TODO for this.

It is true that this is not bug. Will create TODO for this.
Sign in to join this conversation.
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#53615
No description provided.