DASH 103 - Manifest
23 Jan 2016 Kategori: LinuxKemarin
Post yang lalu kita membahas bagaimana “generate” content dari video file biasa ke format DASH. Kemarin kita menggunakan software x264 untuk re-encoding dan MP4Box untuk segmentasi dan menghasilkan file manifest (.MPD)
Cara lain
Ada cara lain yang lebih mudah untuk generate content yaitu menggunakan layanan dari BitCodin. Daftar! kemudian akan mendapatkan 2.5 Gb encoding file gratis per bulan. Kita bisa memilih banyaknya bitrate, resolusi, frame per second (fps) dan lain-lain.
Isi manifest
Sekarang kita akan melihat isi dari file manifest(.mpd) yang sudah digenerate melalui MP4Box ataupun BitCodin.
<?xml version="1.0" encoding="UTF-8" ?>
<MPD type="static" availabilityStartTime="2015-09-15T11:37:02Z" mediaPresentationDuration="PT4M37S" minBufferTime="PT10S" xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-main:2011">
<Period start="PT0S">
<AdaptationSet mimeType="video/mp4" codecs="avc1.42c00d">
<Representation width="1280" height="720" frameRate="30" id="720" bandwidth="2400000">
<SegmentList duration="10">
<Initialization sourceURL="http://example.com/video-2400/init.mp4"/>
<SegmentURL media="http://example.com/video-2400/segment-0.m4s"/>
<SegmentURL media="http://example.com/video-2400/segment-1.m4s"/>
</SegmentList>
</Representation>
<Representation width="426" height="238" frameRate="30" id="480" bandwidth="400000">
<SegmentList duration="10">
<Initialization sourceURL="http://example.com/video-400/init.mp4"/>
<SegmentURL media="http://example.com/video-400/segment-0.m4s"/>
<SegmentURL media="http://example.com/video-400/segment-1.m4s"/>
</SegmentList>
</Representation>
</AdaptationSet>
<AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.2">
<Representation audioSamplingRate="44100" id="128" bandwidth="128000">
<SegmentList duration="10">
<Initialization sourceURL="http://example.com/audio-128/init.mp4"/>
<SegmentURL media="http://example.com/audio-128/segment-0.m4s"/>
<SegmentURL media="http://example.net/audio-128/segment-1.m4s"/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>
file .mpd pada dasarnya adalah file .xml yang mempunyai skema-skema standard DASH. Contoh di atas adalah contoh sederhana dari file manifest. Skema-skema yang harus ada adalah:
<MPD>
: menandakan bahwa ini adalah file manifest<Period>
: period merupakan penjelasan sebuah media file bisa berupa audio atau video dalam satu periode waktu. Ini bisa berguna untuk menyisipkan iklan di tengah-tengah video. Misal: periode 1 untuk video selama 2 menit kemudian periode 2 untuk iklan selama 30 detik kemudian periode 3 untuk lanjutan video.<Adaptation Set>
: satuan dari berbagai macam kualitas dari file yang sama. Contoh ada satu video dengan berbagai macam kualitas tetapi isi atau content nya tetap sama. Adaptation Set mengandung satu atau lebih Representation<Representation>
: kualitas tertentu dari sebuah video. Biasanya terjadi perpindahan dari satu Representation ke Representation yang lain apabila terjadi penurunan atau perbaikan kualitas video.<Segment>
: bagian terkecil dari DASH yang merupakan penjelasan dimana dan bagaimana file chunck itu diakses dan dijalankan.
Minggu depan
Setelah mengenal skema-skema apa saja yang harus ada pada file .mpd. Minggu depan kita akan membahas parameter-parameter umum apa saja yang ada dalam tiap-tiap skema tersebut beserta penjelasannya.