====== Programátorská rozhraní pro multimédia ====== Multimediální rozhraní slouží k práci s multimediálními daty v prostředí různých OS. ===== Video for Windows (VfW) ===== [[wp>Video for Windows]] * Soubor knihovem pro praci s videem * Načítání/ukládání AVI souborů (''AVIFile'') * Informace o souboru * Informace o datových tocích, získání dat z jednotlivých toků * Vytváření/zápis datových toků * Komprese/dekomprese video obrazu * Komprese/dekomprese zvuku * Zachytávání obrazu z kamer (''AVICap'') * Zobrazování bitmap (''DrawDib'') ===== Media Control Interface (MCI) ===== [[wp>Media Control Interface]] * API pro ovládání multimediálních zařízení (audio/video) * Umožňuje přehrávání a nahrávání. * Zapouzdřuje API nižší úrovně. * Podporuje WAVE, MIDI, video, CD, … * Ovládání nezávislé na typu zařízení. * Aplikace komunikuje s MCI pomocí * Zpráv – data reprezentována řetězci * Příkazů – data uložena ve strukturách ===== OpenGL ===== [[wp>OpenGL]] * Rozhraní pro akcelerovanou 3D grafiku * Otevřený standard * Stavový stroj, procedurální ===== DirectX ===== [[wp>DirectX]] * Rozhraní pro tvorbu multimediálních aplikací (grafika, zvuk, ovládání, …) v OS Microsoft Windows. * Objektově orientované, objektový model COM. * **DirectDraw**, **Direct 3D** – rychlá 2D, 3D grafika, přímý přístup do videopaměti grafických adaptérů, podpora více monitorů * **DirectSound**, **DirectSound 3D** – přehrávání a zaznamenávání zvuků, rychlé mixování a přístup na zvukové zařízení (podpora fyzikálních efektů – Dopplerův efekt) * **DirectMusic** – přehrávání hudby * **DirectInput** – vstupní zařízení * **DirectPlay** – komunikace po síti * **DirectShow** – zpracování audio/video streamů * Umožňuje přehrávání, nahrávání, modifikaci multimediálních dat v reálném čase (použité ve WMP). * Postaveno na základech technologie ActiveMovie. * Začleněno do DirectX od verze 5. * V současné době přesunuto do Microsoft Platform SDK. * Široká podpora formátů a kodeků (ASF, WMV, AVI, MP3, WAV, …) * Ovládání HW zařízení pro snímaní obrazu používající WDM a VFW, podpora TV karet, kamer, … ===== FFmpeg ===== [[wp>FFmpeg]] * Sada knihoven pro zpracování audio/video dat * Licencováno pod LGPL * Některé části knihovny jsou algoritmy implementované díky reverznímu inženýrství * Podporované formáty: * Video: MPEG (1, 2, 4), AVI, ASF, QuickTime, FLIC, Matroska * Zvuk: WAV, RealAudio, RAW * Obraz: JPEG, PNG, Targa, TIFF, PGM * Podporované kodeky: * Video: MPEG (1, 2, 4), WMV, H.261, H.263, MJPEG, HuffYUV * Zvuk: MPEG audio layer 2, MPEG layer 3, AC3, Vorbis * Vzniknul fork http://libav.org ===== ACM ===== [[wp>Windows legacy audio components]] Audio Compression Manager – API pro správu kodeků pro kompresi zvuku. ===== Adobe Flash ===== [[wp>Adobe Flash]] * Široké využití: animace, video (YouTube), hry, web * Vektorová i rastrová grafika * OOP jazyk ActionScript * Nahrazováno HTML5 ===== Graphics Device Interface (GDI) ===== [[wp>Graphics Device Interface]] * Součást [[wp>Windows API]] * Základní rozhraní pro 2D kreslení, device context (monitor, tiskárna, ...), blokové přenosy bitmap (''BitBlt'') ===== Xlib ===== [[wp>Xlib]] * Pro UNIX-like systémy * 2D grafika, window manažery, funkce pro komunikaci se serverem * Nadstavby: * [[wp>Qt (framework)|Qt]] * [[wp>GTK+]] ===== Zvuková rozhraní v Unix-like OS ===== ==== OSS ==== [[wp>Open Sound System]] * HW [[wp>MIDI]] a mixování * Plně duplexní operace (je možná současná obousměrná komunikace) ==== ALSA ==== [[wp>Advanced Linux Sound Architecture]] * HW [[wp>MIDI]] a mixování ve více kanálech * Plně duplexní operace