3

だから私は2つのサービスを実行しています.1つはファイルをリアルタイムでトランスコードし(ffmpeg)、もう1つはhttp(nginx)を介して公開します。私が現在抱えている問題は、ffmpeg がトランスコーディングを開始し、nginx を介してファイルにアクセスすると、書き込まれたバイトの一部しかダウンロードされないことです。

質問、現在書き込み中のファイルを書き込みが終了し、ローカル コンピューターに完全なファイルが存在するまでストリーミングするように nginx を構成することは可能ですか?

ありがとうございました

4

2 に答える 2

0

私は非常によく似た問題を抱えていました。ffmpegがまだファイルをトランスコードしている間にストリーミングを開始する方法がわかりませんが、ここに私の修正がありました:

システム コールを実行する php スクリプトがありました (ただし、これはほとんどすべての言語で記述できます)。スクリプトには、ffmpeg による一時ファイルへの書き込みがありました。ffmpeg を呼び出す前に、同時実行の問題を解消するために一時ファイルが存在するかどうかを確認しました。もしそうなら、それは実ファイルが存在するまで待ちました。

ファイルの変換が完了すると、一時ファイルの名前が実際のファイルに変更され、http 要求がトランスコードされたファイルにリダイレクトされました。

于 2011-08-01T18:55:16.870 に答える