国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【音視頻開發(fā)】:RTSP服務(wù)器協(xié)議內(nèi)容

這篇具有很好參考價值的文章主要介紹了【音視頻開發(fā)】:RTSP服務(wù)器協(xié)議內(nèi)容。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、什么是RTSP協(xié)議

RTSP是一個實(shí)時傳輸流協(xié)議,是一個應(yīng)用層的協(xié)議。通常說的RTSP包括RTSP協(xié)議、RTP協(xié)議、RTCP協(xié)議。

  • RTSP協(xié)議:負(fù)責(zé)服務(wù)器與客戶端之間的請求與相應(yīng)
  • RTP協(xié)議 :負(fù)責(zé)服務(wù)器與客戶端之間傳輸媒體數(shù)據(jù)
  • RTCP協(xié)議:負(fù)責(zé)提供有關(guān)RTP傳輸指令的反饋,就是確保RTP傳輸?shù)馁|(zhì)量

    三者關(guān)系:RTSP并不會發(fā)送媒體數(shù)據(jù),只是完成服務(wù)器和客戶端之間的交互。
    RTP協(xié)議負(fù)責(zé)媒體數(shù)據(jù)傳輸,RTCP負(fù)責(zé)RTP數(shù)據(jù)包的監(jiān)視和反饋。RTP和RTCP并沒有規(guī)定傳輸層的類型,可以選擇UDP或者TCP。RTSP的傳輸層則是TCP。

二、協(xié)議分析

RTSP常用的方法包括:OPTIONS、DESCRIBE、ANNOUNCE、SETUP、TEARDOWN、PLAY、PAUSE、GET_PARAMETER和SET_PARAMETER等。

方法 方向 是否必須 含義
OPTIONS C->S 查詢服務(wù)器支持的方法和協(xié)議選項(xiàng),幫助客戶端了解服務(wù)器的能力和限制,以便進(jìn)行后續(xù)的實(shí)時流傳輸控制。
DESCRIBE C->S 客戶端可以獲取到媒體流的詳細(xì)信息,例如媒體類型、編解碼格式、傳輸協(xié)議等,以便為后續(xù)的播放或者錄制操作做準(zhǔn)備。
SETUP C->S 用于建立媒體傳輸?shù)耐ǖ???蛻舳撕头?wù)器可以就媒體流的傳輸進(jìn)行協(xié)商,并最終確定有效的傳輸通道,為后續(xù)的播放或者錄制操作做準(zhǔn)備。
PLAY C->S 客戶端告知服務(wù)器可以開始傳輸媒體流數(shù)據(jù),服務(wù)器收到PLAY請求后即可開始向客戶端發(fā)送實(shí)時的媒體流數(shù)據(jù),實(shí)現(xiàn)實(shí)時的音視頻播放。當(dāng)多個PLAY請求到達(dá)時,服務(wù)器會將PLAY請求排成隊(duì)列,順序執(zhí)行,即必須等待第一個PLAY的時間完成后,才會繼續(xù)處理第二個PLAY消息。
。。。 。。。 。。。 。。。

簡單的RTSP交互過程:

C表示RTSP客戶端,S表示RTSP服務(wù)端
1.C->S:OPTIONS request //詢問S有哪些方法可用
1.S->C:OPTIONS response //S回應(yīng)信息中包括提供的所有可用方法

2.C->S:DESCRIBE request //要求得到S提供的媒體初始化描述信息
2.S->C:DESCRIBE response //S回應(yīng)媒體初始化描述信息,主要是sdp

3.C->S:SETUP request //設(shè)置會話的屬性,以及傳輸模式,提醒S建立會話
3.S->C:SETUP response //S建立會話,返回會話標(biāo)識符,以及會話相關(guān)信息

4.C->S:PLAY request //C請求播放
4.S->C:PLAY response //S回應(yīng)該請求的信息

S->C:發(fā)送流媒體數(shù)據(jù)
5.C->S:TEARDOWN request //C請求關(guān)閉會話
5.S->C:TEARDOWN response //S回應(yīng)該請求

【音視頻開發(fā)】:RTSP服務(wù)器協(xié)議內(nèi)容,音視頻開發(fā),音視頻,服務(wù)器,運(yùn)維文章來源地址http://www.zghlxwxcb.cn/news/detail-858592.html

連接信息交流過程(rbuf為客戶端發(fā)送信息 , sbuf為服務(wù)器發(fā)送信息)

accept client;client ip : xxx.xxx.xxx.xxx,client port:62922
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
doClient rBuf = OPTIONS rtsp://xxx.xxx.xxx.xxx:8554 RTSP/1.0
CSeq: 1
User-Agent: Lavf60.13.100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
doClient sBuf = RTSP/1.0 200 OK
CSeq: 0
Public: OPTIONS, DESCRIBE, SETUP, PLAY
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
doClient rBuf = DESCRIBE rtsp://xxx.xxx.xxx.xxx:8554 RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: Lavf60.13.100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
doClient sBuf = RTSP/1.0 200 OK
CSeq: 0
Content-Base: rtsp://xxx.xxx.xxx.xxx:8554
Content-type: application/sdp
Content-length: 128
v=0
o=- 91710247606 1 IN IP4 xxx.xxx.xxx.xxx
t=0 0
a=control:*
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=control:track0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
doClient rBuf = SETUP rtsp://xxx.xxx.xxx.xxx:8554/track0 RTSP/1.0
Transport: RTP/AVP/UDP;unicast;client_port=10150-10151
CSeq: 3
User-Agent: Lavf60.13.100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
doClient sBuf = RTSP/1.0 200 OK
CSeq: 0
Transport: RTP/AVP;unicast;client_port=10150-10151;server_port=55532-55533
Session: 66334873
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
doClient rBuf = PLAY rtsp://xxx.xxx.xxx.xxx:8554 RTSP/1.0
Range: npt=0.000-
CSeq: 4
User-Agent: Lavf60.13.100
Session: 66334873
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
doClient sBuf = RTSP/1.0 200 OK
CSeq: 0
Range: npt=0.000-
Session: 66334873; timeout=10
start play
client ip:xxx.xxx.xxx.xxx
client port:10150

三、RTPHeader分析


  *    0                   1                   2                   3
  *    7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0
  *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  *   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
  *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  *   |                           timestamp                           |
  *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  *   |           synchronization source (SSRC) identifier            |
  *   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
  *   |            contributing source (CSRC) identifiers             |
  *   :                             ....                              :
  *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
struct RtpHeader
{
    /* byte 0 */
    uint8_t csrcLen : 4;//CSRC計(jì)數(shù)器,占4位,指示CSRC 標(biāo)識符的個數(shù)。(多路流匯成一路流時會用到)
    uint8_t extension : 1;//占1位,如果X=1,則在RTP報(bào)頭后跟有一個擴(kuò)展報(bào)頭。
    uint8_t padding : 1;//填充標(biāo)志,占1位,如果P=1,則在該報(bào)文的尾部填充一個或多個額外的八位組,它們不是有效載荷的一部分。
    uint8_t version : 2;//RTP協(xié)議的版本號,占2位,當(dāng)前協(xié)議版本號為2。

    /* byte 1 */
    uint8_t payloadType : 7;//有效載荷類型,占7位,用于說明RTP報(bào)文中有效載荷的類型,如GSM音頻、JPEM圖像等。
    uint8_t marker : 1;//標(biāo)記,占1位,不同的有效載荷有不同的含義,對于視頻,標(biāo)記一幀的結(jié)束;對于音頻,標(biāo)記會話的開始。

    /* bytes 2,3 */
    uint16_t seq;//占16位,用于標(biāo)識發(fā)送者所發(fā)送的RTP報(bào)文的序列號,每發(fā)送一個報(bào)文,序列號增1。接收者通過序列號來檢測報(bào)文丟失情況,重新排序報(bào)文,恢復(fù)數(shù)據(jù)。

    /* bytes 4-7 */
    uint32_t timestamp;//占32位,時戳反映了該RTP報(bào)文的第一個八位組的采樣時刻。接收者使用時戳來計(jì)算延遲和延遲抖動,并進(jìn)行同步控制。

    /* bytes 8-11 */
    uint32_t ssrc;//占32位,用于標(biāo)識同步信源。該標(biāo)識符是隨機(jī)選擇的,參加同一視頻會議的兩個同步信源不能有相同的SSRC。

   /*標(biāo)準(zhǔn)的RTP Header 還可能存在 0-15個特約信源(CSRC)標(biāo)識符
   
   每個CSRC標(biāo)識符占32位,可以有0~15個。每個CSRC標(biāo)識了包含在該RTP報(bào)文有效載荷中的所有特約信源

   */
};

到了這里,關(guān)于【音視頻開發(fā)】:RTSP服務(wù)器協(xié)議內(nèi)容的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【配置環(huán)境】安裝Ffmpeg音視頻編解碼工具和搭建EasyDarwin開源流媒體服務(wù)器

    【配置環(huán)境】安裝Ffmpeg音視頻編解碼工具和搭建EasyDarwin開源流媒體服務(wù)器

    目錄 一,安裝Ffmpeg音視頻編解碼工具 1,簡介 2,開發(fā)文檔 3,安裝部署 二,搭建EasyDarwin開源流媒體服務(wù)器 1,簡介 2,主要功能特點(diǎn) 3,安裝部署 4,效果圖 三,簡單測試 Ffmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許

    2024年02月07日
    瀏覽(122)
  • 【音視頻】如何播放rtsp視頻流

    【音視頻】如何播放rtsp視頻流

    現(xiàn)階段直播越來越流行,直播技術(shù)發(fā)展也越來越快。Webrtc和rtsp是比較火熱的技術(shù),而且應(yīng)用也比較廣泛。本文通過實(shí)踐來展開介紹關(guān)于rtsp、webrtc的使用過程。 本文重點(diǎn)介紹如何播放rtsp視頻流,通過ffplay方式以及VLC media player的方式來播放 可以參考上一篇博文:【音視頻】基于

    2024年01月19日
    瀏覽(104)
  • 音視頻學(xué)習(xí)(二十)——rtsp收流(udp方式)

    音視頻學(xué)習(xí)(二十)——rtsp收流(udp方式)

    本文主要介紹通過udp方式實(shí)現(xiàn)rtsp拉流。 流程說明: 相較于tcp方式“信令+數(shù)據(jù)”復(fù)用同一連接拉流,udp方式拉流“信令+數(shù)據(jù)”采用不同的連接,信令傳輸采用tcp,流數(shù)據(jù)傳輸采用udp; 客戶端向服務(wù)端(設(shè)備等)發(fā)起tcp請求,用于后續(xù)信令交互; tcp連接成功后,開始rtsp信令

    2024年02月04日
    瀏覽(26)
  • 微信小程序 - 超詳細(xì) “純前端“ 將文件上傳到阿里云 OSS,最新阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無需后端,前端文件直傳阿里云oss服務(wù)器)

    微信小程序 - 超詳細(xì) “純前端“ 將文件上傳到阿里云 OSS,最新阿里云 OSS 直傳音視頻、圖片、word、excel、ppt、office 文檔(全程無需后端,前端文件直傳阿里云oss服務(wù)器)

    網(wǎng)上的教程亂七八糟卻文件少代碼(并且沒注釋),而且都已經(jīng)很老了,對于新手來說真的無從下手。 本文站在新手小白的角度, 實(shí)現(xiàn)微信小程序開發(fā)中,“前端直傳” 上傳文件到阿里云oss對象存儲的詳細(xì)教程, 無需后端 (純前端自己完成所有簽名、上傳),保證 100% 成

    2024年02月13日
    瀏覽(120)
  • 【音視頻】基于webrtc協(xié)議瀏覽器播放rtsp

    【音視頻】基于webrtc協(xié)議瀏覽器播放rtsp

    現(xiàn)階段直播越來越流行,直播技術(shù)發(fā)展也越來越快。Webrtc和rtsp是比較火熱的技術(shù),而且應(yīng)用也比較廣泛。本文通過實(shí)踐來展開介紹關(guān)于rtsp、webrtc的使用過程。 本文是基于ffmpeg技術(shù)將mp4轉(zhuǎn)換為rtsp視頻流,并且將流推送到流媒體服務(wù)器(EasyDarwin)上,而后采用了webrtc-streamer對

    2024年01月19日
    瀏覽(29)
  • ffmpeg把RTSP流分段錄制成MP4,如果能把ffmpeg.exe改成ffmpeg.dll用,那音視頻開發(fā)的難度直接就降一個維度啊

    ffmpeg把RTSP流分段錄制成MP4,如果能把ffmpeg.exe改成ffmpeg.dll用,那音視頻開發(fā)的難度直接就降一個維度啊

    比如,原來我們要用ffmpeg錄一段RTSP視頻流轉(zhuǎn)成MP4,我們有兩種方案: 方案一:可以使用以下命令將rtsp流分段存儲為mp4文件 ffmpeg -i rtsp://example.com/stream -vcodec copy -acodec aac -f segment -segment_time 3600 -reset_timestamps 1 -strftime 1 output_%Y-%m-%d_%H-%M-%S.mp4 方案二:可以直接調(diào)用ffmpeg庫avcode

    2024年02月10日
    瀏覽(36)
  • 音視頻rtsp rtmp gb28181在瀏覽器上的按需拉流

    音視頻rtsp rtmp gb28181在瀏覽器上的按需拉流

    按需拉流是從客戶視角來看待音視頻的產(chǎn)品功能,直觀,好用,為啥hls flv大行其道也是這個原因,不過上述存在的問題是延遲沒法降到實(shí)時毫秒級延遲,也不能隨心所欲的控制。通過一段時間的努力,結(jié)合自己閉環(huán)技術(shù)棧,實(shí)現(xiàn)了h264 h265 aac pcma pcmu等音視頻的rtmp rtsp gb28181地

    2024年02月06日
    瀏覽(20)
  • Android平臺一對一音視頻通話方案對比:WebRTC VS RTMP VS RTSP

    Android平臺一對一音視頻通話方案對比:WebRTC VS RTMP VS RTSP

    一對一音視頻通話使用場景 一對一音視頻通話都需要穩(wěn)定、清晰和流暢,以確保良好的用戶體驗(yàn),常用的使用場景如下: 社交應(yīng)用 :社交應(yīng)用是一種常見的使用場景,用戶可以通過音視頻通話進(jìn)行面對面的交流; 在線教育: 老師和學(xué)生可以通過音視頻通話功能進(jìn)行實(shí)時互

    2024年02月13日
    瀏覽(24)
  • Qt/C++音視頻開發(fā)51-推流到各種流媒體服務(wù)程序

    Qt/C++音視頻開發(fā)51-推流到各種流媒體服務(wù)程序

    最近將推流程序完善了很多功能,尤其是增加了對多種流媒體服務(wù)程序的支持,目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等,其中經(jīng)過大量的對比測試,個人比較建議使用mediamtx和ZLMediaKit,因?yàn)檫@兩者支持的格式眾多,不僅同時支持rtsp/rtmp推流,

    2024年02月09日
    瀏覽(28)
  • 【音視頻處理】RTMP、HLS、HTTP-FLV、WebRTC、RTSP的區(qū)別?直播協(xié)議詳解

    【音視頻處理】RTMP、HLS、HTTP-FLV、WebRTC、RTSP的區(qū)別?直播協(xié)議詳解

    ? 大家好,歡迎來到停止重構(gòu)的頻道。 本期我們詳細(xì)討論 直播的相關(guān)協(xié)議 ,包括:HTTP-FLV、HLS、RTMP、Web-RTC、RTSP等等。 我們將會詳細(xì)介紹這些協(xié)議的工作原理、應(yīng)用場景、及延遲的原因。 我們按這樣的順序討論? 1、??RTMP、HTTP-FLV? 2、??HLS? 3、??Web-RTC? 4、??RTSP? RTM

    2024年02月02日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包