This forum has been archived. All content is frozen. Please use KDE Discuss instead.

project for creating 3D TRANSITIONS which can work EXTERNAL

Tags: None
(comma "," separated)
anubis4d
Registered Member
Posts
39
Karma
0

As I posted previously:

viewtopic.php?f=14&t=287&p=1232#p1232



this is more than an idea, we started a project wich will involve blender users to create templates, ans a script which can make blender replace video-texturemaps on 3D objects, from an external file, any video app can write that file and have our package as a growing feature.



we are still in our firsts stages, but we would love to hear your opinions (Open Movie Editor´s programmer has confirmed this will be included as a feature).



This is our blog:

http://gvfx.blogspot.com/



this is a transition created with blender 3D: http://youtube.com/watch?v=ewrbU-_Y9go

Marquitux.



anubis4d
Registered Member
Posts
39
Karma
0

our transitions banck is growing, here is a new release:

gvfx.blogspot.com



Screenshot:



VIDEO EXPLAINING, WHAT IS GVFX?

http://youtube.com/watch?v=Y2Gbu1HRN2Q



Marquitux



j-b-m
Registered Member
Posts
804
Karma
1

Hi.



Had a look at your blog, but I couldn't find a description of the text file the video editor is supposed to create. Do you have specs for that ? I also downloaded the latest GVFX zip file, but didn't find any instructions on how to call blender to create the transition, so a simple howto would be welcome.



regards

anubis4d
Registered Member
Posts
39
Karma
0

everything depends in the ALEX´S SCRIPT, which wasn´t released oficially yet, because still need some work, but soon we will release it.

here is the script as it was BEFORE gvfx started (the blendfile was very different then)



--------------------------- ALEX.py -----------------------------

from Blender import *

from Blender import Texture,Image,Material,sys,Window,Scene

from Blender.Scene import Render

##from Blender.Scene.Render import *



class GLOBALES:

pass



glob=GLOBALES()



glob.VIDEO='video_path'

glob.Num_Frames=30

glob.Init_Frame=12

glob.FPS=25

glob.size_X=800

glob.size_Y=600



def textura(tex_name):



try:

glob.tex = Texture.Get(tex_name)

except NameError:

glob.tex = Texture.New(tex_name) # creating texture named 'tex'



glob.tex.setType('Image') # make text be an image texture

img = Image.Load(glob.VIDEO) # load a movie

img.setSpeed(glob.FPS)

glob.tex.image = img # link the image to the texture

glob.tex.animFrames=glob.Num_Frames

glob.tex.animOffset=glob.Init_Frame #set initial frame



#-----

def materiales(mtl_name):



try:

mtl=Material.Get(mtl_name) #get material clipB

except NameError:

mtl=Material.New(mtl_name)



mtl.setTexture(0,glob.tex) #place texture in clipB



def proceso(file_p):



glob.VIDEO=file_p

textura('TexturaV')

materiales('clipC')



def readfile( file_name ):

"Abre un archivo, lee y regresa un arreglo."

f = open( file_name )

renglones = f.readlines()

arreglo = map( lambda x: x.split(','), renglones )

# print arreglo

return arreglo



### matrix 0:path_video 1:Frame_init 2:Frame_end

### 3er r 0:FPS 1:size_X 2:size_Y



def material_set():

scn = Scene.GetCurrent()

context = scn.getRenderingContext()



matriz = readfile('datos.txt')



print matriz



context.fps = int(matriz[2][0])

context.imageSizeX(int(matriz[2][1]))

context.imageSizeY(int(matriz[2][2]))

##context.setImageType(matriz[2][3])

##context.imageType=Render.PNG



if matriz[2][3] == 'AVIRAW':

context.setImageType(Render.AVIRAW)



elif matriz[2][3] == 'AVIJPEG':

context.setImageType(Render.AVIJPEG)



elif matriz[2][3] == 'AVICODEC':

context.setImageType(Render.AVICODEC)



#------



#context.sizePreset(Render.PAL)

#if matriz[2][3] == 'AVIRAW':

#context.sizePreset()



#elif matriz[2][3] == 'AVIJPEG':

#context.setImageType(Render.AVIJPEG)



#elif matriz[2][3] == 'AVICODEC':

#context.setImageType(Render.AVICODEC)



#for renglon in matriz:

# glob.VIDEO=matriz[celda][0]



glob.VIDEO=matriz[0][0]

glob.Init_Frame=int(matriz[0][1])

glob.Num_Frames=int(matriz[0][2])

##glob.FPS=int(matriz[0][3])

##glob.size_X=int(matriz[0][4])

##glob.size_Y=int(matriz[0][5])



textura('TexturaV1')

materiales('clipA')



glob.VIDEO=matriz[1][0]

glob.Init_Frame=int(matriz[1][1])

glob.Num_Frames=int(matriz[1][2])

##glob.FPS=int(matriz[1][3])

##glob.size_X=int(matriz[1][4])

##glob.size_Y=int(matriz[1][5])



textura('TexturaV2')

materiales('clipB')



def main():



# Window.FileSelector (proceso, "Open Video File")



## textura('TexturaV')

## materiales('clipB')



material_set()



main()



# written by:

# alejandro Omar Chocano Vazquez

# web: alevvaqp.googleages.com

# e-mail: mailto:alexv@gmail.com



# TexturaV2 > clip A

# TexturaV1 > clip B



//////////////////// EOF ///////////////////



here is the BRIDGE TEXTFILE: datos.txt just has 3 lines (this may be a xml file in the future)



-----------------------datos.txt-----------------------

/pepe/pedrito/video1.mov,23,123,

/home/video.avi,100,200,

25,720,576,AVIJPEG,

---------------------------------------------------------



we are talking about make the datos.txt file a XML kind, because the TXT structure was simple and good (to make a START) but if 5 transitions are used you´ll need 5 files, and so... that´s why we will change the stucture a litle bit, but thoose are the fields:



CLIP-A with full path "/pepe/pedrito/video1.mov"

CLIP-A starting frame 23

CLIP-A end FRAME 123

CLIP-B with full path "/home/video.avi"

CLIP-B starting frame 100

CLIP-B end FRAME 200

FPS 25

Frame size 720 X 576

Render format AVIJPEG



Mar del Plata - Argentina



anubis4d
Registered Member
Posts
39
Karma
0

oh! and the blender call I guess should be:



/usr/bin/blender -b gvfx.blend -P alex.py -a



but if you include this internal command, give some kind of preferences, for the blender command because /usr/bin/blender is the default option, but mayube i want to download an optimized version or a different binary, and have the option to route the blender path to some other /blenderbuild/20070101/blender or even /tmp/blender/blender.





(rigth click and >save image as to see it complete)



marquitux



anubis4d
Registered Member
Posts
39
Karma
0

he have the script so GVFX is on ITS way.

visit our blog to know more about this and how this works, if you want to implement it in kdenlive, please send a mail and we will help you in any way we can.



http://gvfx.blogspot.com



cheers

marquitux



rad_drupal
Registered Member
Posts
6
Karma
0

Nice solution!

I will wait the result of conjunction your afforts and Kdenlive development team.



The Debian user!

anubis4d
Registered Member
Posts
39
Karma
0

hi KDENLIVE people :) I´ve been toying with GVFX, and we will fix some stuff, and improve the script to make more things.

actually, you can use the script with THIS FILE:

http://www.4shared.com/file/37099004/6da752fa/gfvxfiltersblend.html



some EXAMPLES:















and with the same process, use our preseted blender 3D-node-editor-FX, the EXTERNAL NLE (could be KDENLIVe) fills the data in data.txt file, and calls commandline render, and gets a video with the effect.

this method may be a little slow, but editors could EXPAND its functionality using blender.



I hope KDENLIVE decides to embrace it.

gvfx.blogspot.com



Marquitux



anubis4d
Registered Member
Posts
39
Karma
0

hi people,


I am thinking about the project and make a proper website for it, will the kdenlive users like this kind of effects? I don´t see much interest on it rigth now, but i will create more effects. I would love to know your opinion.


cheers


 


Marcos Caballero  ( http://www.anubis4d.com.ar )


 



jmpoure_drupal
Registered Member
Posts
735
Karma
0

Why don't you join Kdenlive developer team?


Would you like to provide transition plug-ins for Kdenlive and/or MLT?


If this is the case, please get in contact with Dan or J.B.

anubis4d
Registered Member
Posts
39
Karma
0

I can´t join the developer´s team because I´m just a video editor and 3d animator (just an user), that wants to see cool tools to work with in *nix, I don´t  understand C or any other programming language (I quitted programing in the 90´s) I can simply say:


    YOU SEE THIS IDEA? well we pull this thing which is good fot the user to learn and use, just like hollywoodFX or SoftXplode, but in this case, our method will be more flecible because all the scenes are blender3D (blend) files, it´s simple to upgrade and add more transitions (don´t need me for that, the editor can do it), and by using a script we can accelerate the rendering, indicate a HD/SD render and many other things (if we find a way to dump blender gameengine result, we could have these transitions close to realtime, if not, the realtime itself, that´s simply options in a python script) that may be changed anytime by changing the blendfile or the script, but we need the editing tool that connects to the script, and how, or why (if developers decide not to support it) this can/chould be implemented in some library or certain editing tool, that´s far away from my knowledge, and that´s something the comunity must decide not me.


that´s why I talk to USERs not to DEVELOPERS, if developers wants the best for the tool so the comunity may benefit from it, and the users WANTS THIS, well i will do my best to help, but these are political issues I guess :)


developers will know what´s best for the tool and the users. but USERS must tell if this is useful for them, and if they want this.


Marquitux   


http://gvfx.blogspot.com/





Bookmarks



Who is online

Registered users: Bing [Bot], gfielding, Google [Bot], Sogou [Bot]