Penyaringan manifes - AWS Elemental MediaPackage

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

Penyaringan manifes

Dengan pemfilteran manifes, AWS Elemental MediaPackage secara dinamis menghasilkan manifes klien berdasarkan parameter yang Anda tentukan dalam kueri yang ditambahkan ke permintaan pemutaran Anda. Ini memungkinkan Anda melakukan hal-hal seperti membatasi akses penampil ke konten 4K HEVC premium, atau menargetkan jenis perangkat tertentu dan rentang laju sampel audio, semuanya dari satu titik akhir. Sebelumnya, Anda harus mengonfigurasi beberapa titik akhir untuk mencapai perilaku ini. MediaPackage sekarang menyediakan cara yang hemat biaya untuk secara dinamis menghasilkan manifes klien yang berbeda pada titik akhir yang sama.

Bekerja dengan filter manifes

Saat Anda menggunakan filter manifes, manifes yang dihasilkan hanya menyertakan aliran audio dan video yang cocok dengan karakteristik yang Anda tentukan dalam kueri. Jika tidak ada filter manifes yang digunakan, maka semua aliran yang tertelan hadir dalam aliran keluaran titik akhir. Pengecualian untuk ini adalah jika Anda telah mengatur filter aliran untuk titik akhir, seperti bitrate video minimum. Dalam hal ini, filter manifes diterapkan setelah filter aliran, yang dapat memiringkan output Anda, dan tidak disarankan.

Pemfilteran manifes dapat digunakan pada semua jenis titik akhir yang didukung oleh: MediaPackage

  • Apel HLS

  • DASH-ISO

  • Streaming Microsoft yang Lancar

  • CMAF

Untuk menggunakan pemfilteran manifes, tambahkan parameter aws.manifestfilter kueri ke permintaan pemutaran Anda. MediaPackage MediaPackage mengevaluasi kueri, dan menyajikan manifes klien berdasarkan parameter kueri tersebut. Kueri manifes tidak peka huruf besar/kecil dan panjangnya bisa mencapai 1024 karakter. Jika kueri salah bentuk, atau jika tidak ada aliran yang cocok dengan parameter kueri, MediaPackage mengembalikan manifes yang tidak lengkap atau kosong. Untuk sintaks kueri, lihat bagian berikut.

catatan

Jika Anda menggunakan titik akhir Apple HLS atau CMAF, ketentuan khusus berlaku. Untuk informasi tentang kondisi ini, lihatKondisi khusus untuk manifestasi HLS dan CMAF.

Sintaks kueri

Parameter kueri dasar adalahaws.manifestfilter, yang diikuti oleh nama parameter opsional dan pasangan nilai. Untuk membuat kueri, tambahkan ?aws.manifestfilter= ke akhir URL MediaPackage titik akhir, diikuti dengan nama parameter dan nilai. Untuk daftar semua parameter yang tersedia, lihatParameter kueri filter manifes.

Kueri filter Apple HLS mungkin terlihat seperti ini:

https://example-mediapackage-endpoint.mediapackage.us-west-2.amazonaws.com/out/v1/examplemediapackage/index.m3u8?aws.manifestfilter=audio_sample_rate:0-44100;video_bitrate:0-2147483647;video_codec:h265;audio_language:fr,en-US,de

Sintaks query tercantum dalam tabel berikut.

Komponen string kueri Deskripsi
? Karakter terbatas yang menandai awal kueri.
aws.manifestfilter= Kueri dasar, yang diikuti oleh parameter yang dibangun dari pasangan nama dan nilai. Untuk daftar semua parameter yang tersedia, lihatParameter kueri filter manifes.
: Digunakan untuk mengaitkan nama parameter dengan nilai. Misalnya, parameter_name:value.
; Memisahkan parameter dalam kueri yang berisi beberapa parameter. Misalnya, parameter1_name:value;parameter2_name:minValue-maxValue.
, Memisahkan daftar nilai. Misalnya, parameter_name:value1,value2,value3. Nilai yang dipisahkan koma dalam daftar menyiratkan hubungan. OR
- Digunakan untuk menentukan minimum parameter - rentang nilai maksimum. Misalnya, audio_sample_rate:0-44100. Ketika nilai numerik digunakan dalam rentang, itu termasuk dalam definisi rentang. Ini berarti bahwa aliran harus lebih besar dari atau sama dengan nilai minimum, dan kurang dari atau sama dengan nilai maksimum. Dengan rentang, nilai minimum dan maksimum adalah wajib. Nilai rentang yang didukung adalah 0 -2147483647.
catatan

Jika Anda menggunakan Amazon CloudFront sebagai CDN, Anda mungkin perlu menyetel konfigurasi tambahan. Untuk informasi selengkapnya, lihat Mengonfigurasi perilaku cache untuk semua titik akhir. .

Parameter kueri filter manifes

MediaPackage mendukung parameter query berikut.

Kategori Nama Deskripsi Contoh
Audio audio_bitrate
  • Bitrate audio dalam bit per detik.

  • Nilai yang diterima: Dua bilangan bulat digabungkan dengan tanda hubung yang menentukan rentang inklusif. Nilai rentang yang didukung adalah 0 -2147483647.

stream.mpd?aws.manifestfilter=audio_bitrate:0-2147483647
Audio audio_channels
  • Jumlah saluran audio.

  • Nilai yang diterima: Dua bilangan bulat digabungkan dengan tanda hubung yang menentukan rentang inklusif. Nilai rentang yang didukung adalah 1 -32767.

stream.mpd?aws.manifestfilter=audio_channels:1-8
Audio audio_codec
  • Jenis codec audio.

  • Nilai yang diterima:AACL,AACH,AC-3,EC-3. Anda harus menyertakan - untuk AC-3 danEC-3.

    Nilainya tidak peka huruf besar/kecil.

stream.mpd?aws.manifestfilter=audio_codec:AACL,AC-3
Audio audio_language
  • Bahasa audio atau kode fungsional yang berasal dari passthrough encoder.

  • Nilai yang diterima: String arbitrer, seperti dua atau empat karakter kode bahasa ISO-639-1. Anda harus menggunakan string bahasa yang sama yang ditetapkan untuk encoder Anda.

    Nilainya tidak peka huruf besar/kecil.

stream.mpd?aws.manifestfilter=audio_language:fr,en-US,de
Audio audio_sample_rate
  • Kecepatan sampel audio dalam Hz.

  • Nilai yang diterima: Dua bilangan bulat digabungkan dengan tanda hubung yang menentukan rentang inklusif. Nilai rentang yang didukung adalah 0 -2147483647.

stream.mpd?aws.manifestfilter=audio_sample_rate:0-44100
Sub judul subtitle_language
  • Bahasa subtitle atau kode fungsional yang berasal dari passthrough encoder.

  • Nilai yang diterima: String arbitrer, seperti dua atau empat karakter kode bahasa ISO-639-1. Anda harus menggunakan string bahasa yang sama yang ditetapkan untuk encoder Anda.

    Nilainya tidak peka huruf besar/kecil.

stream.mpd?aws.manifestfilter=subtitle_language:en-US, hi
Video trickplay_height
  • Ketinggian gambar trick-play dalam piksel. Ini berlaku untuk i-Frame saja dan trick-play berbasis gambar.

    catatan

    Jika Anda menggunakan parameter ini dengan I-frame hanya trick-play, trickplay_height dan video_height harus memiliki nilai yang sama. Jika nilainya tidak sama, trek I-frame saja dapat dihapus dari manifes.

  • trickplay_heightFilter diterapkan sebelum memasang ubin untuk DASH pada VOD.

  • Nilai yang diterima: Dua bilangan bulat digabungkan dengan tanda hubung yang menentukan rentang inklusif. Nilai rentang yang didukung adalah 1 -2147483647.

stream.mpd?aws.manifestfilter=trickplay_height:200-1200
Video trickplay_type
  • Jenis trek trickplay. Anda dapat memfilter pada trek trickplay iframe atau gambar atau menggunakan nilai none untuk memfilter semua trek trickplay (baik iframe dan gambar).

  • Nilai yang diterima:iframe,image,none.

    Nilainya tidak peka huruf besar/kecil.

stream.mpd?aws.manifestfilter=trickplay_type:iframe
Video video_bitrate
  • Bitrate video dalam bit per detik.

    catatan

    Jika Anda menggunakan parameter ini, kami sarankan Anda hanya menggunakan parameter video_bitrate filter untuk mengatur bitrate video. Jangan juga mengatur bitrate video minimum dan maksimum melalui MediaPackage konsol atauAWS CLI. video_bitrateFilter berlaku untuk pengaturan bitrate video yang dibuat di titik akhir. Jika Anda menggunakan parameter dan mengatur bitrate di konsol atauAWS CLI, output Anda mungkin miring.

  • Nilai yang diterima: Dua bilangan bulat digabungkan dengan tanda hubung yang menentukan rentang inklusif. Nilai rentang yang didukung adalah 0 -2147483647.

  • catatan

    Anda tidak dapat menggunakan parameter ini dengan aliran trick-play.

stream.mpd?aws.manifestfilter=video_bitrate:0-2147483647
Video video_codec
  • Jenis codec video.

  • Nilai yang diterima:H264,H265.

    Nilainya tidak peka huruf besar/kecil.

stream.mpd?aws.manifestfilter=video_codec:h264
Video video_dynamic_range
  • Rentang dinamis video.

  • Nilai yang diterima:hdr10,hlg,sdr.

    Nilainya tidak peka huruf besar/kecil.

stream.mpd?aws.manifestfilter=video_dynamic_range:hdr10
Video video_framerate
  • Rentang frame rate video dalam format NTSC.

  • Nilai yang diterima: Dua angka floating-point digabungkan dengan tanda hubung yang menentukan rentang inklusif. Setiap angka dapat memiliki hingga tiga nilai fraksional opsional. Misalnya, 29.97 atau 29.764. Nilai rentang yang didukung adalah 1 -999.999.

stream.mpd?aws.manifestfilter=video_framerate:23.976-30
Video video_height
  • Ketinggian video dalam piksel.

    catatan

    Jika Anda menggunakan parameter ini dengan I-frame hanya trick-play, trickplay_height dan video_height harus memiliki nilai yang sama. Jika nilainya tidak sama, trek I-frame saja dapat dihapus dari manifes.

  • Nilai yang diterima: Dua bilangan bulat digabungkan dengan tanda hubung yang menentukan rentang inklusif. Nilai rentang yang didukung adalah 1 -32767.

stream.mpd?aws.manifestfilter=video_height:720-1080

Contoh penyaringan manifes

Ini adalah contoh penyaringan manifes.

contoh 1: Targetkan pemain yang mendukung AVC dan kecepatan sampel audio 44.1k

Penampil memutar konten pada perangkat yang hanya dapat mendukung AVC dan kecepatan sampel audio 44.1k. Anda mengatur video_codec dan audio_sample_rate memfilter aliran yang tidak sesuai dengan persyaratan ini.

?aws.manifestfilter=audio_sample_rate:0-44100;video_codec:h264

contoh 2: Batasi konten 4K HEVC

Stream 4K HEVC Anda adalah 15 Mbps, dan semua aliran Anda yang lain kurang dari 9 Mbps. Untuk mengecualikan aliran 4K dari kumpulan aliran, Anda menetapkan ambang batas 9.000.000 bit per detik untuk menyaring bitrate yang lebih tinggi.

?aws.manifestfilter=video_bitrate:0-9000000

contoh 3: Sertakan video antara 23,976 dan 30 frame per detik

Untuk hanya menyertakan video dalam rentang frame rate tertentu, gunakanvideo_framerate. Parameter ini menerima angka floating-point dengan hingga tiga nilai desimal opsional.

?aws.manifestfilter=video_framerate:23.976-30

Kondisi khusus untuk manifestasi HLS dan CMAF

Jika Anda menggunakan manifes HLS atau CMAF, ketentuan khusus ini berlaku.

  • Untuk manifes HLS, kami sangat menyarankan Anda menggunakan grup rendisi audio untuk menghindari penghapusan aliran video yang dimultipleks dengan aliran audio yang disaring. Untuk informasi selengkapnya tentang grup rendisi, lihat. Referensi grup rendisi di AWS Elemental MediaPackage

  • Dalam manifes HLS dan CMAF, laju sampel audio tidak diberi sinyal, jadi tidak mudah untuk memeriksa manifes asli atau yang difilter secara visual untuk pengaturan ini. Untuk memverifikasi laju sampel audio, periksa laju sampel audio pada tingkat encoder dan tingkat output.

  • Dalam manifes HLS dan CMAF, BANDWIDTH atribut untuk varian mengaitkan bandwidth trek audio dengan trek video, apakah itu multipleks dengan trek video, atau jika itu adalah trek rendisi audio yang direferensikan oleh trek video. Oleh karena itu, Anda tidak dapat memeriksa manifes asli dan yang difilter secara visual untuk mengonfirmasi bahwa video_bitrate filter telah berfungsi. Untuk memverifikasi filter, periksa bitrate video pada tingkat encoder dan tingkat output.

  • Untuk manifes HLS dan CMAF, parameter permintaan yang ditambahkan ke daftar putar bitrate atau segmen menghasilkan kesalahan HTTP 400.

Kondisi kesalahan

Kondisi kesalahan umum tercantum dalam tabel berikut.

Kondisi kesalahan Contoh Kode status HTTP
Parameter daftar tidak ditemukan dan bukan bagian dari daftar terbatas ?aws.manifestfilter=audio_language:dahlia 200
Hanya aliran subtitle yang ada di aliran ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 200
Parameter filter duplikat ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=audio_sample_rate:0-48000 400
Parameter tidak valid ?aws.manifestfilter=donut_type:rhododendron 400
Parameter rentang tidak valid ?aws.manifestfilter=audio_sample_rate:300-0 400
Nilai rentang tidak valid (lebih dari) INT_MAX ?aws.manifestfilter=audio_sample_rate:0-2147483648 400
String kueri cacat ?aws.manifestfilter=audio_sample_rate:is:0-44100 400
Parameter string lebih besar dari 1024 karakter ?aws.manifestfilter=audio_language:abcdef.... 400
Parameter kueri pada manifes bitrate HLS atau CMAF index_1.m3u8?aws.manifestfilter=video_codec:h264 400
Parameter kueri pada permintaan segmen ..._1.[ts|mp4|vtt..]?aws.manifestfilter=video_codec:h264 400
Parameter kueri berulang ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=video_bitrate:0-1 400
Penerapan filter menghasilkan manifes kosong (konten tidak memiliki aliran yang memenuhi kondisi yang ditentukan dalam string kueri) ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 400