FFMPEG RTMP在Ubuntu 14.0.4上的red5pro模块中不起作用

时间:2018-01-22 23:35:49

标签: ffmpeg red5pro

以下命令在我的java模块中不起作用(这会从实时流中获取并保存) Runtime.getRuntime()。exec(“ffmpeg -i \”rtmp://127.0.0.1:1935 / live / mytest live = 1 timeout = 2 \“ - f image2 -vframes 1 /snaps/testo.jpg”);

如果我在Ubuntu 14.0.4控制台上使用相同的命令,它可以工作。在Window上的red5pro模块中使用相同的命令,但在Ubuntu上没有。

我用的时候 String [] execStr = {“/ usr / local / bin / fumpeg”,“ - i”,“tompmp://127.0.0.1:1935 / live / mytest”,“live = 1”,“timeout = 2”, “-f”, “图像2”, “ - vframes”, “1”, “/卡扣/ tt.jpg”}; ProcessBuilder pb = new ProcessBuilder(“ffmpeg -i rtmp:// localhost / live / mytest live = 1 timeout = 2 -f image2 -vframes 1 /snaps/testo.jpg”);

它总是抛出未找到的流(在red5pro控制台中)

1 个答案:

答案 0 :(得分:0)

我不懂Java(除了一点点,我对FFmpeg很有经验)但是我认为你应该写这样的代码:

String[] execStr = {"/usr/local/bin/ffmpeg", "-i", "rtmp://127.0.0.1:1935/live/mytest", "live=1", "timeout=2", "-f", "image2", "-vframes", "1", "/snaps/tt.jpg"};
ProcessBuilder pb = new ProcessBuilder(execStr);

或者像这样:

String[] execStr = {"/usr/local/bin/ffmpeg", "-i", "\"rtmp://127.0.0.1:1935/live/mytest live=1 timeout=2\"", "-f", "image2", "-vframes", "1", "/snaps/tt.jpg"};
ProcessBuilder pb = new ProcessBuilder(execStr);

我从这里查了一下: https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html