【发布时间】:2015-02-17 12:57:42
【问题描述】:
我正在使用 blackmagic 的 decklink 卡进行直播。所以为此我需要执行一个命令。
String[] command={"./bmdcapture", "-m", "10", "-C", "0", "-V", "3", "-A", "2", "-F", "nut", "-f", "pipe:1", "|", "./avconv", "-i", "-", "-strict", "experimental", "-c:v", "libx264", "test.mp4"};
File f = new File("/home/NetBeansProjects/tools/card");
ProcessBuilder pb = new ProcessBuilder(command);
pb.directory(f);
pb.directory(f);
Process process = pb.start();
它在终端中完美运行,但是当我使用 java 通过 process-builder 调用时不起作用。
【问题讨论】:
-
它怎么不工作?你没有告诉任何关于这个问题的事情。 “不起作用”没有帮助。
-
结果是 bmdcapture:无效选项 -- 'i'。管道符号不起作用
-
啊,我没看到管道。难怪它不起作用......
-
Yoi 要么需要自己链接管道,要么将所有命令传递给
/bin/sh -c -
谢谢我改成这样 String[] commands={"/bin/sh", "-c","./bmdcapture -m 10 -C 0 -V 3 -A 2 -F nut -f 管道:1 | ./avconv -y -i - -strict 实验性 -c:v libx264 test.mp4"};它的作品