2

JavaRuntime.getRuntime().exec(ffmpeg)を使用してコマンドを実行し、ffmpegビデオを任意の形式から mp4 形式にトランスコードしています。コマンドが開始さps -efれると、ffmpeg プロセスがtop表示され、ffmpeg がほとんどの CPU (90%) を使用していることがわかります。ffmpeg の入力ビデオが短い (4 分未満) 場合、Runtime.getRuntime().exec(ffmpeg)コマンドは適切に実行されます。しかし、ffmpeg コマンドが完了するまでに 10 分以上かかるフル HD ビデオをトランスコードしようとすると、ffmpeg コマンドが開始されてから約 5 分後に未知の問題が発生します。ps -efコマンドは何時間も経ってもffmpegプロセスを表示しますが、topコマンドはffmpegプロセスがCPUの1%以上を使用していないことを示しています。だからRuntime.getRuntime().exec(ffmpeg)決して終わらない。

4

0 に答える 0