All Products
Search
Document Center

Object Storage Service:FAQ

Last Updated:Jun 22, 2026

Topik ini menyediakan jawaban atas pertanyaan umum mengenai LiveChannel.

Proses pengambilan aliran

Diagram berikut menggambarkan proses pengambilan aliran LiveChannel. Memahami proses ini membantu dalam troubleshooting.

Untuk informasi lebih lanjut, lihat PutLiveChannel dan PutLiveChannelStatus.

Apa yang harus saya lakukan jika objek M3U8 yang dihasilkan tidak berisi semua data yang dimasukkan ke LiveChannel?

Penyebab: Berdasarkan aturan bawaan protokol HTTP Live Streaming (HLS), objek M3U8 yang dihasilkan hanya berisi tiga objek TS terakhir.

Solusi: Panggil operasi PostVodPlaylist untuk mengonversikan objek TS yang dihasilkan dalam rentang waktu tertentu ke dalam objek M3U8.

  • EndTime harus lebih akhir daripada StartTime, dan rentang waktunya tidak boleh melebihi satu hari.

  • OSS mengkueri semua file ts yang dihasilkan oleh pengambilan aliran dari LiveChannel yang ditentukan dalam rentang waktu tersebut dan merangkainya menjadi playlist.

Apa yang harus saya lakukan jika objek M3U8 gagal dibuat?

Penyebab: Data dalam aliran belum sepenuhnya dimasukkan ke Object Storage Service (OSS).

Solusi: Lakukan penangkapan paket pada client untuk memeriksa apakah pesan "publish success" dikembalikan. Pesan ini menandakan bahwa data dalam aliran telah sepenuhnya diunggah ke OSS. Jika pesan tersebut dikembalikan tetapi objek M3U8 tidak dibuat, analisis paket yang dikirim dari client untuk menemukan penyebabnya.

Apa yang harus saya lakukan jika client tidak dapat memasukkan aliran ke OSS?

Misalnya, Anda gagal memasukkan aliran menggunakan FFmpeg dengan 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:

  • Jika Anda tidak dapat memasukkan aliran menggunakan FFmpeg, coba gunakan perintah dasar tanpa parameter kompleks.

  • Jika URL pengambilan aliran berisi tanda ampersand (&), sertakan seluruh URL dalam tanda kutip ganda (""). Contohnya: 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".

  • Coba gunakan OBS Studio untuk pengambilan aliran guna menentukan apakah masalah tersebut spesifik pada FFmpeg.

Untuk mengurangi latensi tinggi setelah pengambilan aliran dimulai, sesuaikan parameter FragDuration dan FragCount pada operasi PutLiveChannel.

Apa yang harus saya lakukan jika terjadi lag saat memutar ulang objek M3U8 yang dihasilkan?

Ketika format penyimpanan adalah HLS, setelah durasi data audio dan video yang ditulis ke file .ts saat ini mencapai durasi yang ditentukan oleh FragDuration, OSS beralih ke file .ts berikutnya ketika menerima frame kunci berikutnya. Jika frame kunci berikutnya tidak diterima dalam waktu max(2*FragDuration, 60s), OSS akan memaksa pergantian file, yang dapat menyebabkan pemutaran tersendat.

Apa yang harus saya lakukan jika objek M3U8 yang dihasilkan tidak berisi data audio atau video?

Penyebab:

  • AVC header atau AAC header tidak ada. Lakukan penangkapan paket untuk memverifikasi.

  • Panjang RTMP message kurang dari 2, atau sequence header terlalu kecil.

  • Ukuran Message audio melebihi kapasitas buffer.

  • Parameter codec_ctx berisi konteks decoding. Jika data audio atau videonya abnormal, perekaman dapat gagal.

Apa yang harus saya lakukan jika video yang diunggah ke OSS menggunakan FFmpeg tidak berisi data audio?

Solusi:

  • Periksa log FFmpeg untuk memastikan apakah client mengirim aac_header.

  • Lakukan penangkapan paket RTMP pada client untuk melihat apakah aac_header telah dikirim.

Log FFmpeg menunjukkan bahwa aliran audio dikodekan sebagai aac (LC) dengan identifikasi 0x000A, yang mengonfirmasi bahwa client telah mengirim aac_header:

Stream #0:0, 0, 1/1000
: Video: h264 (High), 1 reference frame ([7][0][0][0] / 0x0007), yuv420p(progressive, left), 544x...
  18 fps, 18 tbr, 1k tbn,
  1k tbc
    Stream #0:1, 0, 1/1000: Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, mono, fltp
Stream mapping:
  (copy)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 2 times