2012-09-24 9 views

Respuesta

8

Si no está utilizando Processing 2.0 puede usar la biblioteca MovieMaker para exportar el boceto como un video (en el procesamiento 2.0 MovieMaker se convertirá en una herramienta, pero aún no funciona).

Otra opción es utilizar el método saveFrame() en su empate() la función

Here se puede encontrar un ejemplo de cómo utilizar MovieMaker

y here la documentación del método saveFrame()

+2

'saveFrame()' es definitivamente el camino a seguir. Puedes apilar esos fotogramas en Quicktime Pro <7.6 si lo tienes, que tiene una buena característica Open Image Sequence y luego Exportar a un quicktime, o puedes probar ffmpeg para unirlos. http://ffmpeg.org/ – ericsoco

+0

Tuve el mismo problema hace un mes y usé la técnica saveFrame() + Quicktime también –

+0

Sí, esto funcionó bien para mí. 'saveFrame()' combinado con ffmpeg. – alnorth29

1

La biblioteca GSVideo here ayuda con esto en Processing 2.0. Tiene una clase "GSMovieMaker" con objetos muy parecidos a los descritos anteriormente.

+0

Cabe señalar que GSVideo depende de gstreamer, que es común en muchas distribuciones Linux modernas pero no en Windows o OS X. –

1

Después de una semana de la investigación que he escrito yo mismo código muy simple usando binarios ffmprg:

if(frameCount<628){ 
    saveFrame("temp/anim_#####.png"); 
    }else if(frameCount == 628){ 
    println("Saving file!"); 
    processBuilder = new ProcessBuilder("G:/.../ffmpg/bin/ffmpeg.exe", "-r", "60", "-i", 
     "C:/.../temp/anim_%05d.png", "-c:v", "libx264", 
     "-r", "30", "-pix_fmt", "yuv420p", "C:/.../test.mp4"); 
    try { 
     process = processBuilder.start(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 

Por supuesto, es necesario ajustar los caminos a los archivos binarios y ffmpeg (https://www.ffmpeg.org/download.html). Debería ser una versión de procesamiento independiente, ya que usa solo saveFrame y llama a los binarios externos para generar video. Disfrute;)

Cuestiones relacionadas