我想做的是使用 avconv 捕获 IP Cam 的流。我已经设法获取该流并将其保存到使用 Java 的 apache exec commons 库的文件中,如下所示:
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
String str = avconv_command;
CommandLine commandLine = CommandLine.parse(str);
ExecuteWatchdog watchdog = new ExecuteWatchdog(1000000);
Executor executor = new DefaultExecutor();
executor.setWatchdog(watchdog);
executor.execute(commandLine, resultHandler);
有了这个,avconv 开始捕获流并将其保存到一个文件中,在控制台上我可以看到 avconv 是如何工作的以及进程的输出。该输出的每一行都显示了当前正在捕获的视频的持续时间、比特率等。我需要捕获该输出并在它运行时对其进行处理。有什么想法吗?
我读过很多帖子:
如何使用 Commons Exec 将命令的输出捕获为字符串?
但是他们都在进程完成时读取输出,我需要在它运行时读取它。