PHPスクリプトを介してffmpegでエンコードを試みましたが、プロセスが特定の時点でフリーズします。Windows のコマンド ラインから同じコマンドを実行すると、問題なくエンコードされます。
破損していない、エキゾチックなコーデックなどを使用していないさまざまなビデオを試しました。
スクリプト (つまり、PHP の exec()) から実行するとプロセスがフリーズするが、コマンド ラインから直接実行するとフリーズしない理由は何でしょうか? 任意のヒント?
同様の問題がありました。私の場合、Web サーバーには最大実行時間がありました。
IIS (web.config) の場合:
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
他のサーバーについては Google について
maximum execution time <webservername>
これはパイプと関係があると思います。つまり、FFmpegの出力は、別のプロセスによって排出されることのないパイプにリダイレクトされるため、FFmpeg/PHPプロセスはブロックされます。
いくつかの質問: