有沒有簡單的方法來使用我使用Media Foundation進行編碼的數據並通過網絡進行流式傳輸,而不是將其寫入WMV文件?使用Media Foundation SDK進行直播的流媒體
2
A
回答
2
首先,我想,你需要知道什麼格式(編碼/所含的)你要流中。
我在想h264。使用Windows 7媒體基礎創建h264輔助函數。 您需要創建一個拓撲。源讀取文件和接收器將解碼和編碼格式轉換爲h264。所有你需要的是源和一個接收器。你實際上不需要解碼器和編碼器。拓撲生成器計算需要插入的內容。
有一個CreateTranscodeTopology功能,但不會幫助你,因爲它的編碼數據寫入到文件中。這就是爲什麼你需要創建自己的拓撲。
只有你需要寫的東西是實現IMFByteStream類。
你的接收器應該帶你實現這個字節流。您的實現「寫入」函數將寫入您想要發送數據的套接字。所以也許你可以將你的套接字傳遞給你的IMFByteStream實現或回調函數的構造函數。
我也建議你把其他的一些功能,打印語句,你需要在IMFByteStream實現,因爲SinkWriter調用某些東西一樣。 GetCapabilities,所以你至少應該返回。
HRESULT STDMETHODCALLTYPE NetworkOutputStream::GetCapabilities(__RPC__out DWORD *pdwCapabilities){HRESULT hr=S_OK;
printf("GetCapabilities\n");
*pdwCapabilities= (MFBYTESTREAM_IS_READABLE|MFBYTESTREAM_IS_WRITABLE|MFBYTESTREAM_IS_SEEKABLE);
return hr;
}
話雖如此,如果你有你的客戶端(「HTML5瀏覽器),我會建議你使用‘MFCopy’例如在播放器。
創建拓撲結構主要是爲播放之類的東西。所以,解碼並編碼它的移動速度應該發揮,但所有你需要的是編碼文件併發送它的線 所以看看MFCopy並實現自己的IMFByteStream。而不是創建一個接收器寫入本地文件系統通過你的IMFByteStream到水槽
相關問題
- 1. 流媒體直播Icecast流
- 2. 使用silverlight進行流媒體直播4
- 3. 使用Jquery圖像滑塊進行流媒體直播
- 4. AudioContext直播流媒體
- 5. 視頻直播流媒體
- 6. 使用Media Foundation播放IMFSamples
- 7. Android媒體播放器流媒體
- 8. VLC直播到Android流媒體HTTP
- 9. 關於HTTP直播流媒體
- 10. YouTube如何實現流媒體直播
- 11. 在android中直播流媒體
- 12. html5直播流媒體選項
- 13. HLS使用S3進行流媒體直播 - 這些假設是否正確?
- 14. Http直播流媒體到iphone
- 15. 直播流媒體解決方案
- 16. OpenCV和Gstreamer流媒體直播視頻
- 17. 流媒體直播攝像頭
- 18. AVPlayer問題,而直播流媒體(iOS)
- 19. iOS流媒體直播h.264視頻
- 20. 在Android中使用JWplayer進行流媒體視頻播放
- 21. YouTube直播流媒體顯示「視頻直播權限不足」
- 22. 使用Tomcat進行流媒體
- 23. 如何從iOS流媒體直播視頻到Flash媒體服務器
- 24. 使用Codename One流媒體直播音頻
- 25. 在iPhone SDK的直播流?
- 26. 使用pyglet播放流媒體音頻
- 27. 使用video.js播放實時流媒體
- 28. Android使用媒體播放流m3uPlayer
- 29. 如何播放實時流媒體直播相機的網址
- 30. Windows Media Services網絡流媒體
謝謝 - 最好我會WMV格式(VC-1,Windows媒體9視頻編解碼器,W流indows媒體音頻編解碼器)。那種方法在這種情況下仍然可行嗎? – Warpin