因為 Flash Player 將網路層精簡,而只是單純將保護的內容提供給 Adobe Access 子系統,使得 Adobe Access 無從驗證內容的傳遞機制。因此,您可以透過 HTTP、HTTP 動態串流、RTMP 或 RTMPE 傳遞內容。
不過,因為在 Adobe Access 能夠擷取授權來解密內容之前,受保護內容的中繼資料不可或缺 (通常是以 '.metadata' 檔案的形式),所以可能會發生一些問題。特別是在使用 RTMP/RTMPE 通訊協定時,只有 FLV 與 F4V 資料能夠透過 Flash Media Server (FMS) 傳遞至用戶端。因此,用戶端必須利用其它方式來擷取中繼資料 Blob。解決此問題的一項方案是在 HTTP 伺服器裝載中繼資料,然後實作用戶端視訊播放程式,根據所播放的內容來擷取適當的中繼資料。
private function getMetadata():void{
extrapolated-path-to-metadata = "http://metadatas.mywebserver.com/" + videoname;
var urlRequest : URLRequest = new URLRequest(extrapolated-path-to-the-metadata + ".metadata");
var urlStream : URLStream = new URLStream();
urlStream.addEventListener(Event.COMPLETE, handleMetadata);
urlStream.addEventListener(IOErrorEvent.NETWORK_ERROR, handleIOError);
urlStream.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
urlStream.addEventListener(IOErrorEvent.VERIFY_ERROR, handleIOError);
try{
urlStream.load(urlRequest);
}catch(se:SecurityError){
videoLog.text += se.toString() + "\n";
}catch(e:Error){
videoLog.text += e.toString() + "\n";
}
}
|
|
|