質問

PHPコマンドを介してリモートサーバーにログインし、コマンドを実行してFLVファイルをMP3に変換する最良の方法を見つけようとしています(そして、おそらくローカルサーバーに移動する可能性があります)。

後でいつでもファイルを移動できますが、リモートサーバーがFFMPEGをホストするため、この順序で実行する必要があります。

これを使用するとローカルに行われます:

exec(ffmpeg -i vid.flv -acodec copy output.mp3);

どうすればリモートで行うことができますか?

ありがとう!

役に立ちましたか?

解決

次のことを順番に行う必要があります

  • PHPネイティブFTPコマンドを介してFLVを転送します
  • FFMPEGサーバーにレイヤーを作成してコマンドを実行します
  • 応答コードを読み、特定のアクションを実行します

FTPを介してファイルをサーバーに送信し、ファイルを転送したばかりのスクリプトをサーバー上に作成した場合、ファイルのハッシュコードでスクリプトをpingし、変換するように指示できます。

  • FTP経由でファイルを送信します(アップロード例)
  • コンバージョンを開始するためのpingサーバー

変換スクリプトはファイル名を取得し、その後、ファイルのローカルディレクトリを調べます。見つけたら、変換します。

ローカルサーバーに変換がいつであるかを知りたい場合 完了しました また、コンバージョンスクリプトにIDを送信する必要があり、そのIDの両側を保存するため、サーバーはローカルスクリプトに戻ることができます(警告!)IDを使用すると、サーバーから取り戻すことができます。

警告の理由は、ルーター /ファイアウォールの後ろにある場合、サーバーをPingに届けるのが難しいため、ルーターにポート転送などをセットアップし、ポート80に外部からアクセスできるようにする必要があるためです。

これがあなたにこの状況に対処する方法についてのいくつかの手がかりを与えることを願っています。

他のヒント

cannot ftpを介してリモコンを実行します。

マシンへのSSHアクセスがある場合は、 SSH2拡張 PHPの場合、SSHを介して実行します。

SSH2ライブラリを調べます(http://php.net/manual/en/book.ssh2.php)コマンドをリモートで実行する方法とカールライブラリ(http://php.net/manual/en/book.curl.php)リモートファイルをダウンロードする方法。

PHPスクリプトを作成し、FLV変換サーバーにアップロードします。スクリプトは次のとおりです。

  1. flvファイルを(投稿または別のダウンロード方法を介して)vid.flvにダウンロード
  2. サーバーコマンド「exec(ffmpeg -i vid.flv -acodec copy output.mp3);」を実行します。 "
  3. output.mo3が準備ができている結果を通知します

スクリプトの最大実行時間(set_time_limit)を変更する必要があります。

これにより、スクリプトはSSHを介してコマンドを送信する必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top