有没有简单的方法来使用我使用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. 使用Media Foundation播放IMFSamples
- 4. Android媒体播放器流媒体
- 5. VLC直播到Android流媒体HTTP
- 6. 关于HTTP直播流媒体
- 7. YouTube如何实现流媒体直播
- 8. Http直播流媒体到iphone
- 9. 直播流媒体解决方案
- 10. HLS使用S3进行流媒体直播 - 这些假设是否正确?
- 11. AVPlayer问题,而直播流媒体(iOS)
- 12. YouTube直播流媒体显示“视频直播权限不足”
- 13. 使用Tomcat进行流媒体
- 14. 使用Codename One流媒体直播音频
- 15. 在iPhone SDK的直播流?
- 16. 使用pyglet播放流媒体音频
- 17. Windows Media Services网络流媒体
- 18. Android的HTTP流媒体播放器的URL使用媒体播放器
- 19. 如何在HTML中播放RTSP直播流媒体链接
- 20. Microsoft Media Foundation中的网络媒体接收器
- 21. 在Media Foundation中使用COINIT_APARTMENTTHREADED或COINIT_MULTITHREADED?
- 22. DirectShow,Media Foundation,DXVA,什么?
- 23. jpeg流媒体直播到iphone应用程序
- 24. Windows Media Foundation:当前媒体类型更改
- 25. 从Android相机到服务器的流媒体直播视频
- 26. 使用red5服务器进行流媒体直播不能在我的网站上工作
- 27. 使用VideoView进行流媒体或渐进式下载视频
- 28. 使用Media Foundation对Direct X表面进行编码
- 29. Media Foundation SinkWriter(MP4 FastStart)
- 30. HTTP直播流媒体分发服务器选择
谢谢 - 最好我会WMV格式(VC-1,Windows媒体9视频编解码器,W流indows媒体音频编解码器)。那种方法在这种情况下仍然可行吗? – Warpin