PDA

View Full Version : would an EDL --> dSynth converter be useful?


Mug Funky
5th October 2004, 18:32
was just reading a thread in an unrelated forum about the use of Xvid as an I-frame only codec for archiving. one problem was the lack of support in pro level editing stations for mpeg-4 (this will probably change soon, IMHO).

so i thought it would be cool if there were something out there that would parse an EDL file (maybe the "generic EDL" spat out by premiere) and turn it into a bunch of trim and splice statements for use with dSynth's direct streaming.

i could have a go at writing this, but i haven't done a lot of this kind of programming, so be gentle (it seems like simple string editing, so it might be do-able with a very very long avisynth function, or even in flash).

i think most NLE type stuff avisynth users do uses huffy, so there's probably not much call for this, but it'd definitely be easier than virtualdub's linear editing, and much better than relying on premiere to "may or may not" direct stream your DV (it's very temperamental about whether it recompresses or not, and i never got along with it).

esby
6th October 2004, 01:41
Just gives me the spec of EDL files
I'll try writing something for that...

esby

But the main problem is to fix the actual bug with huff first while direct streaming...

esby
12th October 2004, 01:50
@Mug_Funky:
Can you post me a sample of an EDL file you are talking of?

The bug related to huff is fixed btw.

esby

Stef
13th October 2004, 14:51
Searched for EDL information myself, but didn't find much on the net. There is useful information about the text format and programming EDL export modules in the Adobe Premiere SDKs 5, 6 and 6.5. But Adobe dropped EDL export in Adobe Premiere Pro ;-(

esby
13th October 2004, 15:37
So I guess, understand that EDL export might not be available in the future version of Premiere, and that the spec of the project spec are closed source...

esby

Mug Funky
13th October 2004, 15:40
they dropped it completely? i wondered why i couldn't find the export button the other day. well, that makes something like this limited in it's usefullness.

i wonder if .ppj or .proppj could be reverse-engineered? :D

here's an EDL file... i can't be bothered attaching a file, so i'll just paste the text here in very small font (6kb)


['Adobe Premiereª 6.0 Generic Edit Decision List',Work_Start=0,Work_End=5073,
[Tracks,
[Track #0,
[Video],
[Track_Record #0, ClipID=3, Start=0, End=725],
[Track_Record #1, ClipID=17, Start=1050, End=1338],
[Track_Record #2, ClipID=7, Start=1437, End=1600],
[Track_Record #3, ClipID=15, Start=2125, End=2762],
[Track_Record #4, ClipID=11, Start=2762, End=3399],
[Track_Record #5, ClipID=19, Start=3550, End=4000],
[Track_Record #6, ClipID=21, Start=4637, End=5073],
],
[Track #2,
[Video],
[SuperImpose],
[Track_Record #0, ClipID=5, Start=338, End=1050,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=256],
[Band_Point #1,h=712,v=256],
],
[Overlay, Type='None',
[Garbage_Matte,Left=0,Top=0,Right=117,Bottom=87,
[Point #0,h=0,v=0],
[Point #1,h=117,v=0],
[Point #2,h=117,v=87],
[Point #3,h=0,v=87],
],
],
],
[Track_Record #1, ClipID=9, Start=1250, End=1750,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=256],
[Band_Point #1,h=500,v=256],
],
[Overlay, Type='None',
[Garbage_Matte,Left=0,Top=0,Right=117,Bottom=87,
[Point #0,h=0,v=0],
[Point #1,h=117,v=0],
[Point #2,h=117,v=87],
[Point #3,h=0,v=87],
],
],
],
[Track_Record #2, ClipID=13, Start=3287, End=3812,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=256],
[Band_Point #1,h=525,v=256],
],
[Overlay, Type='None',
[Garbage_Matte,Left=0,Top=0,Right=117,Bottom=87,
[Point #0,h=0,v=0],
[Point #1,h=117,v=0],
[Point #2,h=117,v=87],
[Point #3,h=0,v=87],
],
],
],
],
[Track #4,
[Audio,
[Mapping=00000011],
],
[Track_Record #0, ClipID=4, Start=0, End=725,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=725,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=725,v=128],
],
],
[Track_Record #1, ClipID=18, Start=1050, End=1338,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=288,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=288,v=128],
],
],
[Track_Record #2, ClipID=8, Start=1437, End=1600,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=163,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=163,v=128],
],
],
[Track_Record #3, ClipID=16, Start=2125, End=2762,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=637,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=637,v=128],
],
],
[Track_Record #4, ClipID=12, Start=2762, End=3399,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=637,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=637,v=128],
],
],
[Track_Record #5, ClipID=20, Start=3550, End=4000,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=450,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=450,v=128],
],
],
[Track_Record #6, ClipID=22, Start=4637, End=5073,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=436,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=436,v=128],
],
],
],
[Track #6,
[Audio,
[Mapping=00001100],
],
[Track_Record #0, ClipID=6, Start=338, End=1050,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=712,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=712,v=128],
],
],
[Track_Record #1, ClipID=10, Start=1250, End=1750,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=500,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=500,v=128],
],
],
[Track_Record #2, ClipID=14, Start=3287, End=3812,
[RubberBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=525,v=128],
],
[PanBand, Max=256,
[Band_Point #0,h=0,v=128],
[Band_Point #1,h=525,v=128],
],
],
],
],
[Clips,
[ClipID #3,FileID=289,In=0,Out=725],
[ClipID #17,FileID=289,In=2762,Out=3050],
[ClipID #7,FileID=289,In=1437,Out=1600],
[ClipID #15,FileID=289,In=2125,Out=2762],
[ClipID #11,FileID=289,In=4000,Out=4637],
[ClipID #19,FileID=289,In=3550,Out=4000],
[ClipID #21,FileID=289,In=4637,Out=5073],
[ClipID #5,FileID=289,In=725,Out=1437],
[ClipID #9,FileID=289,In=3050,Out=3550],
[ClipID #13,FileID=289,In=1600,Out=2125],
[ClipID #4,FileID=289,In=0,Out=725],
[ClipID #18,FileID=289,In=2762,Out=3050],
[ClipID #8,FileID=289,In=1437,Out=1600],
[ClipID #16,FileID=289,In=2125,Out=2762],
[ClipID #12,FileID=289,In=4000,Out=4637],
[ClipID #20,FileID=289,In=3550,Out=4000],
[ClipID #22,FileID=289,In=4637,Out=5073],
[ClipID #6,FileID=289,In=725,Out=1437],
[ClipID #10,FileID=289,In=3050,Out=3550],
[ClipID #14,FileID=289,In=1600,Out=2125],
],
[Files,
[FileID #289,
[DOS_File='I:\blah.avi'],
[Num_Frames=5073],
[Video,Width=720,Height=576,Depth=24],
[Audio,Rate=44100],
],
],
]

esby
13th October 2004, 16:01
After reading a bit the EDL sample...
(I never used Premiere)
Parsing it logically from the bottom...

[Files, section would be translated as
fileX = avisource() I guess.

[ClipID section would be translated as
srcZ = fileX.trim()

And I assume that the [Tracks section would be the combinaison of those srcZ according to Premiere FX and transition plugin...

The first two sections can easily be translated, the third depends on the possibility of translating completely and properly the special effect...

Now for direct streaming, the two first section supports it, but as long there is one of the third used, that means converting to RGB and decoding before applying it... which means no direct streaming...
(And no, I don't consider that direct streaming RGB material is direct streaming pp)
Unless you just want to do extreme cuts...

esby

morsa
13th October 2004, 23:39
If I don't remember wrong the .bin of Premiere was human readable, and from it you can perfectly extract all the cuts and dissolves for a project.
Also if you go to Adobe's page you can read it now supports EDL import and export (after years of not supporting EDL import it seems the discovered it was a needed feature, I wonder if it was because of so many e-mails I sent them :cool: )

esby
14th October 2004, 02:20
So I guess this would be more a tool for allowing conversion of edl to avs... rather than something using dsynth in a specific way.

esby

Stef
14th October 2004, 09:23
morsa, glad you had success! I wrote some EDL export module for AP 6.5 and then Adobe released Adobe Premiere Pro (1.0) without EDL... Maybe i restart that project (EDL parsing for DV datecode subtitles) again ;-)

Mug Funky
14th October 2004, 23:30
actually, 99% of the work i do in premiere is cutting. i do my effects in AVS and occasionally After Effects (only for motion-graphics, really, as i can do almost everything else in avs).

here's a non-dsynth related possibility. premiere pro supports mpeg-2 editing... sort of. however, it is incredibly lacking in functionality, and the possibility of direct-streaming is quite relevant for mpeg-2.

cuttermaran will cut mpeg-2 streams and insert I-frames (using your encoder of choice) at the cut points... if it were able to import EDL lists that would be nice indeed. i should post this somewhere else :)

jkwarras
22nd October 2004, 20:59
Actually, Premiere 1.5 goes back and support EDL ;)

BTW, I've found this:
http://web.tiscali.it/minomala/EdlToAvs/EdlToAvs.html
It seems ot be an italian EDL to AVS converter. I'll try this very soon since I'm going to start an editing this weekend.

If someone makes an EDL to AVS tool, I'll be a happy beta tester ;)

jkwarras
22nd October 2004, 21:18
Originally posted by jkwarras
BTW, I've found this:
http://web.tiscali.it/minomala/EdlToAvs/EdlToAvs.html
It seems ot be an italian EDL to AVS converter.[/B]
Sorry, it's an Studio DC10+ EDl to AVS converter. Not sure if this work with other software..