2010-07-13 28 views
0

我使用FMLE 3.1將帶有FMS 3和Flash player 10 + AS 3的H.264格式編碼的實況視頻流連接到流。帶FMLE 3.1和FMS 3的實況流h.264不顯示視頻

當我連接到流時,只播放音頻。我甚至可以獲取有關視頻的元數據信息,但我只是收到了音頻。

我已經嘗試了一些東西,如

  1. 「的Flash 10不會玩實況流H.264的iTunes安裝後」 http://forums.adobe.com/thread/505620。我在與我的完全不同的環境中測試它,但結果相同。

  2. 我已經嘗試了一些格式播放的方法,但是這僅僅是打文件

    ns.play("mp4:saple.f4v"); 
    ns.play("mp4:sample"); 
    
  3. 又讀「你如何收看並錄製直播H.264」在「http://www.flashcomguru.co.uk/forum/forum_posts.asp?TID=4649」但我甚至沒有在第一時間播放流媒體。

這是我使用

import flash.media.Video; 

var video:Video = new Video(720, 480); 
var ncVideo = new NetConnection(); 
this.ncVideo.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); 
this.ncVideo.connect("rtmp://localhost/livecast", "user"); 

var customClient:Object = new Object(); 
customClient.onMetaData = metaDataHandler; 

function onNetStatus(e:NetStatusEvent) { 
    if (e.info.code == "NetConnection.Connect.Success") 
     createNetStream(); 
} 

function createNetStream(){ 
    var ns = new NetStream(this.ncVideo); 
    ns.client = customClient; 
    ns.addEventListener(NetStatusE vent.NET_STATUS, onNsStatus); 

    ns.play("livestream", -1); 
    this.video.attachNetStream(ns) ; 
    this.addChild(video); 
} 

function onNsStatus(e) { 
    trace("onNsStatus " + e.info.code); 
} 

function metaDataHandler(infoObject:Object):void { 
    trace(infoObject.width + " - " + infoObject.height); 
} 

另一個細節的代碼是,當我錄製視頻爲實例「sample.f4v」文件,我把這個視頻的FMS,但當我連接到這個流時,我收到「FileStructureInvalid」錯誤消息。

我從改變擴展名爲.flv「http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player_04.html」到解壓縮文件「http://www.flashcomguru.com/forum/forum_posts.asp?TID=4006」的解決方案,但事實並非如此,因爲我使用FMS來流式傳輸錄製的視頻。

回答

0

SE_0208回答說:「你可以升級到3.0.5並嘗試你的方案 - 有很多H.264錯誤已在點發布中修復 - 它的免費更新」,這就是解決方案。

在發行說明中沒有與我的上下文特定相關的內容,但也許這是一組內容。

1628134:此版本不支持在服務器上記錄H.264內容。

1656058:當流式傳輸損壞的文件(特別是包含H.264/AAC內容的文件)時,不能保證服務器行爲,並可能導致嚴重的性能下降,內存過度使用和服務器進程崩潰等問題。請在部署之前使用FLVCheck工具確保內容完整性。

1630621:如果緩衝區設置得太短,非常低的幀速率H264視頻可能需要很長時間才能啓動。