2011-06-23 4 views
0

私は正規表現を使用して、データベースへの出力を更新できるように、ffmpeg出力をPHPファイルに送信します。これにより、複数のアップロードの進行状況を処理することができます。誰もこれを行う方法を知っていますか? できますか?現在、私はffmpegコマンドの後にパラメータ付きのphpファイルを実行し、ffmpegをtxtファイルに書き込むことができますが、出力をphpファイルに送信して実行することはできますか?FFMPEG出力をPHPファイルに送ることはできますか?

ffmpeg command and filepath to converted 1> /home/g/Desktop/output.txt 2>&1 

txtファイルに

をパラメータ

&& php /opt/lampp/htdocs/xampp/site/update_db.php ".$parameter1." ".$parameter2."; 

書き込み出力を持つPHPファイルを実行することは、このような何かを行うことができますか?

ffmpeg command and filepath to converted 1> php /opt/lampp/htdocs/xampp/site/update_db.php ".$output." 2>&1 

答えて

0

はい、あなたはSTDINを読むことができます。

http://php.net/manual/en/features.commandline.io-streams.php

それは私だったら、私はPHP内からFFMPEGを実行すると思います。あなたは少し柔軟性がありますが、すべてのアプリケーションでそれが望ましくないことはわかっています。

+0

私はexecでphpでffmpegを実行しています。私は$ file = file_get_contents( "php:// stdin"、 "r")を試しました。 echo $ file; 私はcliコマンドを実行した後に何も得ていません。 – Scarface

+0

@Scarfaceもちろん、PHPのSTDINはPHPを実行するときのためのものです。 'exec()'から出力を取得したい場合は、単に返すものだけを出力する必要があります。 http://php.net/manual/en/function.exec.php – Brad

+0

もちろん、私は一定の基準で出力が必要です。ですから、ffmpegにテキストファイルへの書き込みを指示すると、そのファイルはプロセスの動作に合わせて常に更新されます。どのようにしてcliからphpファイルへの出力を続けて、そのファイルを実行させることができますか?だからこれはまだ可能ですか? – Scarface

-1

execを使用してffmpegを呼び出し、出力パラメータの内容を使用して出力を返すことができます。

しかし、プログラムの実行が終了したら、あなたは出力を得るためにのみを許可するそう:

プログラムはこの 機能で開始されている場合は、それがバックグラウンドで実行されている を継続するためには、プログラムの の出力を ファイルまたは別の出力ストリームにリダイレクトする必要があります。 を実行すると、PHPの実行が終了し、 になり、プログラムの実行が終了します。

+0

どのように見えますか?私はすでにffmpegを実行するためにPHPのexecを使用しています。 – Scarface

+0

さらに、10秒ごとに進捗状況を更新できる必要があります。私は幹部を爽やかに保つことができません。 – Scarface

+0

私は本当にあなたが私に言っていることを理解していないので、例をすることができますか? ffmpegの出力をファイルまたは出力ストリームにリダイレクトできますか?したがって、そのファイルを実行して出力を処理できるphpファイルにその出力をリダイレクトすることは可能ですか?私は進行状況バーのために再発的に更新しようとしています。 – Scarface