View Issue Details

IDProjectCategoryView StatusLast Update
0000334Cinelerra-GG[All Projects] Bugpublic2021-09-04 21:15
ReporterAndrew-R Assigned ToPhyllisSmith  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
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-07-16 19:24

manager   ~0004890

@Andrew-R
Will close this in 2-3 days. Export EDL produces a usable file at least in 2 different NLEs with Andrew's mods that were checked into GIT. Email contains some detail.
PhyllisSmith

PhyllisSmith

2021-05-24 17:15

manager   ~0004761

A checkin to the source base GIT has had the Export EDL... Shift-E option removed.
The shortcuts have also been updated to remove the option.
PhyllisSmith

PhyllisSmith

2021-05-19 23:27

manager   ~0004759

@Andrea_Paz
Good enough for me -- I will attempt to remove it as an option BUT leave the code there so that if someone comes along and really, really wants it then it can be fixed by someone and put back in. And leaving this BT open too.
Thank you for testing.

@Andrew-r
I no longer have a CV cinelerra working. Are you sure that the DOG.edl you created in CV is totally CMX 3600 compliant? because Andrea did not get it to work in other NLEs.
Andrea_Paz

Andrea_Paz

2021-05-19 06:55

manager   ~0004758

I tested both with my own projects and with dog-2.edl and DOG.edl. I used the programs Kdenlive, Olive editor and DaVinci Resolve (which I don't know them very well, actually: I installed them only as a comparison with CinGG). I always got the same errors.
In my opinion reducing a complex format like xml to a simple format like cmx3600 edl (plain text) is generically not feasible.
PhyllisSmith

PhyllisSmith

2021-05-18 22:11

manager   ~0004757

@Andrea_Paz
In studying this issue, I found that the original HV code did not have this feature but it was added in 2005 to CV by Andraz Tori. Only 1 track was supported at that time - which can be enough really. Could you try to see if the other NLE's you tested will work on Andrew's DOG.edl file as provided in Note 0002362? If it does work, then I think Export EDL might be worth fixing; mostly because I noticed it is still featured in Premiere Pro and DaVinci. However, besides the EDL file, don't you have to have the original video media too for this to work?
Andrea_Paz

Andrea_Paz

2021-05-18 06:48

manager   ~0004754

After talking about adding a manual section for "Export to EDL" in BT#568; I continue in this issue.
I put a section for "Export to EDL" in Loadandsave.tex. In my few tests it never produced a usable EDL in CinGG or other programs. Maybe the problem is in the first line of the title and header. The other lines seem to me to conform to std CMX3600. Perhaps it is better to remove this feature altogether?

See:
https://xmil.biz/EDL-X/CMX3600.pdf

export_to_edl.png (27,536 bytes)
export_to_edl.png (27,536 bytes)
export_to_edl_cingg.png (24,557 bytes)
export_to_edl_cingg.png (24,557 bytes)
Loadandsave.tex (39,903 bytes)
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
2021-05-18 06:48 Andrea_Paz File Added: export_to_edl.png
2021-05-18 06:48 Andrea_Paz File Added: export_to_edl_cingg.png
2021-05-18 06:48 Andrea_Paz File Added: Loadandsave.tex
2021-05-18 06:48 Andrea_Paz Note Added: 0004754
2021-05-18 22:11 PhyllisSmith Note Added: 0004757
2021-05-18 22:19 PhyllisSmith Assigned To => PhyllisSmith
2021-05-18 22:19 PhyllisSmith Status new => acknowledged
2021-05-19 06:55 Andrea_Paz Note Added: 0004758
2021-05-19 23:27 PhyllisSmith Note Added: 0004759
2021-05-24 17:15 PhyllisSmith Note Added: 0004761
2021-07-16 19:24 PhyllisSmith Note Added: 0004890
2021-09-04 21:15 PhyllisSmith Status acknowledged => closed
2021-09-04 21:15 PhyllisSmith Resolution open => fixed