Manifestasi DASH yang dipadatkan - AWS Elemental MediaPackage

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Manifestasi DASH yang dipadatkan

Kemampuan untuk memadatkan manifes DASH untuk meningkatkan kinerja dan pemrosesan pada perangkat berdaya rendah untuk VOD dan live tersedia di. AWS Elemental MediaPackage

Manifes DASH default dari MediaPackage menyertakan data duplikat tentang setiap representasi (track). Bagi beberapa pemain, memproses manifes dengan semua data ini sulit dan lambat. Untuk mengurangi sebagian beban, MediaPackage dapat memadatkan manifes dengan memindahkan beberapa atribut dari Representation objek ke AdaptationSet objek. Dengan cara ini, daripada memiliki atribut yang ditentukan untuk setiap representasi dalam manifes, mereka didefinisikan sekali pada tingkat yang lebih tinggi. Representasi kemudian mewarisi atribut ini dari set adaptasi.

contoh Manifes DASH default

Dalam contoh berikut, SegmentTemplate objek dan semua elemennya terdaftar di setiap Representation. Setiap set adaptasi dalam manifes memiliki tata letak yang sama:

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="640" height="360" frameRate="30/1" bandwidth="749952" codecs="avc1.640029"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1543947824" initialization="index_video_1_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="2" width="854" height="480" frameRate="30/1" bandwidth="1000000" codecs="avc1.640029"> <SegmentTemplate timescale="30000" media="index_video_3_0_$Number$.mp4?m=1543947824" initialization="index_video_3_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation id="3" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.640029"> <SegmentTemplate timescale="30000" media="index_video_5_0_$Number$.mp4?m=1543947824" initialization="index_video_5_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet>
contoh Manifes DASH yang dipadatkan

Dalam contoh ini, SegmentTemplate objek dan semua elemennya runtuh menjadi satu dan dipindahkan keAdaptationSet. Perangkat pemutaran memahami bahwa setiap representasi dalam set adaptasi ini menggunakan templat yang sama ini:

<AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="30000" media="index_video_$RepresentationID$_0_$Number$.mp4?m=1543947824" initialization="index_video_$RepresentationID$_0_init.mp4?m=1543947824" startNumber="1"> <SegmentTimeline> <S t="62000" d="60000" r="9"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" width="640" height="360" frameRate="30/1" bandwidth="749952" codecs="avc1.640029"/> <Representation id="2" width="854" height="480" frameRate="30/1" bandwidth="1000000" codecs="avc1.640029"/> <Representation id="3" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.640029"/> </AdaptationSet>

Untuk informasi tentang pemadatan manifes DASH, lihat Bagaimana AWS Elemental MediaPackage Compacts Manifests.

Bagaimana AWS Elemental MediaPackage kompak memanifestasikan

Untuk memadatkan manifes DASH dari AWS Elemental MediaPackage konsol, pilih Compact for Manifest layout pada endpoint DASH. Untuk memastikan bahwa trek tersedia pada waktu yang tepat, MediaPackage periksa laju bingkai dan laju pengambilan sampel audio dalam konten sumber untuk menentukan apakah manifes dapat dipadatkan.

catatan

Trek teks selalu menggunakan kecepatan yang sama, jadi MediaPackage selalu padatkan set adaptasi dengan teks.

MediaPackage mengambil tindakan berikut:

  • Jika tarifnya sama di semua representasi dalam set adaptasi, MediaPackage runtuh semua SegmentTemplate objek menjadi satu dan memindahkannya ke level. AdaptationSet Dengan cara ini, informasi dalam template tidak diulang di seluruh manifes. Agar perangkat pemutaran dapat menggunakan informasi templat yang sama di seluruh representasi, MediaPackage tambahkan $RepresentationID$ variabel ke URL media dan initialization minta. Perangkat pemutaran menggantikan variabel ini dengan ID representasi yang saat ini diminta. MediaPackage juga memindahkan ContentProtection elemen, ketika ada, ke set adaptasi juga.

  • Jika tarifnya berbeda di seluruh representasi, MediaPackage padatkan dan pindahkan SegmentTemplate dengan tingkat yang paling sering ke. AdaptationSet Representasi dengan tingkat yang berbeda menjaga template segmen mereka. Tingkat untuk representasi mengesampingkan yang ada di set adaptasi.

  • Jika ada tepat dua frame rate yang digunakan dalam set adaptasi video, MediaPackage padatkan sebagai berikut:

    • Ketika 24 dan 48 digunakan, template yang dipadatkan menggunakan 48 untuk frame rate dan 48000 untuk basis waktu.

    • Ketika 25 dan 50 digunakan, template yang dipadatkan menggunakan 50 untuk frame rate dan 50000 untuk basis waktu.

    • Ketika 29,97 dan 59,94 digunakan, template yang dipadatkan menggunakan 59,95 untuk frame rate dan 60000 untuk basis waktu.

    • Ketika 30 dan 60 digunakan, template yang dipadatkan menggunakan 60 untuk frame rate dan 60000 untuk basis waktu.

    Jika ada dua frame rate video yang digunakan tetapi tidak dalam salah satu pola ganda di atas, maka set itu tidak dapat dipadatkan.

  • Jika tidak ada tingkat duplikat di seluruh representasi dalam set adaptasi, maka set itu tidak dapat dipadatkan.