如何在 Processing 的 VideoExport 库中重置 FFMPEG 的路径?

How can I reset the path of FFMPEG in the VideoExport library in Processing?

注意:这个问题最初的标题是“如何在 Java 中重置 FFMPEG 的路径?”但是,正如评论和答案中指出的那样,问题是 而不是 和 Java,所以我更改了标题以便更容易找到其他人有同样的问题。


我不小心将 FFMPEG 的路径设置到不同的文件夹,我无法更改回来。

我正在使用 Processing(库及其 IDE)和 user-created Video Export 库来捕获和写入 mp4 视频文件.该库需要 FFMPEG,因此我下载并安装了它。我安装后,我运行代码,库调用Java请求FFMPEG的路径。我错误地将路径设置为不同的文件夹(我最终删除了),并立即意识到我的错误。我再次运行代码,看看是否可以再次触发提示以更正路径。


我收到的控制台响应是:(我确信其中大部分与实际问题无关。但是,我想展示所有内容以防万一。)

Oct 24, 2016 10:23:25 PM java.util.prefs.WindowsPreferences WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5. java.io.IOException: Cannot run program "C:...\Processing\Octree_Graphics\data\FFMPEG\ff-prompt.bat": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at com.hamoid.VideoExport.startFfmpeg(Unknown Source) at com.hamoid.VideoExport.initialize(Unknown Source) at com.hamoid.VideoExport.saveFrame(Unknown Source) at Octree_Graphics.draw(Octree_Graphics.java:90) at processing.core.PApplet.handleDraw(PApplet.java:2399) at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:731) at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692) at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674) at jogamp.opengl.GLAutoDrawableBase.run(GLAutoDrawableBase.java:443) at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147) at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759) at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81) at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452) at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178) at java.util.TimerThread.mainLoop(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(ProcessImpl.java:386) at java.lang.ProcessImpl.start(ProcessImpl.java:137) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 17 more VideoExport error: Ffmpeg failed. Study C:...\Processing\Octree_Graphics\basic.mp4.txt for more details.


我需要找到一种方法来重置 Java 拥有的 FFMPEG 路径。我已经尝试卸载并重新安装该库,但我还没有尝试 Java(我不想弄乱它当前状态下的任何内容)。

首先,据我所知,这只是在 Processing 的库内部,而不是 Java 本身。

我发现您可以通过 运行 重置 ffmpeg 目录 “.forgetFfmpegPath();” VideoExport 对象上的方法。您只需要 运行 一次就可以删除它。

在视频导出文档中,该方法具有描述 "Makes the library forget about where the ffmpeg binary was located."

您可以在 "Help -> Libraries Reference -> Video Export" 的 Processing IDE 中的 VideoExport 文档中找到该方法的文档。 (注意必须安装VideoExport库)

我知道这是两年前的事了,但我在这里是为了其他有这个问题的人。 我刚遇到这个问题并发现了这个问题,但没有答案,所以我给出了我认为有效的答案。