我有一个 java servlet api,当收到请求时,它会使用 ffmpeg 启动视频文件的实时转换,并将其通过管道传输到 mediastreamsegmenter 以将其分段以进行 http 实时流传输。我想要的是 java servlet 在生成索引文件后立即返回索引文件的 url(在写入第 4 个传输流文件之后),以便用户可以开始观看视频,而无需等待它完全完成转换。
我想实现这一目标的方法是将命令传递到 mediastreamsegmenter 的 -file-complete-command 参数中,并让它调用某种命令,如果最后完成的文件是索引文件,该命令可以告诉 java servlet 返回其响应。
我的另一个想法是只分割视频的前 30 秒左右,然后返回响应,并将视频的剩余部分添加到 servlet 中的某种后台任务中。我不确定这将如何完成。我可以创建一个单独的线程来执行此转换,该线程将在 servlet 返回后继续运行吗?我确信一定有更好的方法来做到这一点。任何想法将不胜感激。
最佳答案
我想说你肯定需要一个单独的线程来完成这样的任务。为什么“必须有”更好的方法?
关于java - 告诉 java servlet 何时从外部命令行调用返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579732/