Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Processing 如何将处理草图导出为视频?_Processing - Fatal编程技术网

Processing 如何将处理草图导出为视频?

Processing 如何将处理草图导出为视频?,processing,Processing,我正在处理中创建一个三维可视化。我预计,绘制每一帧所需的时间将比将动画显示为程序所需的时间更长,因此我希望将其导出为视频 这可能吗?最好的方法是什么?如果您不使用Processing 2.0,可以使用MovieMaker库将草图导出为视频(在Processing 2.0中,MovieMaker将在一个工具中转换,但它还不能工作) 另一个选项是在draw()函数中使用saveFrame()方法 您可以找到如何使用MovieMaker的示例 GSVideo库的saveFrame()方法的文档在Pro

我正在处理中创建一个三维可视化。我预计,绘制每一帧所需的时间将比将动画显示为程序所需的时间更长,因此我希望将其导出为视频


这可能吗?最好的方法是什么?

如果您不使用Processing 2.0,可以使用MovieMaker库将草图导出为视频(在Processing 2.0中,MovieMaker将在一个工具中转换,但它还不能工作)

另一个选项是在draw()函数中使用saveFrame()方法

您可以找到如何使用MovieMaker的示例


GSVideo库的saveFrame()方法的文档在Processing 2.0中有助于实现这一点。有一个类“GSMovieMaker”,其对象与上面描述的非常相似。

亲爱的,你可以使用Randel Shofer制作的程序,你只需修改8,10行代码就可以在你的程序中使用它(如果你有更多的时间,你可以不用修改源代码)

程序(Jar.)链接:


描述:

该库允许从处理中直接导出mp4。不过,它需要您在系统上安装。

经过一周的研究,我用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();
    }
  }

if(frameCount
saveFrame()
绝对是一个不错的选择。你可以将这些帧堆积到Quicktime Pro<7.6中,如果你有它的话,它有一个很好的开放图像序列功能,然后导出到Quicktime,或者你可以尝试用ffmpeg将它们缝合在一起。一个月前我也遇到过同样的问题,我使用了saveFrame()+Quicktime技术是的,这对我很有效。
saveFrame()
与ffmpeg结合使用。当使用
saveFrame()
时,我没有得到所有的帧,结果滞后了很多。有人知道我能做什么吗?@JordanBelf使用saveFrame()时,低帧率是正常的(取决于草图的大小,但有时可以达到1fps或更低)但您应该拥有所有帧exportedIt应该注意的是,GSVideo依赖于gstreamer,这在许多现代Linux发行版上很常见,但在Windows或OS X上并不常见。确认这一点在P3+Mac OS X上非常有效。