1. 程式人生 > >庖丁解牛-----Live555原始碼徹底解密(testRTSPClient --rtsp互動流程)

庖丁解牛-----Live555原始碼徹底解密(testRTSPClient --rtsp互動流程)

傳送describe:
DESCRIBE rtsp://192.168.3.79:8554/h264ESVideoTest RTSP/1.0
CSeq: 2
User-Agent: f:\ffmpeg-encode-decode\流媒體\Live555\live555\live555-latest\TestLive555\Debug\TestRtspClient.exe (LIVE555 Streaming Media v2013.09.18)
Accept: application/sdp

describe應答:
v=0
o=- 1386815785510693 1 IN IP4 192.168.3.79
s=Session streamed by "testOnDemandRTSPServer"
i=h264ESVideoTest
t=0 0
a=tool:LIVE555 Streaming Media v2013.09.18
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "testOnDemandRTSPServer"
a=x-qt-text-inf:h264ESVideoTest
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:500
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKzZQFoCJ+XDhAAAAwAEAAADAMg8YMZY,aOvjyyLA
a=control:track1


傳送setup:
SETUP rtsp://192.168.3.79:8554/h264ESVideoTest/track1 RTSP/1.0
CSeq: 3
User-Agent: f:\ffmpeg-encode-decode\流媒體\Live555\live555\live555-latest\TestLive555\Debug\TestRtspClient.exe (LIVE555 Streaming Media v2013.09.18)
Transport: RTP/AVP;unicast;client_port=4242-4243

setup應答:
RTSP/1.0 200 OK
CSeq: 3
Date: Fri, Dec 13 2013 02:21:29 GMT
Transport: RTP/AVP;unicast;destination=192.168.3.79;source=192.168.3.79;client_port=4272-4273;server_port=6972-6973
Session: 7E5941BF


傳送Play:
PLAY rtsp://192.168.3.79:8554/h264ESVideoTest/ RTSP/1.0
CSeq: 4
User-Agent: f:\ffmpeg-encode-decode\流媒體\Live555\live555\live555-latest\TestLive555\Debug\TestRtspClient.exe (LIVE555 Streaming Media v2013.09.18)
Session: 7E5941BF
Range: npt=0.000-

Play應答:
RTSP/1.0 200 OK
CSeq: 4
Date: Fri, Dec 13 2013 02:26:00 GMT
Range: npt=0.000-
Session: 7E5941BF
RTP-Info: url=rtsp://192.168.3.79:8554/h264ESVideoTest/track1;seq=26842;rtptime=3078562226

Rtsp互動協議參考:

相關推薦

庖丁解牛-----Live555原始碼徹底解密(testRTSPClient --rtsp互動流程)

傳送describe: DESCRIBE rtsp://192.168.3.79:8554/h264ESVideoTest RTSP/1.0 CSeq: 2 User-Agent: f:\ffmpeg-encode-decode\流媒體\Live555\live555\l

Live555原始碼徹底解密(testRTSPClient --rtsp互動流程)

傳送describe: DESCRIBE rtsp://192.168.3.79:8554/h264ESVideoTest RTSP/1.0 CSeq: 2 User-Agent: f:\ffmpeg-encode-decode\流媒體\Live555\live555\li

庖丁解牛-----Live555原始碼徹底解密(testRTSPClient流程圖)

通過TestRtspClient的例子,對rtsp資料流程有深入的瞭解,比如rtsp如何建立,rtsp source和sink怎麼互動資料等;   1)describe建立流程如下:   2)setup建立流程如下:   3)play建立流程如下

庖丁解牛-----Live555原始碼徹底解密(根據MediaServer講解Rtsp的建立過程)

live555MediaServer.cpp服務端原始碼講解 int main(int argc, char** argv) {      // Begin by setting up our usage environment:      TaskSchedule

庖丁解牛---winpcap原始碼徹底解密系列續集(10)

設定讀超時:      PacketSetReadTimeout(p->adapter, p->md.timeout); BOOLEAN PacketSetReadTimeout(LPADAPTER AdapterObject,int timeout) {   

庖丁解牛-----Live555原始碼徹底解密(根據OpenRTSP講解)

OpenRtsp中寫H264檔案注意的地方: OpenRtsp客戶端包括OpenRtsp.cpp和playCommon.cpp 兩個檔案 1)接受buffer儲存到檔案 void H264VideoFileSink::afterGettingFrame(unsigne

庖丁解牛-----winpcap原始碼徹底解密(四)

庖丁解牛-----winpcap原始碼徹底解密(四) 版權申明: 原創文章,轉貼請註明出處!!!!!!!! (1)如何設定核心緩衝區的大小,前面已經談過設定核心緩衝區的函式是pcap_setbuff,檢視winpcap的開發文件,pcap_setbuff的定義如

庖丁解牛-----Live555原始碼徹底解密(RTP打包)

 本文主要講解live555的服務端RTP打包流程,根據MediaServer講解RTP的打包流程,所以大家看這篇文章時,先看看下面這個連結的內容; 在收到客戶端的Play命令後,呼叫StartStream函式啟動流 void OnDemandServerMediaSu

庖丁解牛-----winpcap原始碼徹底解密(一)

呼叫activate_op,該函式是回撥函式,p->activate_op = pcap_activate_win32;即pcap_activate呼叫pcap_activate_win32函式,pcap_activate_win32函式呼叫PacketOpenAdapter,同時函式設定Packet

庖丁解牛-----Live555原始碼徹底解密(v0.78--2013.09.18)

#define LIVEMEDIA_LIBRARY_VERSION_STRING "2013.09.18" live555中主要包括以下幾個庫:UsageEnvironment ,BasicUsageEnvironment,groupsock,LiveMedia;其中 U

Live555原始碼徹底解密(根據testRTSPClient講解)

RTSP的Client建立流程(testProgs中的testRTSPClient示例)  參考文件: testRtspClient流程圖請參考下面連結: 1)       Sink和source Source是接收資料,Sink

第42課: Spark Broadcast內幕解密:Broadcast執行機制徹底解密、Broadcast原始碼解析、Broadcast最佳實踐

第42課:  Spark Broadcast內幕解密:Broadcast執行機制徹底解密、Broadcast原始碼解析、Broadcast最佳實踐Broadcast在機器學習、圖計算、構建日常的各種演算法中到處可見。 Broadcast就是將資料從一個節點發送到其它的節點上;

Spark Streaming原始碼解讀之資料清理內幕徹底解密

本篇部落格的主要目的是: 1. 理清楚Spark Streaming中資料清理的流程 組織思路如下: a) 背景 b) 如何研究Spark Streaming資料清理? c) 原始碼解析

第40課: CacheManager徹底解密:CacheManager執行原理流程圖和原始碼詳解

第40課:  CacheManager徹底解密:CacheManager執行原理流程圖和原始碼詳解CacheManager管理是快取,而快取可以是基於記憶體的快取,也可以是基於磁碟的快取。CacheManager需要通過BlockManager來操作資料。         T

spark性能調優(二) 徹底解密spark的Hash Shuffle

弱點 sta 出了 寫到 三方 很大的 完成 map 重新 裝載:http://www.cnblogs.com/jcchoiling/p/6431969.html 引言 Spark HashShuffle 是它以前的版本,現在1.6x 版本默應是 Sort-Based Sh

Spark Executor內幕徹底解密:Executor工作原理圖、ExecutorBackend註冊源碼解密、Executor實例化內幕、Executor具體工作內幕

ID 註冊 AD https ima .cn ora 成員 其他 本課主題 Spark Executor 工作原理圖 ExecutorBackend 註冊源碼鑒賞和 Executor 實例化內幕 Executor 具體是如何工作的 Spark Executor 工作

一、【徹底精通Spring Boot2原始碼】 SpringApplication.run() 啟動流程原始碼徹底剖析

       本文是對spring boot2 啟動整個流程進行原始碼解析,也是我發表springboot系列的第一篇文章,解析的過程我會一行一行解讀,網上很多的解析案例都是貼一段原始碼,然後說幾句概況性的語句,看了之後也是丈二和尚 摸不到頭腦,既然解析原

ThreadLocal原始碼分析解密

什麼是ThreadLocal 我們來看看作者Doug Lea是怎麼說的,下面是jdk7.x裡面ThreadLocal註釋 This class provides thread-local variables. These variables differ from the

OkHttp原始碼徹底解析(一)OkHttp請求流程

前言 OkHttp是一個處理網路請求的開源專案,是安卓端最火熱的輕量級框架,由移動支付Square公司貢獻(該公司還貢獻了Picasso) 用於替代HttpUrlConnection和Apache HttpClient(android API23 6.0裡已移除HttpClient

Android版資料結構與演算法(五):LinkedHashMap核心原始碼徹底分析

上一篇基於雜湊表實現HashMap核心原始碼徹底分析 分析了HashMap的原始碼,主要分析了擴容機制,如果感興趣的可以去看看,擴容機制那幾行最難懂的程式碼真是花費了我很大的精力。  好了本篇我們分析一下HashMap的兒子LinkedHashMap的核心原始碼,提到LinkedHashMap做安卓的同學肯