Mac OS X相当于DirectShow,GraphEdit

Joe*_*nid 7 macos directshow quicktime objective-c graphedit

Mac OS X新手,熟悉Windows.Windows具有DirectShow,大量内置过滤器,COM编程和GraphEdit,可以在您使用代码构建的图形上进行快速原型设计和窥探.

我现在要去Mac使用相机,网络摄像头,麦克风,色彩空间,文件,分割,同步,渲染,文件读取,文件保存以及我认为DirecShow认为理所当然的许多事情在整理现场表演的应用程序时.在Mac方面,到目前为止我发现......什么都没有!要么我不知道在哪里看,要么我有最艰难的时间来平衡Mac的声誉,因为它易于处理媒体,具有连贯的编程能力,可以进入并开始使用媒体操作构建模块.

我已经看到一些弱的建议,使用gstreamer或一些库来进行QT,但我不能让自己相信这是Apple的方式.我遇到过一些QuickTime文档,但我不打算做转换,精灵,广播......

让大脑接受DirectShow培训意味着我甚至不知道Apple如何考虑提供类似DirectShow的功能.这意味着我不知道正确的关键字,甚至不知道在哪里看.图书?买了几个.现在我可以编写一些可以编辑你妹妹的婚礼视频的代码(如果我不能在这个主题上取得相当好的进展,我可能接下来会问你有什么值得的),但是要确定哪些过滤器是可用的以及如何将它们串在一起......没有.建议?

Nic*_*ley 10

目前,视频处理在Mac上经历了巨大的转变.QuickTime非常陈旧,但也很强大,所以它在过去5年左右的时间里一直在进行增量替换.

也就是说,QTKit是未来支持的QuickTime子集(捕获,回放,格式转换和基本视频编辑).传统的QuickTime API目前仍然存在,并且可能至少保持其主要功能在其他地方可用,但仅为32位.对于某些涉及的视频内容,您最终可能需要在某些地方使用它.

目前,iOS领先于Mac,因为它可以从头开始使用AV Foundation.Mac媒体框架的未来很可能直接是AV基金会(QTKit是顶部的轻量级垫片)或者看起来非常相似的QTKit扩展.

对于音频而言,Core Audio位于Mac和iOS上,不会很快消失.它非常强大,但在某些地方有些迟钝.幸运的是,在线支持非常好; 该邮件列表是一个重要的资源.

对于过滤器和帧级处理,您可以像其他人一样提到Core Video,以及Core Image.对于动态图形,Quartz Composer包含一个图形编辑器和一个插件架构来添加自己的补丁.对于程序化程序动画和轻松混合渲染模型(OpenGL,Quartz,视频等),有Core Animation.

除了所有这些,当然没有理由你不能使用内置的东西不能做你想要的开源库.


要在下面说明您的评论:

在QuickTime(和QTKit)中,音频和视频等各种数据类型表示为轨道.可能不会立即清楚QuickTime可以打开音频以及视频文件格式.结合音频和视频的常用方法是:

  1. QTMovie使用您的视频文件创建一个.
  2. QTMovie使用音频文件创建一个.
  3. 获取QTTrack表示音频的对象,并将其添加到QTMovie包含视频的视频中.
  4. 展平电影,因此它不仅包含对其他电影的引用,而且实际上包含音频数据.
  5. 将电影写入磁盘.

这是Blender的一个例子.您将看到如何在end_qt功能中完成A/V多路复用.那里还有一些使用Core Audio的方法AudioConverter*.(有一些经典的QuickTime导出代码,quicktime_export.c但它似乎没有音频.)