拆解:适用于RTSP?

时间:2009-01-26 01:21:52

标签: streaming video-streaming rtsp

当用户点击视频(RTSP)流媒体会话中的停止按钮时,发送TEARDOWN是否合适? 如果不是那么为什么??

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

是的,这是合适的。

服务器应该为特定用户维护会话状态,他们不应该假设所有命令都来自同一个TCP连接,而是提供在第一个SETUP应答发送到客户端时创建的sessionid 。之后的所有请求都应包含sessionid(有例外)。通过发送TEARDOWN请求,客户端向服务器指示它可以释放与该用户关联的所有状态。

PAUSE只会指示服务器停止发送数据包,而不是释放与该会话相关联的状态。

答案 2 :(得分:0)

rtsp客户端软件拆除媒体会话的行为有多个实现。 Realplayer将在TEARDOWN之前发送PAUSE。 Quicktime Player和VLC将在没有PAUSE的情况下发送TEARDOWN。 我认为两者都可以接受。