国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
使用 JW Player 播放RTMP 流
譯序:JW Media Player 是開(kāi)源的網(wǎng)頁(yè)使用的 Flash 播放器。本文采摘于 JW Player 的官方文檔,講解了 JW Player 對(duì)于 RTMP 的使用方法,我們可以從 JW Player 客戶(hù)端的角度來(lái)了解 RTMP 協(xié)議。以下是官方原文:
簡(jiǎn)介
RTMP (Real Time Messaging Protocol 實(shí)時(shí)消息傳輸協(xié)議) 是一個(gè)用于將點(diǎn)播和直播媒體交付給 Adobe Flash 應(yīng)用 (比如 JW Player) 的體系。RTMP 支持 MP4 和 FLV 視頻,AAC 和 MP3 音頻。RTMP 相對(duì)于一般的 HTTP 視頻下載 (很多網(wǎng)站使用這種方式進(jìn)行在線(xiàn)視頻播放) 具有以下優(yōu)勢(shì):
RTMP 可以進(jìn)行視頻直播,人們可以在你錄制的同時(shí)觀(guān)看視頻。
RTMP 可以做動(dòng)態(tài)流,播放視頻的質(zhì)量可以根據(jù)帶寬而自動(dòng)變化。
播放器可以快進(jìn)到視頻的后面部分,這對(duì)于大于十分鐘的視頻很有用 (這一點(diǎn)是 HTTP 下載方式的在線(xiàn)視頻無(wú)法匹敵的)。
播放器維護(hù)有一個(gè)小小的緩沖,避免了視頻回放時(shí)的重新下載,節(jié)省了帶寬。
缺點(diǎn)
但是,請(qǐng)注意 RTMP 也有自身的缺點(diǎn),最重要的幾個(gè)是:
RTMP 使用了跟 HTTP 不同的協(xié)議和端口號(hào),這使得它很容易遭受 (公司) 防火墻的封堵??梢允褂?RTMPT (通過(guò) HTTP 通道) 避免這個(gè)問(wèn)題,但這需要服務(wù)器付出一定的性能代價(jià)。
RTMP 數(shù)據(jù)被流化后傳給播放器,這意味著連接的帶寬必須要比視頻的數(shù)據(jù)速率大。如果連接中止了幾秒,流將卡住。這個(gè)問(wèn)題在很大問(wèn)題上可以使用包含一個(gè)低質(zhì)量文件的動(dòng)態(tài)流來(lái)進(jìn)行預(yù)防。
最大的缺點(diǎn)是 RTMP 只能工作在 Flash 而不能工作在 HTML5。新的 HTTP 流協(xié)議,比如蘋(píng)果的 HTTP Live Streaming (HLS),具有更廣泛的設(shè)備支持 (比如 iOS),在未來(lái)的幾年內(nèi)很可能會(huì)取代 RTMP。JW Player 在 Flash 和 HTML5 模式下都能夠支持蘋(píng)果 HLS。
服務(wù)器支持
要使用 RTMP,你的主機(jī)或者 CDN 需要安裝一個(gè)專(zhuān)用 RTMP 服務(wù)器。這里有兩個(gè)主流產(chǎn)品,JW Player 都支持:
Wowza Media Server 是當(dāng)前最廣泛采用的解決方案。它包含了支持幾乎所有的流媒體協(xié)議,包括 RTMP。Wowza 3 引入了對(duì) JW6 SMIL manifest 的專(zhuān)用支持 (看下文)。
Adobe Media Server 是另外一個(gè)很好地選擇。因?yàn)?Flash 是由 Adobe 開(kāi)發(fā)的,RTMP 的新功能首先會(huì)在 FMS 上跑的通。
CDNS
以下 CDN (Content Delivery Networks 內(nèi)容分發(fā)網(wǎng)絡(luò)) 能夠支持 RTMP,并且使用 JW Player 測(cè)試效果良好。它們都支持動(dòng)態(tài)流,除了 CloudFront,也都支持現(xiàn)場(chǎng)直播:
Akamai
CDNetworks
CloudFront (Amazon 網(wǎng)絡(luò)服務(wù))
Edgecast
Limelight
現(xiàn)場(chǎng)直播
RTMP 的一個(gè)關(guān)鍵的特征就是能夠進(jìn)行現(xiàn)場(chǎng)直播,比如展示會(huì),音樂(lè)會(huì)或者體育賽事。在 JW Player 和一臺(tái) RTMP 服務(wù)器之后,你還需要一個(gè)小工具來(lái)將直播視頻提取給服務(wù)器。有很多這樣的工具可供選擇。Flash Live Media Encoder 就是這樣的一個(gè)免費(fèi)的,可以用于 Windows 和 Mac 的工具。
對(duì)于 FMS 和 Wowza,嵌入直播流的方式和嵌入點(diǎn)播的方式一樣。但是,對(duì)于 Akamai、Edgecast 和 Limelight 等 CDN 要求播放器訂閱到直播流。JW Player 6支持這種機(jī)制。
JW Player 6 將會(huì)像嵌入一個(gè)點(diǎn)播文件一樣嵌入一個(gè)直播流,但有個(gè)例外:取代顯示在時(shí)間軸上的滑塊 (直播嘛) 的是播放器在控制條上顯示時(shí)間的標(biāo)題。
負(fù)載均衡
對(duì)于大規(guī)模的部署,JW Player 為支持服務(wù)器的負(fù)載均衡提供了三個(gè)機(jī)制:
DNS 負(fù)載均衡,獨(dú)立于 JW Player。
RTMP 302 重定向,被 Wowza 用于負(fù)載均衡。更多信息參考他們的用戶(hù)指南。
SMIL 負(fù)載均衡,包含 RTMP 鏈接到邊緣節(jié)點(diǎn)的一個(gè)初始化 SMIL 文件??梢詤⒁?jiàn)下面關(guān)于 SMIL 文件動(dòng)態(tài)流的例子。
隱藏字幕
JW Player 支持 RTMP 直播和點(diǎn)播的字幕隱藏。只支持一個(gè)單一的 CC 軌道,而且這個(gè)軌道必須是 TX3G 格式的。Wowza 和 Adobe media server 都有能力使用 RTMP 發(fā)送 TX3G 字幕。
JW Player 第一次遭遇一個(gè)文本提示的 TX3G 時(shí),它在控制條中放置了一個(gè) CC 按鈕。如果用戶(hù)選擇啟用 CC,這一偏好會(huì)被保存在 cookie,用戶(hù)以后觀(guān)看任何視頻時(shí) CC 都會(huì)是啟用狀態(tài)。
嵌入一個(gè)流
嵌入一個(gè) RTMP 流到 JW Player 6 只是簡(jiǎn)單提供一個(gè)完整流 URL 的問(wèn)題。這里是一個(gè)很基本的例子,播放一個(gè) MP4 視頻:
1
2
3
4
5
6
jwplayer("myElement").setup({
file: "rtmp://example.com/application/mp4:myVideo.mp4",
image: "/assets/myVideo.jpg",
height:360,
width: 640
});
以上例子僅僅工作在桌面上,因?yàn)?Flash 在移動(dòng)終端不可用。下面是另一個(gè)例子,使用 RTMP 和 HTTP 加載的一個(gè) MP4。RTMP 流將會(huì)在桌面播放,下載的 HTTP 將會(huì)在移動(dòng)終端播放:
1
2
3
4
5
6
7
8
9
10
11
12
13
jwplayer("myElement").setup({
playlist: [{
image: "/assets/myVideo.jpg",
sources: [{
file: "rtmp://example.com/application/mp4:myVideo.mp4"
},{
file: "/assets/myVideo.mp4"
}]
}],
height:360,
primary: "flash",
width: 640
});
因?yàn)橹饕尸F(xiàn)模式設(shè)置為 Flash,RTMP 流被選中。如果這一選項(xiàng)沒(méi)有設(shè)置,JW Player 將會(huì)播放 HTTP 下載,因?yàn)楹芏酁g覽器 (比如 Chrome、IE)在 HTML5 中支持那個(gè) (JW6 中的默認(rèn)模式)。
參見(jiàn) Working with Playlists 以獲取關(guān)于加載多路源的更多信息。
應(yīng)用和流
技術(shù)上講,一個(gè) RTMP 流包含兩塊:
應(yīng)用路徑 (例如rtmp://example.com/vod/)。
流標(biāo)識(shí) (例如mp4:myFolder/video.mp4)。
JW Player 6 中,這兩塊被整合到單個(gè) URL。JW Player 根據(jù) mp4、flv 或者 mp3 前綴的位置來(lái)決定應(yīng)用和流之間的分割。
1. MP4/M4V/MOV/F4V 視頻需要一個(gè) mp4: 前綴:
rtmp://example.com/vod/mp4:myFolder/myVideo.mp4
2. FLV 視頻或者一個(gè)直播流 (FLV 容器下的) 需要一個(gè) flv: 前綴:
rtmp://example.com/vod/flv:myFolder/myVideo.flv
rtmp://example.com/live/flv:myFolder/myLiveStream
3. MP3 音頻需要一個(gè) mp3: 前綴:
rtmp://example.com/vod/mp3:myFolder/mySong.mp3
4. M4A/F4A/AAC 音頻文件也需要一個(gè) mp4: 前綴:
rtmp://example.com/vod/mp4:myFolder/mySong.m4a
如果沒(méi)有找到任何前綴,player 在文件名最后一個(gè) / 之后對(duì)應(yīng)用和流進(jìn)行分割。前綴隨后被自動(dòng)添加 (mp4:, mp3:)。注意flv 前綴并不被 Wowza/Adobe 服務(wù)器內(nèi)部使用,因此 JW Player 將在請(qǐng)求流之前將其剝離。
動(dòng)態(tài)流
除了加載單一 RTMP 流之外,JW Player 6 支持加載動(dòng)態(tài)流。一個(gè)動(dòng)態(tài)流包含多個(gè)具有同一內(nèi)容的單流,它們具有不同的品質(zhì)。JW Player 允許在這樣一個(gè)流中進(jìn)行不同品質(zhì)的自動(dòng)或者手工切換。
動(dòng)態(tài)流必須使用叫做 SMIL manifest 設(shè)置。這是一些包含有 RTMP 應(yīng)用路徑加上存放在 RTMP 服務(wù)器上的流的路徑的簡(jiǎn)單的 XML 文件。播放器經(jīng)常假定一個(gè)帶有.smil 后綴的文件是一個(gè) RTMP SMIL manifest:
1
2
3
4
5
6
jwplayer("myElement").setup({
file: "/assets/myVideo.smil",
image: "/assets/myVideo.jpg",
height:360,
width: 640
});
這是另一個(gè)例子,使用了一個(gè) RTMP 動(dòng)態(tài)流 (為桌面) 和一個(gè)漸進(jìn) MP4 下載 (為移動(dòng)終端):
1
2
3
4
5
6
7
8
9
10
11
12
13
jwplayer("myElement").setup({
playlist: [{
image: "/assets/myVideo.jpg",
sources: [{
file: "/assets/myVideo.smil"
},{
file: "/assets/myVideo.mp4"
}]
}],
height:360,
primary: "flash",
width: 640
});
注意 SMIL manifest 是 跨域安全限制 的主題。如果你的 SMIL 文件位于你的網(wǎng)站或播放器之外的另一臺(tái)服務(wù)器上,你需要去設(shè)置一個(gè) crossdomain.xml 文件。
SMIL 內(nèi)容
這是一個(gè)基本的例子,使用了三個(gè)不同的流:
1
2
3
4
5
6
7
8
9
10
11
12
<smil>
<head>
<meta base="rtmp://example.com/vod/" />
</head>
<body>
<switch>
<video src="myVideo-high.mp4" height="720" system-bitrate="2000000" width="1280" />
<video src="myVideo-medium.mp4" height="360" system-bitrate="800000" width="640" />
<video src="myVideo-low.mp4" height="180" system-bitrate="300000" width="320" />
</switch>
</body>
</smil>
品質(zhì)的切換由 JW Player 自動(dòng)完成,它將選用最高品質(zhì):
誰(shuí)的 system-bitrate 更適合連接的當(dāng)前帶寬。
誰(shuí)的 width 更適合播放器屏幕的當(dāng)前寬度。
用戶(hù)可以通過(guò)設(shè)置快捷菜單中的品質(zhì)對(duì)這些自動(dòng)選項(xiàng)進(jìn)行重寫(xiě)。manifest 中的 關(guān)于流的 height 屬性用于設(shè)置菜單的標(biāo)簽 (例如 720p)。
WOWZA 3
Wowza Media Server 3 為這些 SMIL manifest 引入了專(zhuān)門(mén)的支持。如果你在運(yùn)行 3.1.2.15 或更高版本的 Wowza,在你適配的流的 URL 后面添加/jwplayer.smil 來(lái)得到這些 manifest。
這里是 Wowza3 中 SMIL manifest 和 M3U8 manifest 的 URL 的樣子:
http://example.com/vod/smil:myvideo.smil/jwplayer.smil
http://example.com/vod/smil:myvideo.smil/manifest.m3u8
配置選項(xiàng)
RTMP 提供了一些配置選項(xiàng)來(lái)對(duì)流的播放進(jìn)行調(diào)整。它們?cè)O(shè)置在一個(gè)專(zhuān)用的 rtmp 選項(xiàng)塊中。
緩沖長(zhǎng)度
在默認(rèn)情況下,JW Player 試著為 RTMP 視頻維護(hù)一個(gè)長(zhǎng)度為 3 秒的緩沖。這意味著有三秒鐘的視頻被從服務(wù)器端獲取并隨時(shí)可以播放。這個(gè)長(zhǎng)度可以使用 RTMPbufferlength 選項(xiàng)進(jìn)行修改:
1
2
3
4
5
6
7
8
9
jwplayer("myElement").setup({
file: "rtmp://example.com/vod/mp4:myVideo.mp4",
height:360,
image: "/assets/myVideo.jpg",
rtmp: {
bufferlength: 0.1
},
width: 640
});
可用值的范圍是從 0.1 (對(duì)于低延時(shí)的直播) 到 10 (為防止頻繁的重緩沖)。
FC 訂閱
當(dāng)使用 Akamai、Edgecast 或者 Limelight 等 CDN 分發(fā)直播流時(shí),播放器不能簡(jiǎn)簡(jiǎn)單單地連接到直播流。播放器需要通過(guò)發(fā)送一個(gè)叫做FC Subscribe 的調(diào)用到服務(wù)器進(jìn)行訂閱。JW Player 包含了對(duì)此的支持,使用 RTMPsubscribe 選項(xiàng):
1
2
3
4
5
6
7
8
9
jwplayer("myElement").setup({
file: "rtmp://example.com/xxxx/myStream",
height:360,
image: "/assets/myLivestream.jpg",
rtmp: {
subscribe: true
},
width: 640
});
注意這一個(gè)功能僅適用于單一 RTMP 流。對(duì)于多位率的直播流,應(yīng)該使用 HLS 協(xié)議。
安全令牌
Wowza Media Server 具有一個(gè)叫做安全令牌的特性,用于保護(hù)你的流被下載。它通過(guò)播放器發(fā)送給服務(wù)器一個(gè)令牌,然后服務(wù)器在開(kāi)始發(fā)送流之前對(duì)令牌驗(yàn)證進(jìn)行工作。JW Player 通過(guò)使用 RTMPsecuretoken 選項(xiàng)支持這一機(jī)制:
1
2
3
4
5
6
7
8
9
jwplayer("myElement").setup({
file: "rtmp://example.com/vod/mp4:myVideo.mp4",
height:360,
image: "/assets/myVideo.jpg",
rtmp: {
securetoken: "Kosif093n203a"
},
width: 640
});
注意我們不支持編譯安全令牌的選項(xiàng)。SWF 通過(guò)提供了對(duì) JS (它們都是客戶(hù)端) 的安全增強(qiáng),尤其是當(dāng) JS 代碼有點(diǎn)混亂時(shí)。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
用JW Player,ckplayer,Smartideo搭建視頻直播站
網(wǎng)頁(yè)媒體播放利器 - JW Player使用心得
最簡(jiǎn)單的基于Flash的流媒體示例:網(wǎng)頁(yè)播放器(HTTP,RTMP,HLS)
[wowza]FMS與wowza中使用RTMPE加密協(xié)議
讓JW Player也能播放wmv視頻
使用ffmpeg推流到Wowza
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服