日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【转载】 了解实时媒体的播放(RTP/RTCP 和 RTSP)

發布時間:2025/5/22 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】 了解实时媒体的播放(RTP/RTCP 和 RTSP) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.net/span76/article/details/12913307

?

離線媒體只是用 Http協議去讀取服務器端文件而已,而對于實時直播如何實現,?這里就要用到 RTP/RTCP協議了

RTP/RTCP

RTP是基于 UDP協議的, UDP不用建立連接,效率更高;但允許丟包, 這就要求在重新組裝媒體的時候多做些工作

RTP只是包裹內容信息,而RTCP是交換控制信息的,Qos是通過RTCP實現的

RTP中一個重要的概念是 session, 對于一個 audio stream 可以是一個session 但可以有多個 contributor, 也可以有多個監聽者, 比如網絡電話

?

做實時視頻流,先用采集設備,直接把視頻做成 H.264 的 NALu,而后通過 RTP打包,傳輸給客戶端

有一篇文就是介紹如何把 NALu 用RTP打包的

http://www.rosoo.net/a/201108/14896.html

?

?

?

RTSP

但還缺少一個環節, 應用程序對應的是 play, seek, pause, stop, 如何把應用指令和 RTP的傳輸結合起來.

RTSP正是為了解決這個問題產生的

RTSP是應用層的協議和 HTTP協議很相似,客戶端和服務器通過傳遞文本,通知如何進行 RTP/RTCP信息的交互

從圖中,我們可以看到 RTSP也可以不用 RTP, 而用TCP來實現流媒體傳遞

RTSP的 client 連接 server 多通過 SDP(會話描述協議)傳遞信息

?

[html]?view plaincopy
  • C?->?S?:???
  • ????????DESCRIBE?rtsp://server.example.com/fizzle/foo?RTSP/1.0?312???
  • ????????Accept:?application/sdp,?application/rtsl,?application/mheg??
  • ??
  • S?->?C?:???
  • ????????RTSP/1.0?200?312?OK???
  • ????????Date:?23?Jan?1997?15:35:06?GMT???
  • ????????Content-Type:?application/sdp???
  • ????????Content-Length:?376??
  • ??
  • ????????v=0???
  • ????????o=mhandley?2890844526?2890842807?IN?IP4?126.16.64.4???
  • ????????s=SDP?Seminar???
  • ????????i=A?Seminar?on?the?session?description?protocol???
  • ????????u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps???
  • ????????e=mjh@isi.edu?(Mark?Handley)???
  • ????????c=IN?IP4?224.2.17.12/127???
  • ????????t=2873397496?28973404696???
  • ????????a=recvonly???
  • ????????m=audio?3456?RTP/AVP?0???
  • ????????m=video?2232?RTP/AVP?31???
  • ????????m=whiteboard?32416?UDP?WB???
  • ????????a=orient:portrait??


  • ?

    ? ?Session description
    ????????? v=?? (protocol version)
    ????????? o=?? (owner/creator and session identifier)
    ????????? s=?? (session name)
    ????????? i=* (session information)
    ????????? u=* (URI of description)
    ????????? e=* (email address)
    ????????? p=* (phone number)
    ????????? c=* (connection information - not required if included in all media)
    ????????? b=* (zero or more bandwidth information lines)
    ????????? One or more time descriptions ("t=" and "r=" lines, see below)
    ????????? z=* (time zone adjustments)
    ????????? k=* (encryption key)
    ????????? a=* (zero or more session attribute lines)
    ????????? Zero or more media descriptions
    通過這些信息,client 就可以連接正確的 RTP session

    關于RTMP和RTSP的區別

    RTMP: RTM(Messaging)P 是?Adobe公司自己的規范,為Flash播放器和服務器之間音頻、視頻和數據傳輸開發的私有協議。

    ?

    轉載于:https://www.cnblogs.com/littleKing163/p/4823074.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的【转载】 了解实时媒体的播放(RTP/RTCP 和 RTSP)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。