FFMPEG 流媒體協議


HLS-M3U8

HLS(HTTP Live Streaming)是蘋果公司針對iPhone、iPod、iTouch和iPad等移動設備而開發的基於HTTP協議的流媒體解決方案。在 HLS 技術中 Web 服務器向客戶端提供接近實時的音視頻流。但在使用的過程中是使用的標准的 HTTP 協議,所以這時,只要使用 HLS 的技術,就能在普通的 HTTP 的應用上直接提供點播和直播。在App Store中的視頻相關的應用,基本都是應用的此種技術。該技術基本原理是將視頻文件或視頻流切分成小片(ts)並建立索引文件(m3u8)。支持的視頻流編碼為H.264,音頻流編碼為AAC。

 

HLS視頻架構

    HLS視頻切片結構決定其播放延時會比較大,其延時在10S級別。

FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,並能將其轉化為流的開源計算機程序。

 

RTMP

RTMP(Real Time Messaging Protocol)實時消息傳送協議是Adobe Systems公司為Flash播放器和服務器之間音頻、視頻和數據傳輸 開發的開放協議。

它有三種變種:

1)工作在TCP之上的明文協議,使用端口1935;

2)RTMPT封裝在HTTP請求之中,可穿越防火牆;

3)RTMPS類似RTMPT,但使用的是HTTPS連接;

      RTMP協議(Real Time Messaging Protocol)是被Flash用於對象,視頻,音頻的傳輸.這個協議建立在TCP協議或者輪詢HTTP協議之上.

      RTMP協議就像一個用來裝數據包的容器,這些數據既可以是AMF格式的數據,也可以是FLV中的視/音頻數據.一個單一的連接可以通過不同的通道傳輸多路網絡流.這些通道中的包都是按照固定大小的包傳輸的.

    RTMP協議延時在1-3秒左右,好的可以做到1S以下。

 

RTSP

 

    RTSP(Real-TimeStream Protocol )是一種基於文本的應用層協議,在語法及一些消息參數等方面,RTSP協議與HTTP協議類似。RTSP被用於建立的控制媒體流的傳輸,它為多媒體服務扮演“網絡遠程控制”的角色。盡管有時可以把RTSP控制信息和媒體數據流交織在一起傳送,但一般情況RTSP本身並不用於轉送媒體流數據。媒體數據的傳送可通過RTP/RTCP等協議來完成。

    rtsp中定義的方法有:OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE, GET_PARAMETER ,SET_PARAMETER。@link

    一次基本的RTSP操作過程是:首先,客戶端連接到流服務器並發送一個RTSP描述命令(DESCRIBE)。流服務器通過一個SDP描述來進行反饋,反饋信息包括流數量、媒體類型等信息。客戶端再分析該SDP描述,並為會話中的每一個流發送一個RTSP建立命令(SETUP),RTSP建立命令告訴服務器客戶端用於接收媒體數據的端口。流媒體連接建立完成后,客戶端發送一個播放命令(PLAY),服務器就開始在UDP上傳送媒體流(RTP包)到客戶端。 在播放過程中客戶端還可以向服務器發送命令來控制快進、快退和暫停等。最后,客戶端可發送一個終止命令(TERADOWN)來結束流媒體會話。@link

    該協議用於C/S模型, 是一個基於文本的協議, 用於在客戶端和服務器端建立和協商實時流會話。

 

@link

 

RTCP實時傳輸控制協議(Real-time Transport Control Protocol或RTP Control Protocol或簡寫RTCP)是實時傳輸協議(RTP)的一個姐妹協議。RTCP為RTP媒體流提供信道外(out-of-band)控制。

RTCP本身並不傳輸數據,但和RTP一起協作將多媒體數據打包和發送。RTCP定期在流多媒體會話參加者之間傳輸控制數據。RTCP的主要功能是為RTP所提供的服務質量(Quality of Service)提供反饋。

RTCP收集相關媒體連接的統計信息,例如:傳輸字節數,傳輸分組數,丟失分組數,jitter,單向和雙向網絡延遲等等。網絡應用程序可以利用RTCP所提供的信息試圖提高服務質量,比如限制信息流量或改用壓縮比較小的編解碼器。實現實時視頻流時,先用采集設備,直接把視頻做成 H.264 的 NAL unit,而后通過 RTP打包,傳輸給客戶端。

參考:

     HLS科普1 HLS和M3U8簡介

     HLS協議介紹

     流媒體傳輸協議綜述(RTP-RTCP RTSP RTMP HTTP)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM