Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ikhtisar
Tipe Kontainer File
Penulis sink memiliki dukungan bawaan untuk beberapa jenis kontainer file. Untuk daftar lengkapnya, lihat MF_TRANSCODE_CONTAINERTYPE. Anda dapat mendukung tipe kontainer tambahan dengan menulis kustomisasi sink media . Kontainer file ditentukan saat Anda membuat instans baru dari sink writer.
Format Aliran
Untuk setiap aliran, aplikasi harus menentukan yang berikut ini.
- Format input adalah format yang dikirim aplikasi ke penulis sink.
- Format output adalah format yang akan ditulis ke file.
Format input dan output dapat dikompresi atau tidak dikompresi. Penulis "sink" mendukung kombinasi berikut:
- Input tidak dikompresi dengan output terkompresi. Ini adalah kasus umum, dan digunakan dalam skenario pengodean atau transkode. Pengode Microsoft Media Foundation harus tersedia yang dapat menerima jenis input dan mengodekan ke jenis output.
- Input terkompresi dengan output yang identik. Gunakan kombinasi ini untuk me-remux file tanpa transcoding.
- Input tidak dikompresi dengan output yang identik. Gunakan kombinasi ini untuk menulis audio atau video yang tidak dikompresi ke kontainer file.
Penulis sink tidak mendukung pengubahan resolusi video, konversi kecepatan bingkai, atau pemrosesan ulang audio, kecuali fitur ini disediakan oleh encoder. Jika tidak, aplikasi dapat menggunakan Digital Signal Processors untuk mengonversi data input, sebelum mengirim data ke
Membuat Penulis Sink
Ada dua fungsi yang membuat sink writer:
- MFCreateSinkWriterFromURL mengambil URL dari file output atau referensi ke aliran byte. Fungsi ini membuat sink media secara internal.
- MFCreateSinkWriterFromMediaSink membutuhkan sebuah pointer ke sink media yang sudah dibuat oleh aplikasi.
Jika Anda menggunakan salah satu sink media bawaan, fungsi MFCreateSinkWriterFromURL lebih disukai, karena pemanggil tidak perlu mengonfigurasi sink media.
Metode MFCreateSinkWriterFromURL menyediakan beberapa opsi untuk menentukan jenis kontainer file. Dalam kasus paling sederhana, fungsi menggunakan ekstensi nama file di URL untuk memilih kontainer file. Untuk detailnya, lihat halaman referensi fungsi.
Misalnya, kode berikut menentukan nama file "output.wmv" untuk URL. Berdasarkan ekstensi nama file, penulis sink akan memuat ASF Media Sink untuk membuat file Advanced Systems Format (ASF).
HRESULT hr = MFCreateSinkWriterFromURL(L"output.wmv", NULL, NULL, &pSinkWriter);
Dalam kasus MFCreateSinkWriterFromMediaSink, jenis file ditentukan oleh sink media.
Topik terkait