2011-04-08 129 views
6

Mac OS X的新手,熟悉Windows。 Windows有DirectShow,大量的內置過濾器,COM編程和GraphEdit,用於在代碼中構建的圖形上進行非常快速的原型設計和窺探。適用於DirectShow的Mac OS X,GraphEdit

我現在要去Mac上使用攝像頭,網絡攝像頭,麥克風,色彩空間,文件,分割,同步,渲染,文件讀取,文件保存以及我要採取的許多事情在將現場表演的應用程序放在一起時,可以使用DirecShow。在Mac方面,到目前爲止,我發現......什麼都沒有!要麼我不知道要去哪裏看,要麼我最困難的時間是將Mac的聲譽放在一起,以便於處理媒體,並且具有連貫的編程能力,並能夠通過媒體操作構建模塊。

我已經看到一些弱的建議,使用gstreamer或QT的一些庫,但我不能讓自己相信這是蘋果的方式去。我已經遇到了一些QuickTime文檔,但我不想做轉換,精靈,廣播......

在DirectShow上訓練大腦意味着我甚至不知道Apple如何考慮提供DirectShow-像功能。這意味着我不知道正確的關鍵字,甚至不知道在哪裏尋找。圖書?買了幾個。現在我可以編寫一些可以編輯你姐姐婚禮視頻的代碼(如果我無法在這個主題上取得像樣的進展,那麼我可能會問,這對你有什麼價值),但是爲了確定哪些過濾器可用以及如何將它們串在一起......什麼都沒有。建議?

+0

我相信QuickTime是它。 QT是[底層的iTunes]。(http://developer.apple.com/quicktime/)查看[全屏視頻播放]的示例代碼。(http://developer.apple.com/ library/mac /#samplecode/MyMediaPlayer/Introduction/Intro.html) – 2011-04-08 18:31:23

+1

不!我錯了。嘗試提及過濾器的[Core Video](http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Intro/CVProg_Intro.html)。 – 2011-04-08 18:33:43

+0

感謝您的指點。我最初看Core Video可能會誤導我。它似乎認爲從視頻中提取一幀非常好,而不是我正在進入的方向。 – 2011-04-09 01:15:22

回答

10

視頻處理正在經歷目前在Mac上一個巨大的轉變。 QuickTime非常古老,但也很強大,所以它在過去5年左右一直在經歷一個漸進式更換流程。

也就是說,QTKit是未來支持的QuickTime子集(捕獲,回放,格式轉換和基本視頻編輯)。傳統的QuickTime API目前仍然存在,並且可能至少會保留到其主要功能可用於其他位置,但只有32位。對於一些涉及視頻的東西,你可能最終需要在地方使用它。

目前,iOS領先於Mac,因爲它可以從頭開始AV Foundation。 Mac媒體框架的未來可能是AV基金會直接(QTKit是頂級的輕量級墊片),或者看起來非常相似的QTKit的擴展。

對於音頻有核心音頻是在Mac和iOS,並不會很快消失的任何時間。這是相當強大的,但在某些地方有些鈍。幸運的是,在線支持非常好, mailing list是必不可少的資源。

對於過濾器和幀級處理,您可以使用Core Video作爲其他人提到的,以及Core Image。對於運動圖形有Quartz Composer其中包括一個圖形編輯器和一個插件架構來添加您自己的補丁。對於編程式程序動畫和輕鬆混合渲染模型(OpenGL,Quartz,視頻等),有Core Animation

除了所有這些,當然沒有理由不能使用內置的東西沒有做你想要的開源庫。


爲了解決如下的評論:

在QuickTime中(和QTKit),單獨的數據類型,如音頻和視頻被表示爲軌道。QuickTime可能不會立即清楚打開音頻以及視頻文件格式。一種常見的方法來組合使用音頻和視頻將是:

  1. 創建視頻文件QTMovie
  2. 創建您的音頻文件QTMovie
  3. 以代表音頻QTTrack對象,並將其與它的視頻添加到QTMovie
  4. 壓扁的電影,所以它不只是包含其他電影的參考,但實際上包含了音頻數據。
  5. 寫的電影光盤。

Here's an example from Blender。您將看到如何在end_qt函數中完成A/V複用。在那裏還有一些Core Audio的使用(AudioConverter*)。 (有沒有在quicktime_export.c一些經典的QuickTime導出代碼,但它似乎並沒有做音頻。)

+0

首先,感謝您提供如此全面的信息。我仍然試圖讓我的思想圍繞它。暫時擱置一種技術取代另一種技術。似乎有這麼多動人的部分,需要注意的很多不同的領域。通過這種方式,哲學與DirectShow看起來非常不同。如果我想處理一些音頻,處理一些視頻,然後加入並確保它們基於捕捉時間同步,我會在哪裏看?這在DirectShow中很明顯。有了這種組織在Mac端,它表面上看起來像是一個事後的想法 – 2011-04-09 01:14:21

+0

請看我編輯的答案......我的迴應太長了評論。 – 2011-04-09 02:00:28