Luthfi Idris Cerita Linux, Jerman Wirausaha dan Hidup Sederhana

DASH 104 - Manifest bag 2

Minggu lalu

Minggu lalu kita membahas manifest file. Manifest file DASH biasanya dalam format .mpd. Format ini yang akan digunakan oleh DASH player untuk memutar video. Biasanya dalam satu manifest file terdapat satu <mpd> yang di dalamnya ada satu atau lebih <Period>, satu atau lebih <AdaptationSet>ada pada satu Periode, satu atau lebih di dalam satu AdaptationSet. Satu `` dan satu atau lebih `` yang ada di dalam Representation. Jadi semua ini seperti hirarki direktori.

Contoh parameter

Sekarang kita akan membahas parameter yang ada dalam skema-skema tersebut. Kita ambil contoh manifest file dari post minggu lalu. Jelas bahwa tiap XML file harus diawali dengan header seperti ini <?xml version="1.0" encoding="UTF-8" ?>. Kemudian kita akan bahas baris perbaris.

<mpd>
  • type:static/dynamic. ‘Static’ artinya untuk on-demand sedangkan ‘Dynamic’ untuk live streaming.

  • availabilityStartTime: mulai tersedianya video ini

  • mediaPresentationDuration: durasi video
  • minBufferTime: minimum durasi buffer atau penyangga file yang sudah didownload untuk persiapan file selanjutnya
  • xmlns dan profile adalah yang menunjukkan menggunakan codec mana, dalam contoh ini isoff dan standard apa.
<period>
  • start: waktu dimulainya period ini. Seperti yang saya tulis minggu lalu, period ini berguna apabila terdapat 2 video atau lebih dalam satu <mpd>. Contohnya, iklan yang berada di tengah-tengah video.
<AdaptationSet>
  • mimeType: tipe file yang digunakan. Ini digunakan untuk http sehingga mengenali tipe file ini. contoh lainnya adalah “video/webm”
  • codecs: nomor kode untuk codec mp4. untuk file webm misalnya berbeda lagi.

Bisa dilihat ada 2 AdaptationSet di sini, untuk video dan audio. AdaptationSet video ada 2 Representation, sedangkan audio hanya 1.

<Representation>
  • width: lebar resolusi video
  • height: tinggi resolusi video
  • framerate: banyaknya gambar dalam satuan detik
  • id: nama untuk Representation ini
  • bandwidth: bit rate atau besaran bandwidth yang digunakan untuk stream Represenatation ini
Segment
  • duration: durasi tiap segment atau chunk atau bagian kecil dari video

saya akan membahas tipe-tipe Segment yang ada pada DASH. Segment ini sangat flexible, bisa disesuaikan dengan kebutuhan atau kondisi system kita.

<Initialization>

Initialization adalah file yang pertama kali didownload pada saat player sudah menentukan Representation mana yang akan digunakan. Ini bertujuan untuk mengenalkan player pada Representation ini. Initialization tidak mengandung satupun konten, hanya parameter saja.

  • sourceURL: alamat Initialization

Saya tidak akan membahas <SegmentURL> karena itu termasuk kedalam tipe-tipe <Segment> yang akan saya bahas minggu depan. Tiap skema membutuhkan skema penutup. Aturan ini adalah aturan standard dari XML file.

Berikutnya

Seperti yang saya sudah tulis. Minggu depan kita akan membahas tipe-tipe Segment. Hal ini sangat menarik karena ternyata aturan atau standard DASH tidak kaku tetapi sangat flexible dan luas. Tergantung kondisi dan kebutuhan. Tetapi bisa juga sangat membingungkan karena terlalu banyak pilihan.

« Pos Sebelumnya Pos Sesudahnya »