我有一个自定义硬件设备发送视频流。
如何让QuickTime应用程序可以使用这个流?
长话短说:在Windows上,我创建了一个DirectShow过滤器,因此任何与DirectShow兼容的应用程序都可以从我的设备流式传输。我想在Mac OS x上做同样的事情。我想QuickTime是可行的方法,但我在苹果开发者网站上找不到准确的答案。
在Mac OS 10.7中,Apple公开了CoreMediaIO.framework。
CoreMediaIO是多媒体硬件的设备抽象层(DAL)。它取代了传统的QuickTime VDIG组件API。在Mac OS X技术概述的"媒体层"一章中有一小部分是关于这个框架的。
遗憾的是CoreMediaIO还没有出现在苹果的文档中,但是它有一些非常详细的头文件。
它们位于:
/System/Library/Frameworks/CoreMediaIO.framework/Headers
CMIOHardware似乎是一个很好的起点(从标题中的"概述"部分):
CoreMediaIO设备抽象层(DAL)提供了一个抽象,应用程序可以通过它访问媒体硬件。来这样做,DAL提供了一个小的对象集合提供对系统各个部分的访问。所有CoreMediaIO对象的基类都是类cmiooobject。其他重要的类包括CMIOSystemObject, CMIODevice,CMIOStream和CMIOControl.
如果你必须支持旧版本的OS X,你也可以看看开发者库提供了什么。
VDIG组件已弃用,仅支持32位。
希望你看看HTTP直播