Penanganan Kesalahan di SDK Siaran Web IVS | Streaming Waktu Nyata - Amazon IVS

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

Penanganan Kesalahan di SDK Siaran Web IVS | Streaming Waktu Nyata

Bagian ini adalah ikhtisar kondisi kesalahan, bagaimana SDK siaran Web melaporkannya ke aplikasi, dan apa yang harus dilakukan aplikasi ketika kesalahan tersebut ditemui. Kesalahan dilaporkan oleh SDK kepada pendengar acara: StageEvents.ERROR

stage.on(StageEvents.ERROR, (error: StageError) => { // log or handle errors here console.log(`${error.code}, ${error.category}, ${error.message}`); });

Kesalahan Panggung

A StageError dilaporkan ketika SDK mengalami masalah yang tidak dapat dipulihkan dan umumnya memerlukan koneksi ulang and/or jaringan intervensi aplikasi untuk pulih.

Setiap dilaporkan StageError memiliki kode (atauStageErrorCode), pesan (string), dan kategori (StageErrorCategory). Masing-masing terkait dengan kategori operasi yang mendasarinya.

Kategori operasi kesalahan ditentukan berdasarkan apakah itu terkait dengan koneksi ke tahap (JOIN_ERROR), mengirim media ke tahap (PUBLISH_ERROR), atau menerima aliran media yang masuk dari tahap (SUBSCRIBE_ERROR).

Properti kode StageError melaporkan masalah spesifik:

Nama Kode Tindakan yang Direkomendasikan

TOKEN_MALFORMED

1

Buat token yang valid dan coba lagi membuat instance stage.

TOKEN_EXPIRED

2

Buat token yang belum kedaluwarsa dan coba lagi membuat instance panggung.

BATAS WAKTU

3

Waktu operasi habis. Jika tahap ada dan token valid, kegagalan ini kemungkinan merupakan masalah jaringan. Dalam hal ini, tunggu konektivitas perangkat pulih.

FAILED

4

Kondisi fatal ditemui ketika mencoba operasi. Periksa detail kesalahan.

Jika tahap ada dan token valid, kegagalan ini kemungkinan merupakan masalah jaringan. Dalam hal ini, tunggu konektivitas perangkat pulih.

Untuk sebagian besar kegagalan yang terkait dengan stabilitas jaringan, SDK akan mencoba lagi secara internal untuk jangka waktu hingga 30 detik sebelum memancarkan kesalahan GAGAL.

MEMBATALKAN

5

Periksa kode aplikasi dan pastikan tidak ada pemanggilan berulang joinrefreshStrategy, atau replaceStrategy pemanggilan, yang dapat menyebabkan operasi berulang dimulai dan dibatalkan sebelum selesai.

STAGE_AT_CAPACITY

6

Kesalahan ini menunjukkan bahwa panggung atau akun Anda dalam kapasitas. Jika tahap telah mencapai batas pesertanya, coba operasi lagi ketika tahap tidak lagi dalam kapasitas, dengan menyegarkan strategi. Jika akun Anda telah mencapai langganan bersamaan atau kuota penayang bersamaan, kurangi penggunaan atau minta peningkatan kuota melalui konsol AWS Service Quotas.

CODEC_MISMATCH

7

Codec tidak didukung oleh panggung. Periksa browser dan platform untuk dukungan codec. Untuk streaming real-time IVS, browser harus mendukung codec H.264 untuk video dan codec Opus untuk audio.

TOKEN_NOT_ALLOWED

8

Token tidak memiliki izin untuk operasi. Buat ulang token dengan izin yang benar dan coba lagi.

STAGE_DELETED

9

Tidak ada; mencoba bergabung dengan tahap yang dihapus memicu kesalahan ini.

PARTISIPANT_TERPUTUS

10

Tidak ada; mencoba bergabung dengan token peserta yang terputus memicu kesalahan ini.

StageErrorContoh Penanganan

Gunakan StageError kode untuk menentukan apakah kesalahan disebabkan oleh token yang kedaluwarsa:

stage.on(StageEvents.ERROR, (error: StageError) => { if (error.code === StageError.TOKEN_EXPIRED) { // recreate the token and stage instance and re-join } });

Kesalahan Jaringan saat Sudah Bergabung

Jika koneksi jaringan perangkat mati, SDK mungkin kehilangan koneksinya ke server panggung. Anda mungkin melihat kesalahan di konsol karena SDK tidak dapat lagi menjangkau layanan backend. POSTs ke https://broadcast.stats.live-video.net akan gagal.

Jika Anda menerbitkan and/or langganan, Anda akan melihat kesalahan di konsol terkait dengan upaya untuk menerbitkan/berlangganan.

Secara internal SDK akan mencoba terhubung kembali dengan strategi backoff eksponensial.

Tindakan: Tunggu konektivitas perangkat pulih.

Negara Tersalah

Kami menyarankan Anda menggunakan status ini untuk pencatatan aplikasi dan untuk menampilkan pesan kepada pengguna yang memberi tahu mereka tentang masalah konektivitas ke panggung untuk peserta tertentu.

Publikasikan

SDK melaporkan ERRORED saat publikasi gagal.

stage.on(StageEvents.STAGE_PARTICIPANT_PUBLISH_STATE_CHANGED, (participantInfo, state) => { if (state === StageParticipantPublishState.ERRORED) { // Log and/or display message to user } });

Langganan

SDK melaporkan ERRORED saat berlangganan gagal. Ini dapat terjadi karena kondisi jaringan atau jika suatu tahap berada pada kapasitas untuk pelanggan.

stage.on(StageEvents.STAGE_PARTICIPANT_SUBSCRIBE_STATE_CHANGED, (participantInfo, state) => { if (state === StageParticipantSubscribeState.ERRORED) { // Log and/or display message to user } });