2013-01-02 113 views
0

有一個名爲GMF橋樑和GMF的項目,可在以下鏈接 http://www.gdcl.co.uk/gmfbridge/在這個項目中我們可以給文件作爲輸入並播放它,但是如何我可以給H264包作爲輸入,使其發揮不斷,因爲它需要的文件作爲輸入的路徑....任何人都可以使用GMF橋樑和GMF PLay項目

原代碼如下: -

HRESULT hr = m_pPlayer->AddClip(ofn.lpstrFile, &pClip); 
ClipPlayer::AddClip(const char* path, ClipEntry** ppClip) 
{ 
    list<ClipEntry>::iterator it = m_Clips.insert(m_Clips.end(), ClipEntry()); 
    ClipEntry* pClip = &(*it); 
    *ppClip = pClip; 
HRESULT hr = pClip->Create(m_pController, path); 
..... 
... 
} 

我做了什麼是

我打開文件並解析NAL單元,並將NAL單元保存到一個字節數組中,並給出BYTEArray而不是文件名。

回答

0

您首先必須創建您自己的源過濾器,它將您的字節數組發送到其他directshow過濾器。我在某處讀過sdk包含一個將文件讀入內存並使用它的示例,但是我目前無法驗證該文件。

接下來,您必須修改ClipEntry類以使用您創建的源過濾器而不是標準文件源。

+0

先生你能不能給我的代碼,我們從套接字連接接收數據的一些例子/鏈接,並通過緩衝區玩家 – Dany

+0

先生,如果我們有任何的源過濾器如何使用源過濾PLZ告訴 – Dany

+0

我想你可以修改[pushsource示例](http://msdn.microsoft.com/en-us/library/windows/desktop/dd377481(v = vs.85%29.aspx)以滿足您的需求。您也可以購買a udp源碼過濾器,只需使用谷歌.... – wimh