Java的ProcessBuilder类来执行执行Linux的 nohup ffmpeg -nostdin -re -i /home/outbound_transportation_video/JPCK_202305259638/1685085717966.mp4 -vcodec copy -acodec copy -f flv -flvflags no_duration_filesize -y rtmp://192.168.1.40:11006/live/livestream/1685085717966 >> /home/outbound_transportation_video/JPCK_202305259638/1685085717966 2>&1 & 这句命令?
时间: 2023-09-10 19:15:33 浏览: 655
Java调用Linux命令
3星 · 编辑精心推荐
您可以使用以下代码来执行所需的命令:
```
String[] command = { "nohup", "ffmpeg", "-nostdin", "-re", "-i", "/home/outbound_transportation_video/JPCK_202305259638/1685085717966.mp4", "-vcodec", "copy", "-acodec", "copy", "-f", "flv", "-flvflags", "no_duration_filesize", "-y", "rtmp://192.168.1.40:11006/live/livestream/1685085717966", ">>", "/home/outbound_transportation_video/JPCK_202305259638/1685085717966", "2>&1", "&" };
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
pb.redirectOutput(new File("output.log"));
Process p = pb.start();
```
请注意,您需要将命令中的所有参数都添加到`command`数组中,包括`>>`、`2>&1`和`&`等特殊字符。`redirectOutput(new File("output.log"))`表示将标准输出流重定向到名为`output.log`的文件中。您可以根据需求自定义这些选项。
在执行完命令后,您需要检查进程是否正在运行。您可以使用Java的Process类来检查进程是否正在运行。
阅读全文