RTMP流媒體播放過程(轉)

來源:互聯網
上載者:User

標籤:

http://blog.csdn.net/leixiaohua1020/article/details/11704355

 

本文描述了從開啟一個RTMP流媒體到視音頻資料開始播放的全過程。

注意:RTMP中的邏輯結構

RTMP協議規定,播放一個流媒體有兩個前提步驟:第一步,建立一個網路連接(NetConnection);第二步,建立一個網路流 (NetStream)。其中,網路連接代表格服務器端應用程式和用戶端之間基礎的連通關係。網路流代表了發送多媒體資料的通道。伺服器和用戶端之間只能建 立一個網路連接,但是基於該串連可以建立很多網路流。他們的關係:



1 簡要介紹

播放一個RTMP協議的流媒體需要經過以下幾個步驟:握手,建立串連,建立流,播放。RTMP串連都是以握手作為開始的。建立串連階段用於建立用戶端與伺服器之間的“網路連接”;建立流階段用於建立用戶端與伺服器之間的“網路流”;播放階段用於傳輸視音頻資料。

2 握手(HandShake)

一個RTMP串連以握手開始,雙方分別發送大小固定的三個資料區塊

a)        握手開始於用戶端發送C0、C1塊。伺服器收到C0或C1後發送S0和S1。

b)        當用戶端收齊S0和S1後,開始發送C2。當伺服器收齊C0和C1後,開始發送S2。

c)        當用戶端和伺服器分別收到S2和C2後,握手完成。


握手

 

 

3建立網路連接(NetConnection)

a)        用戶端發送命令訊息中的“串連”(connect)到伺服器,請求與一個服務應用執行個體建立串連。

b)        伺服器接收到串連命令訊息後,發送確認視窗大小(Window Acknowledgement Size)協議訊息到用戶端,同時串連到串連命令中提到的應用程式。

c)        伺服器發送設定頻寬()協議訊息到用戶端。

d)        用戶端處理設定頻寬協議訊息後,發送確認視窗大小(Window Acknowledgement Size)協議訊息到伺服器端。

e)        伺服器發送使用者控制訊息中的“流開始”(Stream Begin)訊息到用戶端。

f)         伺服器發送命令訊息中的“結果”(_result),通知用戶端串連的狀態。


建立串連

4建立網路流(NetStream)

a)      用戶端發送命令訊息中的“建立流”(createStream)命令到伺服器端。

b)      伺服器端接收到“建立流”命令後,發送命令訊息中的“結果”(_result),通知用戶端流的狀態。


建立流

 

5 播放(Play)

a)        用戶端發送命令訊息中的“播放”(play)命令到伺服器。

b)        接收到播放命令後,伺服器發送設定塊大小(ChunkSize)協議訊息。

c)        伺服器發送使用者控制訊息中的“streambegin”,告知用戶端流ID。

d)        播放命令成功的話,伺服器發送命令訊息中的“響應狀態” NetStream.Play.Start & NetStream.Play.reset,告知用戶端“播放”命令執行成功。

e)        在此之後伺服器發送用戶端要播放的音頻和視頻資料。

播放流


RTMP協議規範(中文翻譯):http://download.csdn.net/detail/leixiaohua1020/6563059

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

RTMP流媒體播放過程(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.