Panduan ini menjelaskan fitur opsi manifes yang didukung dari Video Stitcher API. Dengan begitu, Anda dapat menyesuaikan manifes video yang digabungkan. Opsi manifes dikonfigurasi dalam permintaan pembuatan sesi. Untuk informasi selengkapnya, lihat referensi berikut:
- Mengelola sesi live
- Mengelola sesi live yang diaktifkan oleh Google Ad Manager
- Mengelola sesi VOD
- Mengelola sesi VOD yang diaktifkan oleh Google Ad Manager
Sebelum memulai
Pastikan Anda memahami konsep dan terminologi pengantar di Video Stitcher API. Untuk mengetahui informasi selengkapnya, lihat ringkasan teknis.
Pengantar
Secara default, manifes video yang digabungkan akan berisi rendering media yang sama dengan manifes video sumber. Manifes sumber dapat berisi beberapa interpretasi media yang tidak dapat diputar oleh semua pemutar. Misalnya, video yang dienkode dapat berisi codec video H.264 dan H.265, tetapi pemutar di satu perangkat mungkin hanya dapat memutar H.264.
Dengan menentukan codec atau kecepatan bit yang akan disertakan dalam manifes video, Anda dapat menentukan render video yang akan ditampilkan dalam manifes video yang digabungkan.
Opsi manifes
Objek ManifestOptions
memberi Anda
beberapa opsi untuk menyesuaikan manifes video yang digabungkan.
HLS
Anda dapat menyesuaikan hal berikut untuk manifes video HLS yang digabungkan:
- Memfilter menurut codec
- Hanya menyertakan kecepatan bit tertentu
- Mengurutkan render video
Untuk bagian berikutnya, asumsikan manifes video sumber berikut:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=1920x1080,CODECS="avc1.42e00a,mp4a.40.2"
h264/fhd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
h264/sd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
h264/hd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=400000,RESOLUTION=1920x1080,CODECS="hvc1.1.4.L126.B0,mp4a.40.2"
h264/fhd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=100000,RESOLUTION=640x360,CODECS="hvc1.1.4.L126.B0,mp4a.40.2"
h264/sd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=200000,RESOLUTION=1280x720,CODECS="hvc1.1.4.L126.B0,mp4a.40.2"
h264/hd/index.m3u8
Memfilter menurut codec
Untuk memfilter rendering video menurut codec, tetapkan codec di kolom
manifestOptions
opsional saat membuat sesi. Misalnya, untuk hanya
menampilkan H.264 dalam manifes yang digabungkan, tetapkan codec dalam array
includeRenditions
:
{ "manifestOptions": { "includeRenditions": [ { "codecs": "avc1.42e00a,mp4a.40.2", }, ], }, }
Berikut ini yang akan ditampilkan dalam manifes yang digabungkan:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=1920x1080,CODECS="avc1.42e00a,mp4a.40.2"
h264/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
h264/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
h264/index.m3u8
Hanya menyertakan kecepatan bit tertentu
Untuk memfilter rendering video menurut kecepatan bit, tetapkan kecepatan bit di kolom
manifestOptions
opsional saat membuat sesi. Misalnya, untuk hanya menampilkan
dua kecepatan bit dalam manifes yang digabungkan, tetapkan kecepatan bit dalam array
includeRenditions
:
{ "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, }, { "bitrateBps": 440000, }, ], }, }
Berikut ini yang akan ditampilkan dalam manifes yang digabungkan:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=1920x1080,CODECS="avc1.42e00a,mp4a.40.2"
h264/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
h264/index.m3u8
Urutkan menurut kecepatan bit
Beberapa pemutar mungkin sensitif terhadap urutan rendering video. Anda dapat
menetapkan urutan rendering video ke ascending
atau descending
, seperti dalam
hal berikut:
{ "manifestOptions": { "bitrateOrder": "ascending", }, }
Berikut ini yang akan ditampilkan dalam manifes yang digabungkan:
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=100000,RESOLUTION=640x360,CODECS="hvc1.1.4.L126.B0,mp4a.40.2"
h264/sd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=150000,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
h264/sd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=200000,RESOLUTION=1280x720,CODECS="hvc1.1.4.L126.B0,mp4a.40.2"
h264/hd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=240000,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
h264/hd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=400000,RESOLUTION=1920x1080,CODECS="hvc1.1.4.L126.B0,mp4a.40.2"
h264/fhd/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=440000,RESOLUTION=1920x1080,CODECS="avc1.42e00a,mp4a.40.2"
h264/fhd/index.m3u8
DASH
Anda dapat menyesuaikan hal berikut untuk manifes video DASH yang digabungkan:
- Memfilter menurut codec
- Hanya menyertakan kecepatan bit tertentu
- Mengurutkan render video
Untuk bagian berikutnya, asumsikan manifes video sumber berikut:
<Period id="0" start="PT33160.000S">
<AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720">
<Representation mimeType="video/mp4" id="640x360-h264" codecs="avc1.64001E" width="640" height="360" startWithSAP="1" bandwidth="150000">
...
</Representation>
<Representation mimeType="video/mp4" id="1280x720-h264" codecs="avc1.64001E" width="1280" height="720" startWithSAP="1" bandwidth="240000">
...
</Representation>
<Representation mimeType="video/mp4" id="640x360-h265" codecs="hvc1.1.4.L126.B0" width="640" height="360" startWithSAP="1" bandwidth="100000">
...
</Representation>
<Representation mimeType="video/mp4" id="1280x720-h265" codecs="hvc1.1.4.L126.B0" width="1280" height="720" startWithSAP="1" bandwidth="200000">
...
</Representation>
</AdaptationSet>
<AdaptationSet segmentAlignment="true">
<Representation mimeType="audio/mp4" id="640x360-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
<Representation mimeType="audio/mp4" id="1280x720-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
</AdaptationSet>
</Period>
Memfilter menurut codec
Untuk memfilter rendering video menurut codec, tetapkan codec di kolom
manifestOptions
opsional saat membuat sesi. Misalnya, untuk hanya
menampilkan H.264 dalam manifes yang digabungkan, tetapkan codec dalam array
includeRenditions
:
{ "manifestOptions": { "includeRenditions": [ { "codecs": "hvc1.1.4.L126.B0", }, ], }, }
Berikut ini yang akan ditampilkan dalam manifes yang digabungkan:
<Period id="0" start="PT33160.000S">
<AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720">
<Representation mimeType="video/mp4" id="640x360-h265" codecs="hvc1.1.4.L126.B0" width="640" height="360" startWithSAP="1" bandwidth="100000">
...
</Representation>
<Representation mimeType="video/mp4" id="1280x720-h265" codecs="hvc1.1.4.L126.B0" width="1280" height="720" startWithSAP="1" bandwidth="200000">
...
</Representation>
</AdaptationSet>
<AdaptationSet segmentAlignment="true">
<Representation mimeType="audio/mp4" id="640x360-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
<Representation mimeType="audio/mp4" id="1280x720-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
</AdaptationSet>
</Period>
Menyertakan kecepatan bit tertentu
Untuk memfilter rendering video menurut kecepatan bit, tetapkan kecepatan bit di kolom
manifestOptions
opsional saat membuat sesi. Misalnya, untuk hanya menampilkan
dua kecepatan bit dalam manifes yang digabungkan, tetapkan kecepatan bit dalam array
includeRenditions
:
{ "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, }, { "bitrateBps": 240000, }, ], }, }
Berikut ini yang akan ditampilkan dalam manifes yang digabungkan:
<Period id="0" start="PT33160.000S">
<AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720">
<Representation mimeType="video/mp4" id="640x360-h264" codecs="avc1.64001E" width="640" height="360" startWithSAP="1" bandwidth="150000">
...
</Representation>
<Representation mimeType="video/mp4" id="1280x720-h264" codecs="avc1.64001E" width="1280" height="720" startWithSAP="1" bandwidth="240000">
...
</Representation>
</AdaptationSet>
<AdaptationSet segmentAlignment="true">
<Representation mimeType="audio/mp4" id="640x360-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
<Representation mimeType="audio/mp4" id="1280x720-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
</AdaptationSet>
</Period>
Urutkan menurut kecepatan bit
Beberapa pemutar mungkin sensitif terhadap urutan rendering video. Anda dapat
menetapkan urutan rendering video ke ascending
atau descending
, seperti dalam
hal berikut:
{ "manifestOptions": { "bitrateOrder": "descending", }, }
Berikut ini yang akan ditampilkan dalam manifes yang digabungkan:
<Period id="0" start="PT33160.000S">
<AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720">
<Representation mimeType="video/mp4" id="1280x720-h264" codecs="avc1.64001E" width="1280" height="720" startWithSAP="1" bandwidth="240000">
...
</Representation>
<Representation mimeType="video/mp4" id="1280x720-h265" codecs="hvc1.1.4.L126.B0" width="1280" height="720" startWithSAP="1" bandwidth="200000">
...
</Representation>
<Representation mimeType="video/mp4" id="640x360-h264" codecs="avc1.64001E" width="640" height="360" startWithSAP="1" bandwidth="150000">
...
</Representation>
<Representation mimeType="video/mp4" id="640x360-h265" codecs="hvc1.1.4.L126.B0" width="640" height="360" startWithSAP="1" bandwidth="100000">
...
</Representation>
</AdaptationSet>
<AdaptationSet segmentAlignment="true">
<Representation mimeType="audio/mp4" id="640x360-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
<Representation mimeType="audio/mp4" id="1280x720-audio" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="48472">
...
</Representation>
</AdaptationSet>
</Period>