Menyematkan Metadata dalam Stream Video - Amazon Interactive Video Service

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

Menyematkan Metadata dalam Stream Video

Metadata waktu Amazon Interactive Video Service (IVS) menyediakan cara untuk menyematkan metadata dalam aliran Amazon IVS. Ini memastikan bahwa semua pemirsa Anda menerima metadata pada saat yang sama dalam aliran video, terlepas dari latensi streaming atau lokasi geografis.

Apa itu Metadata Waktu?

Metadata berwaktu adalah metadata dengan stempel waktu. Ini dapat dimasukkan ke dalam aliran terprogram, menggunakan IVS API atau IVS broadcast SDK. Saat Amazon IVS memproses streaming, metadata waktunya disinkronkan dengan bingkai audio dan video. Selama pemutaran, semua pemirsa aliran mendapatkan metadata pada saat yang sama relatif terhadap aliran. Kode waktu berfungsi sebagai titik isyarat, yang dapat digunakan untuk memicu tindakan berdasarkan data, seperti berikut ini:

  • Memperbarui statistik pemain untuk aliran olahraga.

  • Mengirim detail produk untuk streaming belanja langsung.

  • Mengirim pertanyaan untuk streaming kuis langsung.

Metadata waktu Amazon IVS menggunakan tag ID3 yang disematkan di segmen video. Akibatnya, mereka tersedia dalam video yang direkam.

Menyiapkan Izin IAM

Prasyarat: Sebelum melanjutkan, Anda harus melangkah melalui Memulai Streaming Latensi Rendah IVS (termasuk membuat pengguna IAM dan menyiapkan izin).

Selanjutnya, Anda harus memberikan izin kepada pengguna IAM Anda untuk menggunakan metadata berjangka waktu. Ikuti langkah-langkah ini:

  1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Pengguna, lalu pilih pengguna yang diinginkan (nama pengguna yang Anda tentukan saat Anda membuat akun AWS).

  3. Di jendela Ringkasan pengguna, pada tab Izin, pilih Tambahkan kebijakan sebaris (di sisi kanan).

  4. Pada tab JSON, tempel di gumpalan ini:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ivs:PutMetadata" ], "Resource": "arn:aws:ivs:*:*:channel/*" } ] }
  5. Masih di jendela Buat Kebijakan, pilih Kebijakan Tinjau. Beri nama kebijakan, lalu pilih Buat Kebijakan.

  6. Anda dikembalikan ke jendela Ringkasan pengguna, menampilkan nama kebijakan baru Anda.

Memasukkan Metadata Berjangka Waktu

Anda dapat menyisipkan metadata berwaktu hanya ke aliran aktif pada saluran tertentu.

Menggunakan AWS CLI

Untuk pengujian, cara termudah untuk menambahkan metadata berjangka waktu adalah dengan AWS CLI. Menggunakan AWS CLI mengharuskan Anda mengunduh dan mengonfigurasi CLI terlebih dahulu di mesin Anda. Anda mungkin sudah melakukannya ketika Anda melangkahMemulai Streaming Latensi Rendah IVS; jika tidak, lakukan sekarang. Untuk detailnya, lihat Panduan Pengguna Antarmuka Baris Perintah AWS.

Setelah Anda memiliki CLI:

  1. Jalankan put-metadata perintah dan teruskan di saluran ARN dan metadata Anda:

    aws ivs put-metadata --channel-arn <your-channel-arn> --metadata <your-metadata>

    Misalnya:

    aws ivs put-metadata --channel-arn arn:aws:ivs:us-west-2:465369119046:channel/GbiYJna5hFoC --metadata '{"question": "What does IVS stand for?", "correctIndex": 0, "answers": ["interactive video service", "interesting video service", "ingenious video service"]}'
  2. Amazon IVS memeriksa apakah streaming tersebut aktif. Jika streaming tidak hidup, Anda mendapatkan kesalahan; jika tidak, CLI kembali tanpa kesalahan dan metadata (gumpalan teks) dimasukkan ke dalam aliran. Ini terjadi sesegera mungkin. Tidak ada jaminan kapan ini terjadi; Namun, semua pemirsa melihat metadata pada titik yang sama dalam aliran.

Menggunakan Amazon IVS API

Untuk menyisipkan metadata berjangka waktu secara terprogram, gunakan titik akhir API. PutMetadata

Berikut adalah contoh permintaan HTTP:

POST /PutMetadata HTTP/1.1 { "channelArn": "my_channel", "metadata": "{\"question\": \"What does IVS stand for?\", \"correctIndex\": 0, \"answers\": [\"interactive video service\", \"interesting video service\", \"ingenious video service\"]}" }

Menggunakan IVS Broadcast SDK

Anda dapat menyisipkan inband metadata berjangka waktu menggunakan SDK siaran IVS. Ini mungkin berguna untuk menyinkronkan metadata dengan konten audio dan video.

  • Android — Di BroadcastSession kelas, gunakansendTimedMetadata.

  • iOS — Di IVSBroadcastSession kelas, gunakansendTimedMetadata.

Mengkonsumsi Metadata Berjangka Waktu

Gunakan Amazon IVS Player untuk menggunakan metadata berjangka waktu yang disematkan dalam aliran video. Lihat SDK Pemutar Amazon IVS dan dokumentasi Pemain lainnya.

Di bawah ini adalah contoh cuplikan yang mencetak metadata apa pun yang diterima ke konsol menggunakan Amazon IVS Player SDK. Peristiwa dipicu setiap kali pemutaran mencapai segmen dengan metadata tertanam. (Acara ini TEXT_METADATA_CUE untuk Web, onCue() untuk Android, dan player(_:didOutputCue:) untuk iOS.) Anda dapat menggunakan acara ini untuk memulai fungsionalitas dalam aplikasi klien Anda, seperti memperbarui widget interaktif. Acara ini dipicu untuk konten langsung dan rekaman.

Amazon IVS Player SDK untuk Web:

const player = IVSPlayer.create(); player.addEventListener(IVSPlayer.PlayerEventType.TEXT_METADATA_CUE, function (cue) { console.log('Timed metadata: ', cue.text); });

Amazon IVS Player SDK for Android:

@Override public void onCue(@NonNull Cue cue) { if(cue instanceof TextMetadataCue) { Log.i("Timed Metadata: ", ((TextMetadataCue)cue).text); } }

Amazon IVS Player SDK for iOS:

func player(_ player: IVSPlayer, didOutputCue cue: IVSCue) { if let textMetadataCue = cue as? IVSTextMetadataCue { print("Timed Metadata: \(textMetadataCue.text)") } }

Catatan: Metadata berjangka waktu didukung untuk iOS Safari dan iOS Chrome di Player 1.3.0 dan versi lebih baru.

Contoh Demo: Aplikasi Kuis

Contoh kode aplikasi kuis interaktif tersedia di GitHub. Kami menggunakan JSON melalui metadata berjangka waktu untuk mengisi UI kuis untuk menampilkan pertanyaan dan jawaban. Jawabannya dapat dipilih dan mengungkapkan apakah pemilihannya benar.

Platform SDK Pemain Amazon IVS Repo Sampel

Web

https://github.com/aws-samples/ amazon-ivs-basic-web -sampel

Dalam repo ini, lihat demo kuis (dan demo langsung).

Android

https://github.com/aws-samples/ amazon-ivs-player-android -sampel

Dalam repo ini, lihat demo kuis.

iOS

https://github.com/aws-samples/ amazon-ivs-player-ios -sampel

Dalam repo ini, lihat demo kuis.

Melihat Metadata Berjangka Waktu

Jika diinginkan, Anda dapat melihat metadata berjangka waktu yang disematkan di streaming langsung Anda, di konsol:

  1. Buka konsol Amazon IVS.

  2. Di kiri atas, pilih ikon hamburger untuk membuka panel navigasi, lalu pilih Saluran langsung.

  3. Pilih saluran yang alirannya ingin Anda lihat, untuk membuka halaman detail saluran tersebut.

    Streaming langsung diputar di bagian Streaming langsung halaman.

  4. Di bagian bawah jendela, pilih Metadata Waktu.

    Saat pemain bermain, karena setiap peristiwa metadata waktu diterima, nilai dan waktu yang diterima ditampilkan.

Untuk Informasi Selengkapnya

Lihat Menggunakan Metadata Waktu Layanan Video Interaktif Amazon, yang pertama dari seri blog dua bagian tentang penggunaan metadata waktu Amazon IVS.