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 |
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 } });