瞭解實時媒體的播放(RTP/RTCP 和 RTSP)
離線媒體只是用 Http協議去讀取伺服器端檔案而已,而對於實時直播如何實現, 這裡就要用到 RTP/RTCP協議了
RTP/RTCP
RTP是基於 UDP協議的, UDP不用建立連線,效率更高;但允許丟包, 這就要求在重新組裝媒體的時候多做些工作
RTP只是包裹內容資訊,而RTCP是交換控制資訊的,Qos是通過RTCP實現的
RTP中一個重要的概念是 session, 對於一個 audio stream 可以是一個session 但可以有多個 contributor, 也可以有多個監聽者, 比如網路電話
做實時視訊流,先用採集裝置,直接把視訊做成 H.264 的 NALu,而後通過 RTP打包,傳輸給客戶端
有一篇文就是介紹如何把 NALu 用RTP打包的
RTSP
但還缺少一個環節, 應用程式對應的是 play, seek, pause, stop, 如何把應用指令和 RTP的傳輸結合起來.
RTSP正是為了解決這個問題產生的
RTSP是應用層的協議和 HTTP協議很相似,客戶端和伺服器通過傳遞文字,通知如何進行 RTP/RTCP資訊的互動
從圖中,我們可以看到 RTSP也可以不用 RTP, 而用TCP來實現流媒體傳遞
RTSP的 client 連線 server 多通過 SDP(會話描述協議)傳遞資訊
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
[email protected] (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播放器和伺服器之間音訊、視訊和資料傳輸開發的私有協議。
看下面評論
They are both protocols for Streaming Media
and on a high level achieve the same thing - Specify a standard to stream media. Although RTMP was developed and owned by Adobe before being made public , whereas RTSP was a public standard from the beginning. Since RTMP is mostly used by Flash player。
對於 Android這個開源專案,其 media player 一定是使用 public 的 RTSP
相關推薦
瞭解實時媒體的播放(RTP/RTCP 和 RTSP)
離線媒體只是用 Http協議去讀取伺服器端檔案而已,而對於實時直播如何實現, 這裡就要用到 RTP/RTCP協議了 RTP/RTCP RTP是基於 UDP協議的, UDP不用建立連線,效率更高;但允許丟包, 這就要求在重新組裝媒體的時候多做些工作 RTP只是包裹內容資訊,
背景音樂的自動播放(相容 ios 和 android)
ios 為了節省使用者流量,對於 audio 和 video標籤的 preload 和 autopaly 標籤 會自動攔截, 除非使用者手動點選 互動才會執行 。 但是對於背景音樂,又必須載入的時候就要執行,怎麼辦,直接呼叫js 來自動觸發。 <audio id=
使用JavaScript腳本控制媒體播放(順序播放和隨機播放)
媒體播放 ack 播放視頻 doc 是否 http org enc 一個 在JavaScript腳本中獲取<audio.../>元素對應的對象為HTMLAudioElement對象,<video.../>元素對應的對象為HTMLVideoElem
流媒體協議介紹(rtp/rtcp/rtsp/rtmp/mms/hls)
RTP 參考文件 RFC3550/RFC3551 Real-time Transport Protocol)是用於Internet上針對多媒體資料流的一種傳輸層協議。RTP協議詳細說明了在網際網路上傳遞音訊和視訊的標準資料包格式。RTP
搭建web流媒體播放(基於ffmpeg+red5的xp系統)
搭建web流媒體播放(基於ffmpeg+red5的xp系統) 專案採用HKvision攝像頭和xp系統(32位機),需要通過web頁面實現遠端監控。HKvision攝像頭是rtsp格式的視訊,無法通過HTML的video標籤播放。隨即採用ffmpeg進行格式轉換,red5作為視訊伺服器。(所有軟
Android多媒體之認識MP3與內建媒體播放(MediaPlayer)
零、前言 作為90後,mp3格式的音樂可謂靈魂之友。 小時候帶著耳機,躺在桌子上聽歌看月亮心情依稀。 當某個旋律想起,還會不會浮現某個風景,某個人……, 今天全程單曲播放——梁靜茹-勇氣(獻上頻譜) 主要任務:SD卡音樂、網路音訊流的播放及控制 MP3的
深度 | ICCV研討會:實時SLAM的未來以及深度學習與SLAM的比較(附論文和PPT)
選自 Computer Vison Blog 作者:Tomasz Malisiewicz 機器之心編譯 參與:吳攀、杜夏德 深度學習、計算機視覺和演算法正在塑造人工智慧的未來。 上一屆「國際計算機視覺大會(ICCV:International Con
UE4 Matinee製作相機動畫及其藍圖播放(UE4.11和UE4.19測試通過)
(1)開啟Matinee建立相機軌道(2)選中Movement軌道,將時間軸拖到新時間點,按enter鍵新增新的keyframe,拖動相機進行位置調整。一個相機出現黃色軌跡,此為相機動畫軌跡。點選Play鍵,就能播放動畫。關閉Matinee並儲存。(3)分別在Level Ed
css(八--單位和值)
整數 段落 設置方法 tro rgb 間距 border 距離 lin 顏色值 在網頁中的顏色設置是非常重要,有字體顏色(color)、背景顏色(background-color)、邊框顏色(border)等,設置顏色的方法也有很多種: 1、英文命令顏色 前面幾個小節中經常
Xml一(基本語法和約束)、
字符 一行 語言 oca cas 書寫 xsd ati 寫法 XML:eXtensible Markup Language 可擴展標記語言 version="1.0" * 可擴展:所有的標簽都是自定義的。 * 功能:數據存儲 * 配置文件
Java的幾個有用小Util函數(日期處理和http)
content lex .get get sta mmd 第幾天 service ret /** * 依據日期返回當前日期是一年的第幾天 * @param date * @return */ public stat
ASP.NET MVC Bundles 用法和說明(打包javascript和css)
http debug模式 尋找 所有 ida jquery-ui content end eas 本文主要介紹了ASP.NET MVC中的新功能Bundles,利用Bundles可以將javascript和css文件打包壓縮,並且可以區分調試和非調試,在調試時不進行壓縮,以
python學習筆記第十一節(叠代和其他)
技術分享 img 余數 商品列表 步長 取數 sorted函數 學習 四舍五入 yiled 面相過程編程 造好內容,統一發給下面 上面這個是傻瓜版 內置函數 print(divmod(10,3)) 將10除以3,顯示商和余數 enumerate函數,顯示元素及它
Win2008 Server搭建流媒體服務(在線看電影)
管理 video 區別 利用 color mic 更新 com web 什麽是流媒體服務呢。 所謂流媒體是指采用流式傳輸的方式在Internet播放的媒體格式, 與需要將整個視頻文件全部下載之後才能觀看的傳統方式相比, 流媒體技術是通過將視頻文件經過特殊的壓縮方式分成
delphi中WebBrowser的parent改變時變成空白問題的解決(覆蓋CreateWnd和DestroyWnd)
classes panel replace orm cat art topic alt 解決 這段時間在做一個delphi界面打開網頁的功能,且此網頁所在窗口可完整顯示,可縮小到另一個窗口的panel上顯示 可是在改變網頁所在窗口時,WebBrowser控件變成了空白
測試數據科學家聚類技術的40個問題(附答案和分析)(轉)
sqs fib method 描述 只有一個 聚類分析 iap 角度 技術 本文作者 Saurav Kaushik 是數據科學愛好者,還有一年他就從新德裏 MAIT 畢業了,喜歡使用機器學習和分析來解決復雜的數據問題。看看以下40道題目,測試下你能答對多少。 作者
郵件實現詳解(四)------JavaMail 發送(帶圖片和附件)和接收郵件
發送 網絡圖 發送對象 true n) com 訪問權限 sub map 好了,進入這個系列教程最主要的步驟了,前面郵件的理論知識我們都了解了,那麽這篇博客我們將用代碼完成郵件的發送。這在實際項目中應用的非常廣泛,比如註冊需要發送郵件進行賬號激活,再比如OA項目中利用郵
Traffic-Server配置(待補充和更新)
exp onf 存儲 空間 時間 cache 1-1 byte conn Server 5.3.2 測試1.裸盤:remap.configmap http://192.168.227.131 http://192.168.227.131:8080 #traffic_ser
社會心理學-6(從眾和服從)
目的 聯系 效應 更改 重復 成員 快餐店 帶來 另一個 從眾心理有三個類型 1.順從:迫於外部壓力而勉強穿西裝打領帶。目的是為了得到獎勵或逃避懲罰。 2.服從:因為外界明確命令引起的順從行為。 3.接納:相信群體要求我們做的事是理所當然的(跟大家一起鍛煉,相信其對健康有好
RHEL 7中systemctl用法(替換service和chkconfig)
systemctl用法 centos 7服務 傳統的Linux系統啟動過程主要由著名的init進程(也被稱為SysV init啟動系統)處理,而基於init的啟動系統被認為有效率不足的問題,systemd是Linux系統機器的另一種啟動方式,宣稱彌補了以傳統Linux SysV init為基礎的系統的