Bagikan melalui


Gambaran Umum Pengodean di Media Foundation

Topik ini adalah gambaran umum API pengodean file yang disediakan di Microsoft Media Foundation.

Terminologi

Encoding adalah istilah umum yang mencakup beberapa proses berbeda:

  1. Mengodekan aliran audio atau video ke dalam format terkompresi. Misalnya, mengodekan streaming video ke video H.264.
  2. Menggabungkan ("muxing") satu atau lebih aliran menjadi satu aliran byte. Biasanya, aliran masuk dikodekan terlebih dahulu. Langkah ini mungkin melibatkan pengemasan paket aliran yang dikodekan.
  3. Menulis aliran byte yang digandakan ke dalam sebuah berkas, seperti berkas MP4 atau Advanced Systems Format (ASF). Atau, aliran multipleks dapat dikirim melalui jaringan.

Diagram berikut menunjukkan ketiga proses ini:

diagram memperlihatkan proses pengodean dan multipleksing

Variasi proses ini meliputi transcoding dan remuxing:

  • Transcoding berarti mendekode file yang ada, mengodekan ulang aliran, dan melakukan multipleks ulang aliran yang dikodekan. Transcoding mungkin dilakukan untuk mengonversi file dari satu jenis pengodean ke jenis pengodean lainnya; misalnya, untuk mengonversi video H.264 ke Windows Media Video (WMV). Ini juga dapat dilakukan untuk mengubah laju bit yang dikodekan; ukuran bingkai video; kecepatan bingkai; atau parameter format lainnya.
  • Remultiplexing atau remuxing berarti memisahkan dan menyatukan kembali aliran dari sebuah file tanpa tahap dekode atau enkode. Ini mungkin dilakukan untuk mengubah bagaimana paket audio/video di-multipleks, untuk menghapus streaming, atau untuk menggabungkan aliran dari dua file sumber yang berbeda.
  • Transrating adalah kasus transkode khusus, di mana laju bit diubah tanpa mengubah jenis kompresi. Misalnya, Anda dapat mengonversi file laju bit tinggi ke laju bit yang lebih rendah. Skenario umum di mana transrasi dapat digunakan adalah saat menyinkronkan konten media dari PC ke perangkat portabel. Jika perangkat portabel tidak mendukung laju bit tinggi, file mungkin diubah laju bitnya sebelum disalin ke perangkat portabel.

Diagram blok di bawah ini menunjukkan proses pengodean ulang (transcoding).

diagram yang memperlihatkan proses transcoding

Diagram blok berikut menunjukkan proses remuxing.

diagram memperlihatkan proses remuxing

Dokumentasi ini terkadang menggunakan istilah penyandian yang mencakup transcoding dan remuxing. Ketika penting untuk membedakannya, dokumentasi akan mencatat perbedaannya.

Lihat juga: Media Foundation: Konsep Penting.

Arsitektur Pengodean Media Foundation

Pada lapisan terendah arsitektur Media Foundation, jenis komponen berikut digunakan untuk pengodean:

  • Untuk transcoding, Sumber Media digunakan untuk mendemultiplex file sumber.
  • Untuk proses pengodean, Media Foundation Transforms digunakan untuk mendekode dan mengodekan aliran.
  • Untuk proses multipleks, Media Sinks digunakan untuk multipleks aliran-aliran dan menulis aliran multipleks tersebut ke file atau jaringan.

Diagram berikut menunjukkan aliran data antara komponen-komponen ini dalam skenario transkode:

Diagram menunjukkan komponen yang digunakan dalam transkode

Sebagian besar aplikasi tidak akan menggunakan komponen ini secara langsung. Sebagai gantinya, aplikasi akan menggunakan API tingkat lebih tinggi yang mengelola komponen tingkat bawah ini. Media Foundation menyediakan dua API tingkat lebih tinggi untuk pengodean:

Sesi Media

Sesi Media menyediakan alur end-to-end yang memindahkan data dari sumber media, melalui codec, dan akhirnya ke sink media. Aplikasi mengontrol Sesi Media dan menerima peristiwa status dari Sesi Media.

Pembaca Sumber ditambah Penulis Sink

Pembaca Sumber Media membungkus sumber media dan, secara opsional, dekoder. Ini memberikan sampel yang dikodekan atau didekodekan ke aplikasi. Komponen Sink Writer membungkus media sink dan encoder secara opsional. Aplikasi meneruskan sampel ke Sink Writer.

Diagram berikut menunjukkan Sesi Media:

diagram memperlihatkan bagaimana sesi media melakukan transcoding

API Transcode (kotak yang diarsir biru) adalah sekumpulan API yang diperkenalkan di Windows 7, yang mempermudah pengaturan Sesi Media untuk pengkodean.

Diagram berikutnya memperlihatkan Pembaca Sumber dan Penulis Sink:

diagram memperlihatkan transcoding dengan pembaca sumber dan penulis sink

Pengodean dan Penulisan File

Media Foundation Programming: Konsep Penting