全部产品
Search
文档中心

Object Storage Service:FAQ

更新时间:Jun 26, 2025

Topik ini menjawab pertanyaan-pertanyaan umum tentang LiveChannel.

Proses ingest aliran

Gambar berikut menggambarkan proses ingest aliran ke LiveChannel, membantu Anda menyelesaikan masalah yang mungkin terjadi selama proses tersebut.

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 EndTime harus lebih besar dari nilai StartTime. 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?

Deskripsi masalah: Klien gagal menggunakan FFMpeg untuk meng-ingest aliran ke OSS dengan menjalankan perintah berikut:
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
Solusi:
  • 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 AVC atau header AAC tidak dikirim. Anda dapat menangkap paket yang dikirim oleh klien untuk memeriksa apakah kedua header tersebut dikirim.
  • Panjang Pesan RTMP lebih pendek dari 2, atau panjang sequence header terlalu pendek.
  • Ukuran Pesan data audio melebihi ukuran cache.
  • Data audio atau video yang ditentukan oleh parameter codec_ctx salah.

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_header dikirim.
  • Tangkap paket RTMP yang dikirim oleh klien untuk memeriksa apakah aac_header dikirim.