View Issue Details

IDProjectCategoryView StatusLast Update
0000334Cinelerra-GG[All Projects] Bugpublic2021-01-30 22:53
ReporterAndrew-R Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version2019-09 
Target VersionFixed in Version 
Summary0000334: Export EDL to CMX3600 format produces broken file
DescriptionProbably since mid-2017?

Copying my email / finds here

ah, found this in release notes:

5.1 Release Notes for changes from 07/01/2017 to 07/31/2017 for these builds
Removed Reel Name, Reel Number, Time Code Start from Asset Info in Resources & Preferences.

so, I can conclude this commit broke CMX3600 support, if there was any ....

Hm, time to load CinCV :}


Ok, CinCV doesn't load xml from CinGG correctly, but at least creates something .....

cat '/dev/shm/DOG.edl'
TITLE: Cinproj FORMAT: CMX 3600 4-Ch
001 cin0000 V C 00:00:00:00 00:01:10:06 00:00:00:00 00:01:10:06
002 BL V C 00:00:00:00 18518:31:06:00:01:10:06 00:01:10:06 18518:32:17:01

So, reel_name was important for this feature to work.

I'll open feature request (low prio)

---------- Пересланное сообщение ----------

Тема: UPD: Interesting info about EDL I found ....
Дата: Четверг 31 октября 2019
Отправитель: Andrew Randrianasulu <[email protected]>
Получатель: "Cinelerra.GG" <[email protected]>


I actually tried this 'EDL export function, with simple one track dog file.

Hm ...

I can't see any info about file used?

cat '/dev/shm/dog/dog/dog.edl'
TITLE: Cinproj FORMAT: CMX 3600 4-Ch
001 BL V C 00:00:00:00 00:00:17:09 00:00:00:00 00:00:17:09
002 BL V C 00:00:00:00 00:00:11:13 00:00:17:09 00:00:29:07


according to

https://developer.blender.org/T53615

this file format at least initially included reel_name (is this info still around in CinGG?)
but late tools used other way to identify source files ...

------------------copypasta------

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


------copypasta ends-----

Apparently this summer interesting framework OpenTimelineIO was opened, with (buggy?) CMX 3600 module:

https://opentimelineio.readthedocs.io/en/latest/tutorials/otio-plugins.html

also

https://github.com/iluvcapra/pycmx

pycmx
The pycmx package provides a basic interface for parsing a CMX 3600 EDL and its most most common variations.
Features
The major variations of the CMX 3600: the standard, "File32" and "File128" formats are automatically detected and properly read.

---------- Пересланное сообщение ----------

Тема: Interesting info about EDL I found ....
Дата: Среда 30 октября 2019
Отправитель: Andrew Randrianasulu <[email protected]>
Получатель: "Cinelerra.GG" <[email protected]>


While translating (attempting to translate few still untranslated things) CinGG
I found interesting note about EDL export. Intially I assumed it only works with
some long-obsoleted device/soft, but today I found this page (while looking at timecode feature):

https://eyeframeconverter.wordpress.com/mlt2edl/

MLT2EDL
NB. Since Shotcut version 16.06 this script is not needed anymore. Shotcut can export EDL files natively: https://www.shotcut.org/blog/new-release-1606/
Mlt2edl is a python script for converting Shotcut mlt files into ex. Blender (v. 2.72 beta or higher) friendly CMX 3600 EDL files. The converted EDL files will also work in Lightworks and Resolve. Mlt2edl is based on the Kdenparse python script by Will Riley.

Because CinGG (and original Cin) should be able to output exactly this EDL (???) format ... This mean she automatically compatible with "Lightworks and Resolve" and Blender, too??

Anyone can test this?


additional link:
https://github.com/PixarAnimationStudios/OpenTimelineIO/issues/168

It basically reiterates what was said before

[NB. in older import parsers like the one in Lwks, reel names and time codes are only read from file embedded reel-names and time codes. So that might give some odd results if the parsers can't be forced to use file name from comments and starting time codes at file start. Alternatively a parcer like OTIO would have to read and use file embedded reel names and timecodes. FFmpeg can used for that. However as far as I know, only Lwks is limited to using file-embedded values]

Guess in old Cin(-CV) libquicktime was used for this embedding, now ffmpeg/libavformat can be used in their place in CinGG.. I think ....

Steps To ReproduceOpen one video file, try to use "Export EDL' menu option.

Resulting EDL will have no reel names, no file names, nothing but timecodes :/

BL is apparently blank placeholder set in cinelerra-5.1/cinelerra/exportedl.C

<code c>
int ExportEDLAsset::edit_to_timecodes(Edit *edit,
        char *sourceinpoint, char *sourceoutpoint,
        char *destinpoint, char *destoutpoint,
        char *reel_name)
{
        Track *track = edit->track;
        double frame_rate = edit->track->edl->session->frame_rate;

        double edit_sourcestart;
        double edit_sourceend;
        double edit_deststart;
        double edit_destend;

        strcpy(reel_name, " BL ");
        edit_sourcestart = 0;
        edit_sourceend = track->from_units(edit->length);

        edit_deststart = track->from_units(edit->startproject);
        edit_destend = track->from_units(edit->startproject + edit->length);

        double_to_CMX3600(edit_sourcestart, frame_rate, sourceinpoint);
        double_to_CMX3600(edit_sourceend, frame_rate, sourceoutpoint);
        double_to_CMX3600(edit_deststart, frame_rate, destinpoint);
        double_to_CMX3600(edit_destend, frame_rate, destoutpoint);

        return 0;
}
<code c>
TagsEDL

Activities

PhyllisSmith

PhyllisSmith

2021-01-30 22:53

manager   ~0004609

It would certainly be good to have this, but I think "that ship has sailed".
Andrea_Paz

Andrea_Paz

2021-01-30 16:35

manager   ~0004608

From what I've read EDL is considered too limited for the needs of modern NLEs; in fact nowadays they are all xml based (proprietary or not). For interchange with other software the OpenTimeline way would be better, but for now it is not supported by anyone. The fact remains that CMX 3600 is still a standard, so it is recognized by various programs. It might be useful to implement it in CinGG (I seem to remember GG saying they didn't know how to do it).
Andrew-R

Andrew-R

2021-01-30 14:15

reporter   ~0004607

One message from old Cin list:
https://lists.skolelinux.org/pipermail/cinelerra/2005-September/004244.html

====
May I suggest considering doing an option of creating an "extended" CMX
list? If you can get your hands on the original specifications you will
notice that it is very limited, only 4-tracks of audio, but there is
nothing stopping you from listing more than 4-tracks on the list--other
than sticking to the original specification that is.
=====

still not actively working on it at the moment .....
Andrew-R

Andrew-R

2019-10-30 23:00

reporter   ~0002362

DOG.edl is from CinelerraCV
dog.edl is from CinGG.

DOG.edl (204 bytes)
dog-2.edl (189 bytes)

Issue History

Date Modified Username Field Change
2019-10-30 22:57 Andrew-R New Issue
2019-10-30 22:57 Andrew-R Tag Attached: EDL
2019-10-30 23:00 Andrew-R File Added: DOG.edl
2019-10-30 23:00 Andrew-R File Added: dog-2.edl
2019-10-30 23:00 Andrew-R Note Added: 0002362
2021-01-30 14:15 Andrew-R Note Added: 0004607
2021-01-30 16:35 Andrea_Paz Note Added: 0004608
2021-01-30 22:53 PhyllisSmith Note Added: 0004609