在流终止后,此代码仅在实时流中记录约397秒的视频。文件大小~20兆字节。 Java和ffmpeg进程不会终止。 Centos 6,Oracle JDK 8.没有java ffmpeg记录没有终止。什么可能有问题?可能是JVM或OS的任何限制吗?
public class FFMpegLauncher extends Thread {
private Process pr;
public static void main(String[] args) {
FFMpegLauncher launcher = new FFMpegLauncher();
Runtime rt = Runtime.getRuntime();
rt.addShutdownHook(launcher);
try {
if(args.length > 0) {
String cameraUid = args[0];
String rtspURL = "rtsp://otherhost/" + cameraUid;
launcher.pr = rt.exec("/usr/local/bin/ffmpeg -i " + rtspURL + " -vcodec copy -r 15 -f flv out.mp4");
launcher.pr.waitFor();
} else {
System.exit(-1);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
System.exit(-1);
}
}
}