當用戶點擊視頻(RTSP)流會話中的停止按鈕時發送TEARDOWN是否合適? 如果不是那麼爲什麼?拆解:適用於RTSP?
1
A
回答
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
是的,這是適當的。
服務器應該爲特定用戶維護一個會話狀態,他們不應該假定所有的命令都來自同一個TCP連接,而是提供一個會話ID,當第一個SETUP應答發送給客戶。接下來的所有請求都應包含sessionid(有例外)。通過發送TEARDOWN請求,客戶端向服務器表明它可以釋放與該用戶關聯的所有狀態。
PAUSE只會指示服務器停止發送數據包,而不是釋放與該會話關聯的狀態。
0
rtsp客戶端軟件拆卸媒體會話的行爲有多個實現。 在TEARDOWN之前,Realplayer會發送暫停。 Quicktime播放器和VLC將發送沒有暫停的TEARDOWN。 我覺得這兩個都可以接受。
相關問題
- 1. server.close()不適用於Vow拆解
- 2. 用於解碼H.264 RTSP流的庫
- 3. RTSP直播只是不適用於Android 1.5/1.6嗎?
- 4. Windows上的FFMPEG(用於H.264 RTSP解碼)
- 5. JSON解析不適用於Ruby,但適用於Python
- 6. Hibernate註解不適用於getters,但適用於屬性
- 7. 關於RTSP建立請求
- 8. 用於測試的RTSP服務器
- 9. 如何將Grtsreamer用於rtsp代理
- 10. 請解釋此代碼適用於Articles.events.publish
- 11. 解析通知不適用於Android
- 12. 解析通知不適用於iOS
- 13. 解決方法適用於JAVASERVERFACES-3947
- 14. AlertDialog.Builder解僱不適用於API 17 android
- 15. 適用於iOS的Cocos2d:理解z層
- 16. @NonNull註解不適用於Android Studio
- 17. 總理分解:不適用於大數?
- 18. 適用於J2ME的JSON解析器
- 19. 解析JSON它不適用於Swift
- 20. 適用於Android的Dom解析器
- 21. 解析Gson與Json不適用於Android
- 22. 瞭解適用於iPhone的NSHTTPCookieStorage
- 23. 適用於Android的JSON解析
- 24. Java拆分(「\\ |」)不適用於空間字符串
- 25. 拆箱需要的元組,但不適用於類型
- 26. AutoBoxing /拆箱不適用於返回類型?
- 27. JavaScript XML解析適用於IE瀏覽器,但不適用於Firefox/Chrome
- 28. 適用於PHP,不適用於PHPUnit
- 29. XMLHttpRequest適用於FireFox,不適用於Safari
- 30. Javascript適用於Firefox,不適用於IE8?