網路直播協議——RTMP直播協議

RTMP是Real Time Messaging Protocol(實時消息傳輸協議),是adobe公司的協議。

網路直播設備有多種協議,使用rtmp協議的就是rtmp直播。

直播流就是視頻流,即傳遞的視頻數據。

RTMP是Real Time MessagingProtocol(實時消息傳輸協議)的首字母縮寫。該協議基於TCP,是一個協議簇,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設計用來進行實時數據通信的網路協議,主要用來在Flash/AIR平台和支持RTMP協議的流媒體/交互伺服器之間進行音視頻和數據通信。支持該協議的軟體包括AdobeMedia Server/Ultrant Media Server/red5等。

Advertisements

RTMP協議是Adobe公司推出的實時傳輸協議,主要用於基於flv格式的音視頻流的實時傳輸。使用RTMP協議進行傳輸,需要視頻採用H.264壓縮標準,音頻採用AAC標準,然後將音視頻流按照flv的格式進行封裝。如何獲取H.264的視頻數據以及AAC的音頻數據在這裡不用贅述,例如:我們可以使用開源軟體x264將YUV壓縮成H.264視頻數據。這裡我們需要討論,如何對音視頻數據流進行flv封裝以及如何進行傳輸。

常見的協議有哪些?

RTMP、RTSP、HTTP協議

這三個協議都屬於互聯網 TCP/IP 五層體系結構中應用層的協議。理論上這三種都可以用來做視頻直播或點播。但通常來說,直播一般用RTMP、RTSP。而點播用 HTTP。下面分別介紹下三者的特點。

Advertisements

常見直播協議

1,RTMP協議

(1)是流媒體協議。

(2)RTMP協議是 Adobe 的私有協議,未完全公開。

(3)RTMP協議一般傳輸的是 flv,f4v 格式流。

(4)RTMP一般在 TCP 1個通道上傳輸命令和數據。

2,RTSP協議

(1)是流媒體協議。

(2)RTSP協議是共有協議,並有專門機構做維護。.

(3)RTSP協議一般傳輸的是 ts、mp4 格式的流。

(4)RTSP傳輸一般需要 2-3 個通道,命令和數據通道分離。

3,HTTP協議

(1)不是是流媒體協議。

(2)HTTP協議是共有協議,並有專門機構做維護。

(3)HTTP協議沒有特定的傳輸流。

(4)HTTP傳輸一般需要 2-3 個通道,命令和數據通道分離。

二、可用的直播流地址

通常我們進行 RTMP/RTSP開發時,除了可以自己搭建視頻伺服器來進行測試外。也可以直接使用一些電視台的直播地址,省時省力。

下面是我收集匯總的一些視頻直播地址,親測可用。

VLC軟體

1,RTMP協議直播源

香港衛視:rtmp://live.hkstv.hk.lxdns.com/live/hks

2,RTSP協議直播源

珠海過澳門大廳攝像頭監控:rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp

大熊兔(點播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov

3,HTTP協議直播源

香港衛視:http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8

CCTV1高清:http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8

CCTV3高清:http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8

CCTV5高清:http://ivi.bupt.edu.cn/hls/cctv5hd.m3u8

CCTV5+高清:http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8

CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8

蘋果提供的測試源(點播):

http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8

三、播放軟體推薦:VLC

要播放視頻直播流,或者測試一個直播視頻地址是否可以使用。這裡推薦 VLC 媒體播放器。功能強大且跨平台。支持Windows、Mac OS、Linux、Android、iOS。

官網地址:http://www.videolan.org/

打開播放器,選擇菜單中「媒體」->「打開網路串流...」。在彈出頁面中填入視頻地址即可。

VLC拉流

Advertisements

你可能會喜歡