こんにちは
RTSP & MMS サーバー (PHP の RTSP/MMS クライアント) からストリームをダウンロードするために、PHP に RTSP および/または MMS プロトコルの実装はありますか?
2 に答える
あなたがやろうとしていることは、根本的にうまくいきません。MMS は、リアルタイムのマルチメディア ストリーミング プロトコルです。クライアントとサーバーは、データの転送を同期して (ビデオとオーディオが同期されるように) やり取りを行ったり、パケット遅延とパケット損失率に基づいてビット レートをネゴシエートしたりします。など...メディアがストリーミングされている限り、セッションにとどまります。接続のビット レートではなく、メディアのレートでストリーミングします。1 時間のビデオの場合、クライアントは 1 時間接続を維持する必要があります。
PHP はクエリ/レスポンス スクリプト言語です。リクエストを送信すると、応答が送信され、ハングアップすると、リクエストに対して行っていたすべての処理が忘れられます。「状態」は維持されません (セッション データをブラウザ クライアント)。Webサーバーは最終的にスクリプトをタイムアウトして強制終了します(タイムアウトを非常に長くすることもできます)...しかし、MMSストリームを「保存」できるPHPクライアントを実際に持つということは、基本的にWindows Media PlayerをPHPで記述して実行することを意味しますそのため、2 つのソケット (各方向に 1 つずつ) を管理し、すべてが文書化されていない独自の複雑なストリーミング プロトコルを実装しようとしています。
他の人が指摘したように、サーバーに接続するにはサーバー名から mms:// を削除する必要がありますが、それも簡単ではありません。Windows Media Player は、サーバーへの接続を試みるためにさまざまなポートを使用します。これは、ファイアウォールとルーターが接続をブロックしている可能性があるためです。究極のフォールバックはポート 80 であり、WMP が未知のサイズの長くて無害なグラフィックス イメージをダウンロードしているだけだとゲートキーパーをだますためです。相手側にライブ MMS サーバーがあることを確認できるかもしれませんが、それを超えると非常に複雑になります。
それは仕事には不適切なツールです。
php curlを使用してフィードを取得し、表示/保存できます。