有没有简单的方法来使用我使用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