There was a question on the forum on how to export EDL files from the VSE.
I personally think Blender is really missing the option to export EDL (CMX 3600) from the VSE. If Blender was able to export EDL files you would be able to import your edits into Davinci Resolve for color grading or DAWs(using a file converter) for audio editing. My ultimate dream is that most open sourced video-related softwares will be able to use this format. ShotCut and Flowblade has implemented EDL export. Kdenlive-folks are considering it and Natron-folks are considering adding EDL import.
An EDL file is basically just a text file:
001 10_sec AA/V C 00:00:00:00 00:00:01:00 00:00:00:00 00:00:01:00
* FROM CLIP NAME: 10_sec.mov
111^^22222222^^3333^^4444^555^66666666666^77777777777^88888888888^99999999999
The number of characters for each column must be exact. More info on the format: http://www.scottsimmons.tv/blog/2006/10/12/how-to-read-an-edl/
I have no prior experience with Python(Iāve coded in Amiga basic, 3ds max script, wxBasic, Avisynth script and a bit of AutoIt script), but the Python syntax is driving me nuts.
At the moment I have batFINGERās script to extract the clip info(fades and dissolves missing): http://blender.stackexchange.com/questions/53330/how-to-get-a-clips-source-media-starting-and-ending-frame-numbers
import bpycontext = bpy.context
scene = context.scene
vse = scene.sequence_editor
for strip in vse.sequences_all:
# Edit Strip Panel
print("-" * 72)
print(strip.name)
print(strip.type)
# extend for other strip types.
if strip.type in ['MOVIE']:
print(strip.filepath)
elif strip.type in ['SOUND']:
print(strip.sound.filepath)
print(strip.channel)
print(strip.frame_start)
print(strip.frame_final_duration)
# Trim Duration (soft)
print(strip.frame_offset_start) print(strip.frame_offset_end)
And Campbell Bartonās TimeCode functions to convert the frame numbers to SMPTE timecode strings: https://git.blender.org/gitweb/gitweb.cgi/blender-addons.git/blob_plain/HEAD:/io_sequencer_edl/parse_edl.py
And between the TimeCode functions there is a function to almost generate the above mentioned EDL line called: repr
def __repr__(self):
txt = "num: %d, " % self.number
txt += "reel: %s, " % self.reel
txt += "edit_type: "
txt += EditDecision.edit_flags_to_text(self.edit_type) + ", "
txt += "trans_type: "
for item, val in TRANSITION_DICT.items():
if val == self.transition_type:
txt += item + ", "
break
txt += "m2: "
if self.m2:
txt += "%g" % float(self.m2.fps)
txt += "
"
txt += self.m2.data
else:
txt += "nil"
txt += ", "
txt += "recIn: " + str(self.recIn) + ", "
txt += "recOut: " + str(self.recOut) + ", "
txt += "srcIn: " + str(self.srcIn) + ", "
txt += "srcOut: " + str(self.srcOut) + ", "
return txt
(The string needs to be corrected a bit. Ex. the columns shouldnāt be separated by commas and each item should have an exact number of characters/spaces etc.)
However Iām that ignorant, that I canāt figure out how to call the functions to convert the frames into SMPTE timecode strings and I canāt figure out how to feed that information into the repr function and save each line to a text file.
Can anyone help me to merge these scripts into a draft script, so I can tinker with it from there, until ex. Resolve can import it successfully?