Topik ini menjawab pertanyaan-pertanyaan umum tentang LiveChannel.
Proses ingest aliran

Untuk informasi lebih lanjut, lihat PutLiveChannel dan PutLiveChannelStatus.
Apa yang harus saya lakukan jika objek M3U8 yang dihasilkan tidak berisi semua data yang di-ingest ke LiveChannel?
Penyebab: Berdasarkan aturan default protokol HTTP Live Streaming (HLS), objek M3U8 hanya mencakup tiga objek TS terakhir.
Solusi: Panggil operasi PostVodPlaylist untuk menggabungkan objek TS yang dihasilkan dalam rentang waktu tertentu ke dalam objek M3U8.
- Nilai
EndTimeharus lebih besar dari nilaiStartTime. Durasi antara EndTime dan StartTime harus kurang dari satu hari. - OSS memeriksa semua objek TS yang dihasilkan oleh aliran yang di-ingest ke semua LiveChannel dalam rentang waktu tertentu dan menggabungkannya ke dalam objek playlist M3U8.
Apa yang harus saya lakukan jika objek M3U8 gagal dihasilkan?
Penyebab: Data dalam aliran tidak sepenuhnya di-ingest ke Object Storage Service (OSS).
Solusi: Tangkap paket pada klien untuk memverifikasi apakah pesan "publish success" dikembalikan. Pesan ini menunjukkan bahwa data dalam aliran telah sepenuhnya diunggah ke OSS. Jika pesan dikembalikan tetapi objek M3U8 tidak dihasilkan, analisis paket yang dikirim dari klien untuk menemukan penyebabnya.
Apa yang harus saya lakukan jika klien tidak dapat meng-ingest aliran ke OSS?
ffmpeg -re -i 0_20180525105430445.aac -acodec aac -strict -2 -f flv rtmp://xxx.oss-cn-beijing.aliyuncs.com/live/test_1000?Expires=1540458859&OSSAccessKeyId=LTAlujianb****&Signature=qwh31xQsanmao6ygCFJgo****%3D&playlistName=playlist.m3u8- Gunakan perintah asli untuk meng-ingest aliran tanpa menyetel parameter tambahan.
- Jika ampersand (&) termasuk dalam URL yang digunakan untuk meng-ingest aliran, tutup URL dengan tanda kutip (""). Contoh:
ffmpeg -re -i 0_20180525105430445.aac -acodec aac -strict -2 -f flv "rtmp://xxx.oss-cn-beijing.aliyuncs.com/live/test_1000?Expires=1540458859&OSSAccessKeyId=LTAlujianb****&Signature=qwh31xQsanmao6ygCFJgo****%3D&playlistName=playlist.m3u8". - Gunakan OBS untuk meng-ingest aliran guna memeriksa apakah masalah disebabkan oleh FFMpeg.
Jika latensi aliran yang di-ingest tinggi, sesuaikan nilai parameter FragDuration dan FragCount saat memanggil operasi PutLiveChannel.
Apa yang harus saya lakukan jika lag terjadi saat saya memutar objek M3U8 yang dihasilkan?
Jika nilai Type adalah HLS, ketika durasi data video atau audio dalam objek TS saat ini mencapai nilai FragDuration, OSS menghasilkan objek TS baru saat key frame berikutnya diterima. OSS menunggu key frame berikutnya selama periode waktu tertentu (dihitung oleh max(2*FragDuration, 60s)) sebelum membuat file TS berikutnya. Jika key frame berikutnya tidak diterima dalam periode tersebut, OSS membuat objek TS baru dan menggunakan objek TS baru untuk menyimpan data dalam aliran. Dalam hal ini, lag terjadi.
Apa yang harus saya lakukan jika objek M3U8 yang dihasilkan tidak berisi data audio atau video?
Penyebab:
- Header
AVCatau headerAACtidak dikirim. Anda dapat menangkap paket yang dikirim oleh klien untuk memeriksa apakah kedua header tersebut dikirim. - Panjang
Pesan RTMPlebih pendek dari 2, atau panjangsequence headerterlalu pendek. - Ukuran
Pesandata audio melebihi ukuran cache. - Data audio atau video yang ditentukan oleh parameter
codec_ctxsalah.
Apa yang harus saya lakukan jika video yang diunggah ke OSS menggunakan FFMpeg tidak berisi data audio?
Solusi:
- Lihat log yang dihasilkan oleh FFMpeg untuk memeriksa apakah
aac_headerdikirim. - Tangkap paket RTMP yang dikirim oleh klien untuk memeriksa apakah
aac_headerdikirim.
