2012-09-24 92 views

回答

8

如果你不使用處理2.0你可以用製片人庫草圖導出爲一個視頻(製片人將在刀具轉換的處理2.0,但它並沒有工作)。

其他選項是使用saveFrame()方法,在你的draw()函數

Here你可以找到如何使用製片人

here的saveFrame()方法

的文檔的例子
+2

'saveFrame()'絕對是要走的路。您可以將這些框架堆疊到Quicktime Pro中,如果您有它,它具有很好的開放式圖像序列功能,然後導出到QuickTime,或者您可以嘗試使用ffmpeg將它們縫合在一起。 http://ffmpeg.org/ – ericsoco

+0

我在一個月前有過同樣的問題,我也使用了saveFrame()+ Quicktime技術 –

+0

是的,這對我很好。 'saveFrame()'與ffmpeg結合使用。 – alnorth29

1

的GSVideo庫here與這有助於處理2.0。有一個類「GSMovieMaker」與對象很像上面描述的。

+0

應當指出的是,GSVideo取決於GStreamer的,這是許多現代的Linux發行版常見,但不能在Windows或OS X. –

1

研究一個星期我一直在使用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(); 
    } 
    } 

當然,你需要調整的文件的路徑和ffmpeg的二進制文件(https://www.ffmpeg.org/download.html)組成。它應該獨立於Processing版本,因爲它只使用saveFrame並調用外部二進制文件來生成視頻。享受;)