私は、ユーザーがサイトにビデオをアップロードできるビデオストリーミングサイトの開発に取り組んでいます(uploadify jqueryプラグインを使用して複数のビデオを一度に)。複数のビデオのアップロード中にビデオエンコーディングのキューイングを処理する方法は?
今、私はビデオをFLVにエンコードしてオンラインでストリーミングするという問題に直面しています。
いつビデオエンコード処理を行う必要がありますか?アップロードが完了した直後に(つまり、成功ページをアップロードするようにユーザーをリダイレクトし、ffmpegのexecコマンドを使用してバックグラウンドでエンコードを開始しますか?)しかし、この方法を使用すると、エンコードが正常に終了したかどうかを確認できますか?ユーザーが破損したビデオをアップロードし、ffmpegでエンコードできない場合はどうなりますか?どのように私はこれをPHPで処理するのですか?
複数のユーザーが同時にビデオをアップロードできるので、どのようにビデオのエンコードをキューに入れますか? FFMpegには独自のエンコードキューがありますか?
私はまた、他の関連するSOスレッドのredisやAMQPのようなギアマンとメッセージ待ち行列オプションについても読んでいます。これらのソリューションは潜在的なものですか?
誰かが私の質問に答えることができたら本当に感謝します。
回答ありがとうございますmridkash。しかし、あなたが言ったように "次にファイルをエンコードし、それが終わったらdbフラグを 'done'に更新してください。"、どうやってエンコードが完了したのか分かりますか? –
php exec(ffmpeg)呼び出しが終了すると、2つの可能性があります。処理が完了したか、失敗しました。execコールの後、エンコードされたファイルが存在するかどうかを確認し、ffmpeg infoを実行してdbフラグを "done"に更新することもできます。 –
あなたのコメントによると、 "php exec(ffmpeg)コールが終了したとき"です。 ffmpegの呼び出しがいつ終了したかはどのように判断するのですか?私はいつもファイルの定期的なチェックを行うことができますが、エンコーディングが終了する前でもそこに存在する可能性があります。 –