2

ユーザーがビデオ (RTSP) ストリーミング セッションで停止ボタンをクリックしたときに TEARDOWN を送信するのは適切ですか? そうでない場合は、なぜですか??

4

3 に答える 3

1

サーバーに停止を指示する「保証された」方法は他にありません。Quicktime と VLC の両方がそのように行いますが、他のクライアントについてはわかりません。RFC 2326のこのページからわかるように、PAUSE ディレクティブは推奨されていますが、必須ではありません。さらに、それは一時停止するためのものであり、停止するためのものではないので、はい、TEARDOWN が正しい方法です。

  method            direction        object     requirement
  DESCRIBE          C->S             P,S        recommended
  ANNOUNCE          C->S, S->C       P,S        optional
  GET_PARAMETER     C->S, S->C       P,S        optional
  OPTIONS           C->S, S->C       P,S        required
                                                (S->C: optional)
  PAUSE             C->S             P,S        recommended
  PLAY              C->S             P,S        required
  RECORD            C->S             P,S        optional
  REDIRECT          S->C             P,S        optional
  SETUP             C->S             S          required
  SET_PARAMETER     C->S, S->C       P,S        optional
  TEARDOWN          C->S             P,S        required
于 2009-01-30T09:43:59.747 に答える
1

はい、適切です。

サーバーは、特定のユーザーのセッション状態を維持することになっています。すべてのコマンドが同じ TCP 接続から来ると想定するのではなく、最初の SETUP 応答がクライアントに送信されたときに作成されるセッション ID を提供することになっています。それに続くすべてのリクエストには、セッション ID を含める必要があります (例外があります)。TEARDOWN リクエストを送信することにより、クライアントは、そのユーザーに関連付けられているすべての状態を解放できることをサーバーに示します。

PAUSE は、サーバーにパケットの送信を停止するように指示するだけで、そのセッションに関連付けられた状態を解放するようには指示しません。

于 2010-03-20T04:10:45.967 に答える
0

メディア セッションを破棄する rtsp クライアント ソフトウェアの動作には、複数の実装があります。Realplayer は TEARDOWN の前に PAUSE を送信します。Quicktime Player と VLC は、PAUSE なしで TEARDOWN を送信します。どちらも許容範囲だと思います。

于 2012-01-13T02:55:57.003 に答える