私は Java サーブレット API を持っています。これは、要求されると、ffmpeg を使用してビデオ ファイルのライブ変換を開始し、それを mediastreamsegmenter にパイプして、http ライブ ストリーミング用にセグメント化します。私が望むのは、Java サーブレットがインデックス ファイルの URL を生成するとすぐに (4 番目のトランスポート ストリーム ファイルが書き込まれた後) 返すようにすることで、ユーザーは変換が完全に完了するのを待たずにビデオの視聴を開始できます。
これを実現する方法として、mediastreamsegmenter の -file-complete-command 引数にコマンドを渡し、最後に完了したファイルがインデックスファイル。
私が思いついたもう 1 つのアイデアは、ビデオの最初の 30 秒ほどをセグメント化してから応答を返し、残りのビデオをサーブレットの何らかのバックグラウンド タスクに追加することでした。ただし、これがどのように行われるかはわかりません。サーブレットが返された後も引き続き実行されるこの変換を行う別のスレッドを作成できますか? これを行うためのより良い方法があるに違いないと確信しています。任意の考えをいただければ幸いです。