gpt4 book ai didi

java - 如何从 java 在后台运行 ffmpeg 命令

转载 作者:搜寻专家 更新时间:2023-11-01 02:54:48 34 4
gpt4 key购买 nike

我正在从 java Runtime.getRuntime().exec 运行 ffmpeg 命令。ffmpeg 命令基本上从实时流中剪切图像。实际上,当我在没有 & 的情况下运行此命令时,它会在停止切割图像后的五分钟内正常工作。

但是当我在 ffmpeg 命令中使用“&”时,它根本不起作用。

当我从 linux 运行这个 ffmpeg 命令时,直播没有问题,它工作正常。

我的主要问题是如何从 java 在后台运行 ffmpeg 命令。

最佳答案

'&' 是一个 shell 指令,用于将任务放入后台。从 Process.exec() 运行不涉及 shell。

如果您的进程停滞(即正在运行但只是不工作),那么我怀疑它已被阻塞,等待您使用 stdout/stderr。您必须使用线程来执行此操作,以防止进程阻塞等待您使用其输出。参见 this SO answer了解更多详情。

要在后台运行它(即当您的 Java 进程执行其他操作时),您需要:

  1. 产生一个新线程
  2. 在本线程中通过Process.exec调用进程
  3. 使用 stdout/stderr(都在不同的线程中)并最终获得退出代码

关于java - 如何从 java 在后台运行 ffmpeg 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3740935/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com