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)
決して終わらない。
質問する
2484 次