Gambaran Umum Sistem DirectShow

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Tantangan Multimedia

Bekerja dengan multimedia menghadirkan beberapa tantangan besar:

  • Aliran multimedia berisi data dalam jumlah besar, yang harus diproses dengan sangat cepat.
  • Audio dan video harus disinkronkan sehingga dimulai dan berhenti pada saat yang sama, dan diputar pada tingkat yang sama.
  • Data dapat berasal dari banyak sumber, termasuk file lokal, jaringan komputer, siaran televisi, dan kamera video.
  • Data hadir dalam berbagai format, seperti Audio-Video Interleaved (AVI), Advanced Streaming Format (ASF), Motion Picture Experts Group (MPEG), dan Digital Video (DV).
  • Programmer tidak tahu terlebih dahulu perangkat keras apa yang akan ada pada sistem pengguna akhir.

Solusi DirectShow

DirectShow dirancang untuk mengatasi setiap tantangan ini. Tujuan desain utamanya adalah untuk menyederhanakan tugas membuat aplikasi media digital pada platform Windows, dengan mengisolasi aplikasi dari kompleksitas transportasi data, perbedaan perangkat keras, dan sinkronisasi.

Untuk mencapai throughput yang diperlukan untuk melakukan streaming video dan audio, DirectShow menggunakan Direct3D dan DirectSound jika memungkinkan. Teknologi ini merender data secara efisien ke kartu suara dan grafis pengguna. DirectShow menyinkronkan pemutaran dengan merangkum data media dalam sampel bertanda waktu. Untuk menangani berbagai sumber, format, dan perangkat keras yang dimungkinkan, DirectShow menggunakan arsitektur modular, di mana aplikasi mencampur dan mencocokkan berbagai komponen perangkat lunak yang disebut filter.

DirectShow menyediakan filter yang mendukung perangkat pengambilan dan penyetelan berdasarkan Windows Driver Model (WDM), serta filter yang mendukung kartu pengambilan Video untuk Windows (VfW) yang lebih lama, dan codec yang ditulis untuk antarmuka Audio Compression Manager (ACM) dan Video Compression Manager (VCM).

Diagram berikut menunjukkan hubungan antara aplikasi, komponen DirectShow, dan beberapa komponen perangkat keras dan perangkat lunak yang didukung DirectShow.

arsitektur tingkat tinggi

Seperti yang diilustrasikan di sini, filter DirectShow berkomunikasi dengan, dan mengontrol, berbagai perangkat, termasuk sistem file lokal, tuner TV dan kartu pengambilan video, codec VfW, tampilan video (melalui DirectDraw atau GDI), dan kartu suara (melalui DirectSound). Dengan demikian, DirectShow mengisolasi aplikasi dari banyak kompleksitas perangkat ini. DirectShow juga menyediakan filter kompresi dan dekompresi asli untuk format file tertentu.

Tentang DirectShow