प्रौद्योगिकी साझेदारी

[Audio and Video |.

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

😁博客主页😁:🚀https://blog.csdn.net/wkd_007 इत्यत्र https://blog.csdn.net🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C 、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍RTSP协议 🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭
⏰विमोचनसमयः⏰: 2024-07-06 12:22:00

अयं लेखः अनुमतिं विना अग्रे न प्रेषितः भवेत्! ! !


अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

🎄一、概述

आरटीएसपी, पूर्ण नाम Real Time Streaming Protocol, वास्तविकसमयप्रवाहप्रोटोकॉलः, TCP/IP प्रोटोकॉलप्रणाल्यां अनुप्रयोगस्तरप्रोटोकॉलः अस्ति, एषः कोलम्बियाविश्वविद्यालयः, नेटस्केपः, रियलनेटवर्क्स् च प्रदत्तः IETF RFC मानकः अस्ति ।

RTSP प्रोटोकॉलस्य विषये आधिकारिकं दस्तावेजं RFC2326, दस्तावेजलिङ्क् अस्ति:RFC2326-वास्तविक समय स्ट्रीमिंग प्रोटोकॉल (RTSP)

RTSP प्रोटोकॉलस्य वाक्यविन्यासः, संचालनं च सन्दर्भितम् अस्ति । HTTP/1.1, एकः पाठ-आधारितः प्रोटोकॉलः यः ISO10646 वर्णसमूहस्य उपयोगं करोति तथा च UTF-8 एन्कोडिंग् RTSP वहति;TCP, पूर्वनिर्धारित पोर्ट्554; नियन्त्रणादेशाः ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

आरटीपी प्रोटोकॉल: पूर्णनामReal-time Transport Protocol , वास्तविकसमयस्य संचरणप्रोटोकॉलस्य घोषणा IETF इत्यस्य बहुमाध्यमसंचरणकार्यसमूहेन १९९६ तमे वर्षे RFC १८८९ इत्यस्मिन् कृतम् । आरटीपी प्रोटोकॉल अन्तर्जालमाध्यमेन श्रव्यं, भिडियो च वितरितुं मानकपैकेट् प्रारूपस्य विवरणं ददाति । इदं UDP प्रोटोकॉल इत्यनेन निर्मितम् अस्ति ।

RTCP प्रोटोकॉल: पूर्णनामReal-time Transport Control Protocol , वास्तविकसमयपरिवहननियन्त्रणप्रोटोकॉलः, आरटीपी इत्यनेन सह उपयुज्यते । RTP सम-सङ्ख्यायुक्तं UDP पोर्ट् उपयुज्यते RTCP RTP तः अग्रिम-पोर्ट् उपयुज्यते, यत् विषम-सङ्ख्यायुक्तं पोर्ट् अस्ति । RTCP तथा RTP एकत्र कार्यं कुर्वन्ति RTP वास्तविकदत्तांशस्य संचरणं कार्यान्वितं करोति, तथा च RTCP सत्रे सर्वेभ्यः नियन्त्रणपैकेट् प्रेषयितुं उत्तरदायी भवति । अस्य मुख्यं कार्यं आरटीपीद्वारा प्रदत्तायाः सेवायाः गुणवत्तायाः विषये प्रतिक्रियां दातुं भवति ।

RTSP प्रोटोकॉलस्य HTTP प्रोटोकॉलस्य च मध्ये अन्तरम् :
RTSP राज्यात्मकं भवति, तस्य आदेशाः च सर्वदा क्रमेण प्रेष्यन्ते, एकस्य आदेशस्य अन्यस्य आदेशस्य पूर्वं सर्वदा प्रेषणस्य आवश्यकता भवेत् । HTTP राज्यरहितं भवति ।
rtsp प्रोटोकॉल पोर्ट् 554 इत्यस्य उपयोगं करोति, http च पोर्ट् 80 इत्यस्य उपयोगं करोति ।
RTSP अनुरोधाः सर्वरेण क्लायन्ट् च प्रेषयितुं शक्यन्ते, यदा तु HTTP अनुरोधाः केवलं क्लायन्ट् द्वारा एव प्रेषयितुं शक्यन्ते ।


अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

🎄二、RTSP 方法

सामान्यतया प्रयुक्ताः RTSP-विधयः सन्ति: OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN, ANNOUNCE, GET_PARAMETER तथा SET_PARAMETER इत्यादयः । विस्तृतप्रयोगनिर्देशाः निम्नलिखितरूपेण सन्ति ।

  • OPTIONS : क्लायन्ट् सर्वरेण समर्थितं विधिं सर्वरात् प्राप्नोति । सर्वरस्य स्थितिं न प्रभावितं करोति;
  • DESCRIBE: क्लायन्ट् सर्वरतः URL द्वारा निर्दिष्टस्य मीडियावस्तुनः वर्णनं प्राप्नोति, यत्रAcceptक्षेत्रं वर्णनस्वरूपं निर्दिशति;
  • SETUP : क्लायन्ट् सर्वरं सत्रं स्थापयित्वा संचरणस्य सज्जतां कर्तुं अनुरोधं करोति । अनुरोधसूचनायां मुख्यतया संचरणप्रोटोकॉलः ग्राहकस्य पोर्टसङ्ख्या च अन्तर्भवति;
  • PLAY : क्लायन्ट् सक्रियरूपेण सर्वरं SETUP द्वारा निर्दिष्टस्य तन्त्रस्य उपयोगेन आँकडानां प्रेषणं आरभ्यतुं सूचयति ।इत्यस्मिन्‌Rangeक्षेत्रं प्लेबैकस्य आरम्भं समाप्तिसमयं च निर्दिशति (वास्तविकसमयस्य धारा Range सामान्यतया भवतिRange: npt=0.000-), यदा बहुविधाः PLAY-अनुरोधाः आगच्छन्ति तदा सर्वरः PLAY-अनुरोधानाम् पङ्क्तिं कृत्वा क्रमेण निष्पादयिष्यति, अर्थात् द्वितीयं PLAY-सन्देशं निरन्तरं संसाधितुं पूर्वं प्रथमस्य PLAY-समयस्य पूर्णतायै प्रतीक्षां कर्तुं अर्हति
  • PAUSE : क्लायन्ट् अनुरोधं करोति यत् सर्वरस्य मीडिया स्ट्रीमिंग् अस्थायीरूपेण स्थगितम् भवतु।उत्तीर्णं कर्तुं समर्थःRangeपैरामीटर् निर्दिष्टसमयबिन्दौ विरामं करोति, अथवा भवान् विरामं कर्तुं धारा निर्दिष्टुं शक्नोति उदाहरणार्थं, यदि भवान् विरामं कर्तुं श्रव्यधारा निर्दिशति तर्हि प्लेबैक् मौनम् भविष्यति ।
  • RECORD : RECORD सर्वरं सूचयति यत् क्लायन्ट् पूर्ववर्णनानुसारं मीडियादत्तांशस्य अभिलेखनं आरभेत । इत्यस्मिन्‌timestamp क्षेत्राणि आरम्भ-अन्त-समयं (UTC) प्रतिबिम्बयन्ति । यदि एतत् क्षेत्रं नास्ति तर्हि माध्यमविवरणात् आरम्भः अन्त्यसमयः वा उपयुज्यते । यदि सत्रं पूर्वमेव आरब्धम् अस्ति तर्हि तत्क्षणमेव रिकार्डिङ्ग् आरभ्यते ।
    सर्वरः निर्णयं करोति यत् लॉग् कृतं दत्तांशं संग्रहीतव्यं वा इतिrequest-URI अग्रिमः अन्यः वा URI । यदि सर्वरः अनुरोध-URI इत्यस्य उपयोगं न करोति तर्हि प्रतिक्रिया 201 (Created) भवितुमर्हति तथा च अनुरोधस्य स्थितिं वर्णयन् नूतनसंसाधनस्य सन्दर्भं च कृत्वा Entity and Location इति शीर्षकं भवितुमर्हति
  • TEARDOWN: क्लायन्ट् निर्दिष्टं URL धारा प्रेषणं त्यक्त्वा सम्बद्धं संसाधनं विमोचयितुं अनुरोधं करोति ।
  • REDIRECT : अनुरोधं पुनः निर्दिशितुं सर्वरः क्लायन्ट् सूचयति यत् अन्येन सर्वरस्थानेन सह सम्बद्धः भवितुमर्हति । अस्मिन् अनिवार्यं Location शीर्षकं भवति, यत् सूचयति यत् क्लायन्ट् अस्य URL कृते अनुरोधं कर्तव्यम् । अस्मिन् Range इति पैरामीटर् भवितुं शक्नोति, यत् पुनर्निर्देशनं कदा प्रभावी भविष्यति इति सूचयति । यदि क्लायन्ट् अस्य URI कृते माध्यमं प्रेषयितुं वा प्राप्तुं वा निरन्तरं कर्तुम् इच्छति तर्हि क्लायन्ट् वर्तमानसत्रस्य कृते TEARDOWN अनुरोधं निर्दिष्टे होस्ट् मध्ये नूतनसत्रस्य कृते SETUP च निर्गन्तुं अर्हति
  • ANNOUNCE: यदा क्लायन्ट् सर्वरं प्रति प्रेषयति तदा तस्य अर्थः भवति यत् अनुरोध-URL द्वारा चिह्नितं प्रस्तुतिविवरणं वा मीडिया-वस्तुं वा सर्वरं प्रति प्रस्तौति
    यदा सर्वरः क्लायन्ट् प्रति प्रेषयति तदा सत्रसूचनाः अद्यतनीकर्तुं क्लायन्ट् सूचयति इति अर्थः ।
  • GET_PARAMETER :GET_PARAMETER अनुरोधः URI मध्ये निर्दिष्टस्य प्रतिनिधित्वस्य अथवा धारायाः कृते पैरामीटर् मूल्यानि पुनः प्राप्तुं । उत्तराणां प्रतिक्रियाणां च विषयवस्तु कार्यान्वयनाय एव त्यज्यते। GET_PARAMETER इत्यस्य उपयोगः सत्ताशरीरस्य विना क्लायन्ट् अथवा सर्वरस्य सजीवतायाः ("ping") परीक्षणार्थं कर्तुं शक्यते ।
  • SET_PARAMETER : एषा पद्धतिः डेमो अथवा URL निर्दिष्टस्य धारायाः पैरामीटर् मूल्यानि सेट् कर्तुं अनुरोधं करोति । अनुरोधेषु केवलं एकः पैरामीटर् भवितव्यः, येन ग्राहकः निर्णयं कर्तुं शक्नोति यत् कश्चन विशेषः अनुरोधः किमर्थं विफलः अभवत् । यदि अनुरोधे बहुविधाः मापदण्डाः सन्ति तर्हि सर्वे मापदण्डाः सफलतया सेट् कर्तुं शक्यन्ते, सर्वरेण केवलं अस्मिन् अनुरोधे एव कार्यं कर्तव्यम् । सर्वरेण मापदण्डान् पुनः पुनः समानमूल्ये सेट् कर्तुं अनुमन्यते, परन्तु पैरामीटर् मूल्यं न परिवर्तयितुं । नोट्: SETUP आदेशस्य उपयोगेन मीडिया स्ट्रीमिंग् पैरामीटर्स् सेट् करणीयम् । अग्निप्रावरणानां कृते सेटअप स्थानान्तरणमापदण्डान् SETUP यावत् सीमितं कर्तुं लाभप्रदम् अस्ति ।

उपरि कुलम् ११ आरटीएसपी-विधयः प्रवर्तन्ते, येषु,SETUPPLAYTEARDOWN आरटीएसपी प्रक्रियायां त्रयः आदेशाः आवश्यकाः सन्ति, अन्ये पद्धतयः अपि आवश्यकाः न सन्ति ।तथाANNOUNCEGET_PARAMETERSET_PARAMETERत्रयः आदेशाः क्लायन्ट् तः सर्वरं प्रति अथवा सर्वरात् क्लायन्ट् प्रति प्रेषयितुं शक्यन्ते अन्ये आदेशाः क्लायन्ट् तः सर्वरं प्रति प्रेषिताः भवन्ति ।


अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

🎄三、RTSP 的 请求报文 与 响应报文

RTSP इत्यस्य सन्देशाः द्वौ प्रकारौ स्तः - अनुरोधसन्देशाः प्रतिक्रियासन्देशाः च । अनुरोधसन्देशः ग्राहकात् सर्वरं प्रति प्रेषितं अनुरोधसन्देशं निर्दिशति, प्रतिक्रियासन्देशः च सर्वरात् क्लायन्ट् प्रति प्रतिक्रियां निर्दिशति ।

✨3.1, RTSP अनुरोध सन्देश

RTSP अनुरोधसन्देशे त्रयः भागाः सन्ति: अनुरोधपङ्क्तिः, अनुरोधशीर्षकं, अनुरोधशरीरं च । तेषु अनुरोधरेखा आवश्यकी भवति, यदा तु अनुरोधशीर्षकं अनुरोधशरीरं च विशिष्टस्थित्यानुसारं वैकल्पिकं भवति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • अनुरोधपङ्क्तिः : अनुरोधपङ्क्तौ एकः विधिः, एकः अनुरोधः URI, तथा च प्रोटोकॉलसंस्करणं भवति यत् रिक्तस्थानैः पृथक्कृतं भवति तथा च CRLF (अर्थात्:rn)समापन।
    方法 : उपरि प्रवर्तिता आरटीएसपी पद्धतिः अस्ति। OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN इत्यादयः समाविष्टाः।
    请求URI: संचालितव्यं मीडियासंसाधनं चिनोति, प्रायः rtsp://example.com/path/to/stream इत्यस्य प्रारूपेण ।
    协议版本: RTSP प्रोटोकॉल संस्करणं सूचयति यत् अनुरोधः अनुसरति, प्रायःRTSP/1.0वाRTSP/2.0
    अत्र सम्पूर्णस्य अनुरोधपङ्क्तेः उदाहरणम् अस्ति :
    OPTIONS rtsp://192.168.3.225:554/wbc RTSP/1.0
    
  • अनुरोधशीर्षकम् : अनुरोधशीर्षके काश्चन अतिरिक्तसूचनाः सन्ति, यथा: CSeq (अनुरोधस्य पहिचानाय प्रयुक्ता अनुक्रमसङ्ख्या), सत्र-ID (सत्र-परिचयः), परिवहनं (परिवहन-प्रोटोकॉल) इत्यादयः प्रत्येकं शीर्षकक्षेत्रं क्षेत्रनाम, कोलन, क्षेत्रमूल्यं च भवति, प्रत्येकं शीर्षकक्षेत्रं CRLF द्वारा पृथक् भवति ।
    अत्र सम्पूर्णस्य अनुरोधशीर्षकस्य उदाहरणम् अस्ति :
    CSeq: 2
    User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
    
  • अनुरोधशरीरम् : अनुरोधशरीरस्य उपयोगः अतिरिक्तदत्तांशस्य प्रसारणार्थं भवति । अनुरोधशरीरस्य विशिष्टा सामग्री अनुरोधपङ्क्तौ प्रयुक्तायाः RTSP पद्धत्याः उपरि निर्भरं भवति । नोटः- अनुरोधशीर्षकस्य अनन्तरं अनुरोधशीर्षकस्य अनुरोधशरीरात् भेदं कर्तुं रिक्तरेखा (CRLF) सम्मिलितुं आवश्यकम् अस्ति । अधिकांशेषु अनुरोधसन्देशेषु अनुरोधशरीरं नास्ति ।

✨3.2, आरटीएसपी प्रतिक्रिया सन्देश

RTSP अनुरोधसन्देशे त्रयः भागाः सन्ति: स्थितिरेखा, प्रतिक्रियाशीर्षकं, प्रतिक्रियाशरीरं च । तेषु स्थितिरेखा आवश्यकी भवति, यदा तु प्रतिक्रियाशीर्षकं प्रतिक्रियाशरीरं च विशिष्टस्थित्यानुसारं वैकल्पिकं भवति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • स्थितिपङ्क्तिः : स्थितिपङ्क्तौ प्रोटोकॉलसंस्करणं, स्थितिसङ्केतः, स्थितिपाठः च भवति, यः रिक्तस्थानैः पृथक्कृतः CRLF (अर्थात्: "rn") द्वारा समाप्तः च भवति ।
    协议版本: RTSP प्रोटोकॉल संस्करणं सूचयति यस्य प्रतिक्रिया अनुवर्तते, प्रायः RTSP/1.0 अथवा RTSP/2.0 ।
    状态码 : त्रयः अङ्काः, यथा: २००, ४०१, ५०० इत्यादयः, अनुरोधस्य संसाधनफलं सूचयितुं प्रयुक्ताः । प्रथमः अङ्कः प्रतिक्रियावर्गस्य प्रतिनिधित्वं करोति: 2xx सफलतां सूचयति, 4xx क्लायन्ट् त्रुटिं सूचयति, 5xx च सर्वरदोषं सूचयति ।
    状态文本: तत्सम्बद्धस्य स्थितिसङ्केतस्य विशिष्टं अर्थं व्याख्याय संक्षिप्तं पाठवर्णनं, यथा: ठीकम्, अनधिकृतम् इत्यादयः।
    अत्र उदाहरणं प्रतिक्रियापङ्क्तिः अस्ति :
    RTSP/1.0 200 OK
    
  • प्रतिक्रियाशीर्षकम् : प्रतिक्रियाशीर्षके अनुरोधशीर्षकस्य सदृशी सूचना भवति, यथा: CSeq (अनुरोधस्य पहिचानाय प्रयुक्ता अनुक्रमसङ्ख्या), सत्र-ID (सत्र-परिचयः), परिवहनं (परिवहन-प्रोटोकॉल) इत्यादयः प्रत्येकस्य प्रतिक्रियाशीर्षकक्षेत्रस्य प्रारूपं अनुरोधशीर्षकक्षेत्रस्य समानं भवति, अतः वयम् अत्र विस्तरेण न गमिष्यामः ।
    CSeq: 2
    Date: Wed, Feb 04 1970 03:25:10 GMT
    Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
    
  • प्रतिक्रियाशरीरम् : केषुचित् RTSP प्रतिक्रियासु (यथा DESCRIBE) अतिरिक्तदत्तांशसञ्चारार्थं प्रतिक्रियाशरीरं भवितुं शक्नोति ।नोट्: प्रतिक्रियाशीर्षकस्य अनन्तरं, कृते रिक्तरेखा (CRLF) सम्मिलितुं आवश्यकम् अस्तिप्रतिक्रियाशीर्षकाणां प्रतिक्रियाशरीरस्य च भेदं कुर्वन्तु
    अधः सम्पूर्णप्रतिक्रियाशरीरस्य उदाहरणम् अस्ति ।
    v=0
    o=- 8913478 1 IN IP4 192.168.3.91
    s=LIVE555 Streaming Media v2016.07.19
    i=1080
    t=0 0
    a=tool:LIVE555 Streaming Media v2016.07.19
    a=type:broadcast
    a=control:*
    a=range:npt=0-
    a=x-qt-text-nam:LIVE555 Streaming Media v2016.07.19
    a=x-qt-text-inf:1080
    m=video 0 RTP/AVP 96
    c=IN IP4 0.0.0.0
    b=AS:5000
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=64002A;sprop-parameter-sets=Z2QAKq2EAQwgCGEAQwgCGEAQwgCEO1A8ARPyoA==,aO48sA==
    a=control:track1
    m=audio 0 RTP/AVP 97
    c=IN IP4 0.0.0.0
    b=AS:768
    a=rtpmap:97 PCMA/48000/2
    a=control:track2
    

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

🎄四、RTSP 报文的常用字段

RTSP सन्देशस्य प्रतिक्रियाशीर्षके केचन क्षेत्राणि सन्ति निम्नलिखितम् केचन सामान्यतया प्रयुक्तानि क्षेत्राणि सन्ति ।

  • स्वीकरोतु : क्लायन्ट् सर्वरं स्वीकुर्वितुं सूचयति इति सत्तादत्तांशसंरचनायाः प्रकारं निर्दिष्टुं प्रयुक्तम् । उदाहरणार्थं: Accept: application/sdp, ततः सर्वरः Content-Type क्षेत्रस्य माध्यमेन स्वस्य इकाईदत्तांशसंरचनाप्रकारं प्रत्यागच्छति;
  • Accept-Encoding: क्लायन्ट् द्वारा सर्वरं सूचयितुं उपयुज्यते यत् सः स्वीकुर्वितुं शक्नोति, उदाहरणार्थं: Accept-Encoding: gzip, compress, br ततः सर्वरः Content-Encoding क्षेत्रस्य माध्यमेन स्वस्य पसन्दस्य सूचनां करिष्यति .
  • Accept-Language: ग्राहकेन सर्वरं सूचयितुं प्रयुक्तं यत् सः अवगन्तुं शक्नोति ताः भाषाः तस्य स्वीकारं च, उदाहरणार्थं: Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q =0.7, * q=0.5, तदनन्तरं सर्वरः Content-Language क्षेत्रेण स्वस्य पसन्दस्य विषये क्लायन्ट् सूचयिष्यति
  • प्राधिकरणम् : क्लायन्ट् अनुरोधशीर्षके उपयोक्तृ-एजेण्ट् प्रमाणीकरणार्थं सर्वरेण उपयुज्यमानाः प्रमाणपत्राणि सन्ति ।
  • बैण्डविड्थ् : क्लायन्ट् कृते उपलब्धस्य बैण्डविड्थ् मूल्यस्य वर्णनार्थं उपयुज्यते । यथा - बैण्डविड्थः ४०००
  • ब्लॉक-आकारः : एतत् क्षेत्रं क्लायन्ट्-द्वारा सर्वरतः विशिष्टं मीडिया-पैकेट्-आकारं अनुरोधयितुं मीडिया-सर्वरं प्रति प्रेष्यते, सर्वरः अनुरोधितात् लघु-ब्लॉक-आकारस्य उपयोगाय स्वतन्त्रः अस्ति अस्मिन् पॅकेट् आकारे IP, UDP अथवा RTP इत्यादीनि निम्नस्तरीयाः शीर्षकाणि न समाविष्टानि सन्ति
  • CSeq : RTSP अनुरोधप्रतिसादस्य अनुक्रमसङ्ख्यां निर्दिशति प्रत्येकं RTSP अनुरोधं एकं अद्वितीयं CSeq मूल्यं भवितुमर्हति येन सर्वरः अनुरोधं सम्यक् चिन्तयित्वा संसाधितुं शक्नोति। एषा क्रमसङ्ख्या अनुरोधसन्देशैः सह वर्धिता भवति । सर्वर प्रतिक्रियायाः CSeq मूल्यं भवितुमर्हति यत् कस्य अनुरोधस्य प्रतिक्रियां दातव्या इति सूचयति ।
  • Cache-Control: निर्देशान् निर्दिश्य caching तन्त्रं कार्यान्वितं कुर्वन्तु ।कैशिंग् निर्देशाः एकदिशा भवन्ति, अर्थात् अनुरोधे सेट् निर्देशाः प्रतिक्रियायां अवश्यमेव न समाविष्टाः भवन्ति
  • सम्मेलनम् : सर्वरं सूचयन्तु यत् तस्यैव RTSP सत्रस्य सम्मेलन-ID परिवर्तनं न कर्तव्यम्
  • संयोजनम् : एतत् क्षेत्रं निर्धारयति यत् वर्तमानव्यवहारस्य समाप्तेः अनन्तरं संजालसंयोजनं बन्दं भविष्यति वा इति । यदि मूल्यं "keep-alive" अस्ति, तर्हि संजालसंयोजनं स्थायित्वं भवति, न च बन्दं भविष्यति, येन समानसर्वरस्य अनुरोधाः संयोजने अथवा Connection: close इत्यत्र निरन्तरं पूर्णाः भवितुम् अर्हन्ति
  • सामग्री-दीर्घता : एतत् क्षेत्रं RTSP प्रोटोकॉलस्य अन्तिमशीर्षकस्य अनुसरणं कृत्वा द्विगुणं CRLF इत्यस्य अनन्तरं सामग्रीदीर्घतां सूचयति ।यथा, सर्वर प्रतिक्रिया DESCRIBE इत्यस्मिन् sdp सूचनादीर्घतां निर्दिशन्तु
  • सामग्री-प्रकारः: ग्राहकं प्रति प्रत्यागतस्य वास्तविकसामग्रीप्रकारं वदति
  • दिनाङ्कः : सर्वरेण प्रतिक्रियां जनयति इति तिथिं समयं च प्रदाति, यत् क्लायन्ट् प्रतिक्रियायाः ताजगीं निर्धारयितुं वा समयसमन्वयनं कर्तुं वा सहायकं भवति । Date क्षेत्रस्य प्रारूपं RFC 1123 इत्यस्य अनुरूपं भवति, उदाहरणार्थं: Sat, 06 Apr 2024 11:15:00 GMT ।
  • उपयोक्ता-एजेण्ट्: एतत् क्षेत्रं संजालप्रोटोकॉलस्य समकक्षं अनुरोधं आरब्धस्य उपयोक्तृ-एजेण्ट्-सॉफ्टवेयरस्य अनुप्रयोगप्रकारं, प्रचालनतन्त्रं, सॉफ्टवेयरविकासकं, संस्करणसङ्ख्यां च चिन्तयितुं अनुमतिं दातुं उपयुज्यते
  • Expires: समाप्तिसमयं निर्दिशति
  • रङ्ग: समयपरिधिं निर्दिष्टुं उपयुज्यते, भवान् SMPTE, NTP अथवा घण्टासमय-एककस्य उपयोगं कर्तुं शक्नोति ।
  • सत्र :Session header क्षेत्रं RTSP सत्रं चिनोति । सत्र ID निर्धारितं भवति सर्वरेण inSETUPप्रतिक्रियायां चयनितं, एकवारं क्लायन्ट् सत्र-ID प्राप्तं करोति, तदा सत्रस्य कृते भविष्यत्-सञ्चालन-अनुरोध-सन्देशेषु सत्र-ID समाविष्टं करिष्यति उदाहरणार्थं: सत्रम्: 4581E0AE;
  • परिवहन : Transport header क्षेत्रे क्लायन्ट् कृते स्वीकार्यानां परिवहनविकल्पानां सूची भवति, यत्र परिवहनप्रोटोकॉल, पता पोर्ट्, TTL इत्यादयः सन्ति । सर्वरः अपि अस्य शीर्षकक्षेत्रस्य माध्यमेन वास्तवतः चयनितं विशिष्टं विकल्पं प्रत्यागच्छति । यथा: परिवहनम्: RTP/AVP/TCPunicast;गन्तव्यस्थानम्=192.168.31.222;स्रोतः=192.168.31.222;इण्टरलीव्ड्=0-1

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

🎄五、RTSP 流程抓包解析

RTSP स्ट्रीमिंग मीडिया इत्यस्य नेटवर्क् पैकेट् गृहीतुं wireshark इत्यस्य उपयोगं कुर्वन्तु भवान् द्रष्टुं शक्नोति यत् सामान्यप्रक्रिया निम्नलिखितरूपेण अस्ति ।
1. ग्राहकः प्रेषयतिOPTIONSविधिः, सर्वरः उत्तरम्;
2. ग्राहकः प्रेषयतिDESCRIBEविधिः, सर्वरः उत्तरम्;
3. ग्राहकः प्रेषयतिSETUPविधिः, सर्वरः उत्तरम्;
2. ग्राहकः प्रेषयतिPLAYविधिः, सर्वरः उत्तरम्;
2. ग्राहकः प्रेषयतिTEARDOWNविधिः, सर्वरः उत्तरम्;
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
सम्पूर्णं प्रवाहपैकेट् निम्नलिखितम् अस्ति ।

OPTIONS rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)

RTSP/1.0 200 OK
CSeq: 2
Date: Wed, Jul 03 2024 14:42:11 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER

DESCRIBE rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp

RTSP/1.0 200 OK
CSeq: 3
Date: Wed, Jul 03 2024 14:42:11 GMT
Content-Base: rtsp://192.168.3.225/wbc/
Content-Type: application/sdp
Content-Length: 472

v=0
o=- 1720014950032000 1 IN IP4 192.168.3.225
s=LIVE555 Streaming Media v2016.07.19
i=wbc
t=0 0
a=tool:LIVE555 Streaming Media v2016.07.19
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2016.07.19
a=x-qt-text-inf:wbc
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:5000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640029;sprop-parameter-sets=Z2QAKawsaoHgCJ WbgoCCgQ=,aO4xshs=
a=control:track1
SETUP rtsp://192.168.3.225/wbc/track1 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=55320-55321

RTSP/1.0 200 OK
CSeq: 4
Date: Wed, Jul 03 2024 14:42:11 GMT
Transport: RTP/AVP;unicast;destination=192.168.2.180;source=192.168.3.225;client_port=55320-55321;server_port=6970-6971
Session: 4581E0AE;timeout=65

PLAY rtsp://192.168.3.225/wbc/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Session: 4581E0AE
Range: npt=0.000-

RTSP/1.0 200 OK
CSeq: 5
Date: Wed, Jul 03 2024 14:42:11 GMT
Range: npt=0.000-
Session: 4581E0AE
RTP-Info: url=rtsp://192.168.3.225/wbc/track1;seq=7880;rtptime=3548171463

TEARDOWN rtsp://192.168.3.225/wbc/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Session: 4581E0AE

RTSP/1.0 200 OK
CSeq: 6
Date: Wed, Jul 03 2024 14:42:19 GMT

निम्नलिखितम् पूर्वसन्देशे प्रयुक्तं प्रत्येकं RTSP पद्धतिं प्रतिक्रियां च विश्लेषयिष्यति।

✨5.1, OPTION विधि

सर्वरतः उपलब्धानि पद्धतीनि प्राप्नुवन्तु:
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
क्लायन्ट् OPTIONS मेथड् प्रेषयति, उपयुङ्क्ते चCSeq अनुरोधक्रमसङ्ख्यां निर्दिष्टुं, उपयोगं कुर्वन्तुUser-Agent स्वस्य कारकं परिचययतु;
सर्वरः उपयोगेन अनुरोधस्य प्रतिक्रियां दास्यतिCSeq कस्य अनुरोधस्य प्रतिक्रिया क्रियते इति सूचयितुं, उपयोगं कुर्वन्तुDateतिथिं निर्दिशन्तु, २.Publicप्रदत्तं विधिं निर्दिशति ।


✨5.2, DESCRIBE विधि

सर्वरतः प्राप्नुतrtsp://192.168.3.225:554/wbcमाध्यमवस्तुनः वर्णनं, यत्रAcceptक्षेत्रं वर्णनस्वरूपं निर्दिशति :

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
क्लायन्ट् DESCRIBE मेथड् प्रेषयति, उपयुङ्क्ते चCSeq अनुरोधक्रमसङ्ख्यां निर्दिष्टुं, उपयोगं कुर्वन्तुUser-Agent स्वस्य एजेण्टस्य परिचयं कुरुत, .Acceptक्षेत्रं वर्णनस्वरूपं SDP इति निर्दिशति;

सर्वरः अस्य अनुरोधस्य प्रतिक्रियाम् उपयुज्यते CSeq कस्य अनुरोधस्य प्रतिक्रिया क्रियते इति सूचयितुं, उपयोगं कुर्वन्तुDateतिथिं निर्दिशन्तु, २.Content-Typeसामग्रीप्रकारः SDP इति सूचयति, .Content-Lengthसामग्रीदीर्घतां निर्दिशन्तु।

सूचना
1. केषाञ्चन कृते येषां कृते उपयोक्तृनाम गुप्तशब्दं च आवश्यकं भवति, सर्वरः प्रमाणीकरणार्थं DESCRIBE पद्धतिं संसाधयिष्यति । यदि प्राधिकरणप्रमाणीकरणसूचना न वहति, अथवा प्रमाणीकरणं विफलं भवति, तर्हि सर्वरः त्रुटिसङ्ख्या 401 इत्यनेन सह प्रतिक्रियां प्रत्यागमिष्यति यदा क्लायन्ट् 401 प्रतिक्रियां प्राप्नोति तदा ज्ञातस्य उपयोक्तृप्रमाणीकरणसूचनायाः आधारेण प्राधिकरणं जनयितुं पुनः वर्णनं प्रेषयितुं च आवश्यकता भवति यदि प्रमाणीकरणं सफलं भवति, , तर्हि सर्वरः SDP वहन्तः प्रतिक्रियासूचनाः प्रत्यागच्छति ।
2. सर्वरेण प्रत्यागतानां SDP सूचनानां विश्लेषणं पश्चात् लेखे भविष्यति।


✨5.3, SETUP विधि

क्लायन्ट् सर्वरं सत्रं स्थापयित्वा संचरणस्य सज्जतां कर्तुं अनुरोधं करोति । अनुरोधसूचनायां मुख्यतया संचरणप्रोटोकॉलः ग्राहकस्य पोर्टसङ्ख्या च अन्तर्भवति;

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
क्लायन्ट् SETUP मेथड् प्रेषयति, उपयुङ्क्ते चCSeq अनुरोधक्रमसङ्ख्यां निर्दिष्टुं, उपयोगं कुर्वन्तुUser-Agent स्वस्य एजेण्टस्य परिचयं कुरुत, .Transportक्षेत्रं स्वीकार्यं संचरणप्रोटोकॉल RTP/AVP तथा पोर्ट् निर्दिशति (अत्र RTP पोर्ट् 55320 तथा RTCP पोर्ट् 55321 अस्ति);

सर्वरः अस्य अनुरोधस्य प्रतिक्रियाम् उपयुज्यते CSeq कस्य अनुरोधस्य प्रतिक्रिया क्रियते इति सूचयितुं, उपयोगं कुर्वन्तुDateतिथिं निर्दिशन्तु, २.Transportपरिवहनप्रोटोकॉल RTP/AVP, गन्तव्यपता, स्रोतपता, क्लायन्ट् पोर्ट् (RTP 55320, RTCP 55321), सर्वर पोर्ट (RTP 6970, RTCP 6971),Sessionसत्र ID निर्दिशन्तु।

सूचना
अस्मिन् उदाहरणे RTP UDP प्रोटोकॉलद्वारा प्रसारितं भवति कदाचित्, RTP TCP मार्गेण प्रसारितं भविष्यति, ततःTransport क्षेत्राणि भिन्नानि भविष्यन्ति। यथा स्यात्- १.

客户端请求:Transport: RTP/AVP/TCP;unicast;interleaved=0-1
服务器响应:Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=24e4e500;mode="play"

RTP/AVP/TCPRTP धारा TCP मार्गेण प्रसारिता इति सूचयति यदा एतत् मूल्यं दृश्यते तदा सन्देशे client_port क्षेत्रं नास्ति;
interleaved=0-1streamid इत्यस्य प्रतिनिधित्वं करोति, RTP streamid=0 इत्यस्य पहिचानं करोति;
यदा कोडधारा TCP मार्गेण प्रसारिता भवति तदा RTSP इत्यनेन सह TCP लिङ्क् साझां करोति, अतः RTP, RTCP, RTSP प्रोटोकॉलयोः भेदं कर्तुं The TCPHEAD इत्येतत् योजयितुं आवश्यकता नास्ति अत्र header field इत्यस्य उपयोगः भवति, तथा च tcphead इति चत्वारि शब्दाः विभागाः सन्ति, प्रारूपं निम्नलिखितम् अस्ति ।

| magic number | channel number | embedded data length | data |

magic number: १ बाइट्, नियतम्0x24, इति वर्णः$, प्रसारितः दत्तांशः rtsp प्रोटोकॉलः नास्ति इति सूचयति;
channel number: 1 बाइट्, चैनल-ID, धारा-प्रकारस्य परिचयः, यः पूर्वं उल्लिखितः स्ट्रीमिड् अस्ति;
embedded data length : २ बाइट्, धारादीर्घतां सूचयति
data: RTP/RTCP पैकेटदत्तांशं सूचयति


✨5.4, PLAY विधि

क्लायन्ट् सक्रियरूपेण सर्वरं SETUP द्वारा निर्दिष्टस्य तन्त्रस्य उपयोगेन आँकडानां प्रेषणं आरभ्यतुं सूचयति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
क्लायन्ट् PLAY मेथड् प्रेषयति, उपयुङ्क्ते चCSeq अनुरोधक्रमसङ्ख्यां निर्दिष्टुं, उपयोगं कुर्वन्तुUser-Agent स्वस्य एजेण्टस्य परिचयं कुरुत, .Sessionक्षेत्रं सत्र ID निर्दिशति, .Rangeक्षेत्रं प्लेबैकस्य आरम्भसमयं समाप्तिसमयं च निर्दिशति ।

सर्वरः अस्य अनुरोधस्य प्रतिक्रियाम् उपयुज्यते CSeq कस्य अनुरोधस्य प्रतिक्रिया क्रियते इति सूचयन्तु;Dateतिथिं निर्दिशतु;Rangeक्षेत्रं प्लेबैकस्य आरम्भसमयं समाप्तिसमयं च निर्दिशति;Sessionक्षेत्रं सत्र-ID निर्दिशति;RTP-Infoक्षेत्रं प्रेषितव्यस्य कोडधारायाः RTP सूचनां वर्णयति, यथा प्रथमस्य RTP पैकेटस्य seq तथा rtptime क्लायन्ट् अस्य क्षेत्रस्य आधारेण demultiplex कर्तुं शक्नोति ।


✨5.5, TEARDOWN विधि

क्लायन्ट् निर्दिष्टं URL धारा प्रेषणं त्यक्त्वा सम्बद्धं संसाधनं विमोचयितुं अनुरोधं करोति ।
अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
क्लायन्ट् TEARDOWN इति पद्धतिं प्रेषयति, उपयुङ्क्ते चCSeq अनुरोधक्रमसङ्ख्यां निर्दिष्टुं, उपयोगं कुर्वन्तुUser-Agent स्वस्य एजेण्टस्य परिचयं कुरुत, .Sessionक्षेत्रं सत्र-ID निर्दिशति ।

सर्वरः अस्य अनुरोधस्य प्रतिक्रियाम् उपयुज्यते CSeq कस्य अनुरोधस्य प्रतिक्रिया क्रियते इति सूचयन्तु;Dateतिथिं निर्दिशतु।


अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

🎄六、RTSP 响应错误码

RTSP इत्यस्य प्रतिक्रियासामग्रीयां प्रायः 3-अङ्कीयः पूर्णाङ्कप्रतिसादसङ्केतः कारणवाक्यं च भवति । प्रतिक्रियासङ्केतस्य प्रथमाङ्कस्य अन्तरानुसारं निम्नलिखितपञ्चवर्गेषु विभक्तुं शक्यते ।

  • 1xx: युक्तिः - अनुरोधः प्राप्तः अस्ति, प्रक्रिया क्रियते च
  • 2xx: सफलता - अनुरोधः सफलतया संसाधितः अस्ति
  • 3xx: पुनर्निर्देशनं - अनुरोधं पूर्णं कर्तुं अग्रे कार्यवाही करणीयम्
  • 4xx: क्लायन्ट् त्रुटिः - अनुरोधे अशुद्धाः मापदण्डाः अथवा वाक्यविन्यासः आसीत् तथा च अनुरोधः पूर्णः न अभवत् ।
  • 5xx: सर्वर त्रुटिः - सर्वरः क्लायन्ट् इत्यस्य सम्यक् अनुरोधं पूरयितुं असमर्थः आसीत्

अवश्यं, RTSP त्रुटिसङ्केताः RTSP पद्धतयः च दृढतया सम्बद्धाः सन्ति ।

त्रुटिसङ्केतःकारण वाक्यम्प्रतिक्रियाविधिः
100अनुवर्ततेसर्वे
200सफलतासर्वे
201निर्मितम्अभिलेख
250भण्डारणस्थानस्य न्यूनताअभिलेख
300बहुविधविकल्पाःसर्वे
301स्थायी रूप से स्थानांतरितसर्वे
302अस्थायी रूप से स्थानांतरितसर्वे
303अन्ये द्रष्टव्यम्सर्वे
305प्रॉक्सी इत्यस्य उपयोगं कुर्वन्तुसर्वे
400दुष्टानुरोधःसर्वे
401अनधिकृतःसर्वे
402भुगतानम् आवश्यकम्सर्वे
403प्रतिबंधितसर्वे
404न लभ्यतेसर्वे
405विधिः अनुमतः नास्तिसर्वे
406न ग्राह्यम्सर्वे
407प्रॉक्सी प्रमाणीकरणम् आवश्यकम्सर्वे
408अनुरोधः समयसमाप्तिःसर्वे
410गतःसर्वे
411लम्बता आवश्यकीसर्वे
412पूर्वशर्तः विफलः DESCRIBEस्थापयति
413अनुरोध संस्था Too Largसर्वे
414अनुरोध-URI अतीव दीर्घम्सर्वे
415असमर्थितः मीडिया प्रकारःसर्वे
451अमान्य पैरामीटर्स्थापयति
452अवैध सम्मेलन पहचानकर्तास्थापयति
453न पर्याप्तं बैण्डविड्थःस्थापयति
454सत्रं न लब्धम्सर्वे
455विधि अस्मिन् राज्ये वैधः नास्तिसर्वे
456शीर्षकक्षेत्रं वैधं नास्तिसर्वे
457अमान्य श्रेणीक्रीडतु
458पैरामीटर् केवलं पठनीयम् अस्तिसेट्_पैरामीटर्
459समुच्चयसञ्चालनस्य अनुमतिः नास्तिसर्वे
460केवलं समुच्चयसञ्चालनस्य अनुमतिः अस्तिसर्वे
461असमर्थित परिवहनसर्वे
462गन्तव्यं अप्राप्यम्सर्वे
500आन्तरिकसर्वरदोषःसर्वे
501न कार्यान्वितम्सर्वे
502दुष्टद्वारम्सर्वे
503सेवा अनुपलब्धसर्वे
504गेटवे टाइमआउटसर्वे
505RTSP संस्करणं समर्थितम् नास्तिसर्वे
551विकल्पः समर्थनं नसर्वे

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

refer to : १.
वास्तविकसमयप्रवाहप्रोटोकॉल—RTSP [विस्तृतव्याख्यानम्] ।
आरटीएसपी अनुरोधाः प्रतिक्रियाश्च आद्यतः एव मास्टर 1
RTSP स्ट्रीमिंग मीडिया प्रोटोकॉलस्य विस्तृतव्याख्यानम्