2011-11-08 21 views
5

Ho un dispositivo hardware personalizzato che invia un flusso video.Aggiungere il supporto a QuickTime per l'hardware di input video personalizzato

Come può rendere questo flusso disponibile per un'applicazione QuickTime?

Lunga storia: su Windows, creo un filtro DirectShow, quindi qualsiasi applicazione compatibile con DirectShow può eseguire lo streaming dal mio dispositivo. Mi piacerebbe fare lo stesso su Mac OS X. Immagino che QuickTime sia la strada da percorrere, ma non riesco a trovare la risposta precisa sul sito web degli sviluppatori Apple.

+0

Credo che quello che stai cercando sia il CoreMedia.framework introdotto in 10.7 Lion e iOS4. Maggiori dettagli qui insieme a API e campioni: http://developer.apple.com/library/IOs/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html#//apple_ref/doc/uid/TP40010188-CH5- SW2. –

+1

@SaurabhG: quali parti sono rilevanti per qualcuno che implementa il supporto per un dispositivo, piuttosto che l'utilizzo di un'applicazione di un dispositivo? –

+0

E la guida corrispondente per OSX - http://developer.apple.com/library/mac/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40010188-CH1-SW3 Si prega di commentare se questo aiuta! –

risposta

4

Con Mac OS 10.7 Apple ha fatto il CoreMediaIO.framework public.
CoreMediaIO è un livello di astrazione del dispositivo (DAL) per hardware multimediale. Sostituisce la tradizionale API del componente VDIG di QuickTime.
C'è il a small section about this framework nel capitolo "Livello media" della panoramica sulla tecnologia Mac OS X.

Sfortunatamente CoreMediaIO non è ancora presente nella documentazione di Apple, ma ha alcuni file di intestazione molto dettagliati.
Si trovano in:

/System/Library/Frameworks/CoreMediaIO.framework/Headers 

CMIOHardware sembra essere un buon punto di partenza (dalla sezione "Sommario" nell'intestazione):

Il livello di astrazione del dispositivo CoreMediaIO (DAL) fornisce astrazione attraverso cui le applicazioni possono accedere all'hardware multimediale. A fare questo, il DAL fornisce un piccolo insieme di oggetti che forniscono l'accesso ai vari pezzi del sistema. La classe base per tutti gli oggetti CoreMediaIO è la classe CMIOObject. Altre importanti classi includono CMIOSystemObject, CMIODevice, CMIOStream e CMIOControl.


Se è necessario supportare le versioni precedenti di OS X, si potrebbe anche dare un'occhiata a ciò che il Developer Library has to offer.
I componenti VDIG sono deprecati e solo a 32 bit.

0

speranza di controllare HTTP live streaming

+0

In che modo ciò contribuisce ad aggiungere supporto in QuickTime per un nuovo tipo di dispositivo di input video? –

+0

Ehi, Peter, quando menzioni lo streaming video, il dispositivo invia il flusso sulla rete? o è solo un dispositivo di acquisizione? – Allen

+0

Non ho menzionato i flussi video. Per quanto posso dire, la domanda è chiedere di aggiungere il supporto per un dispositivo personalizzato che deve essere collegato localmente, non una sorgente di streaming sulla rete. Anche se è collegato in rete, ciò non significa necessariamente che si tratta di un server HTTP o che l'interrogante può modificare il suo contenuto per supportare HTTP Live Streaming. –