Anda dapat secara bersamaan menyalurkan cadangan data siaran langsung ke siaran langsung. Jika aliran utama Anda gagal, kami akan secara otomatis mengalihkan ke aliran cadangan Anda sehingga siaran langsung Anda dapat terus berlanjut tanpa gangguan. Siaran Anda akan lanjut menggunakan aliran cadangan kecuali Anda secara manual mengalihkan kembali ke aliran utama, atau aliran utama Anda telah dilanjutkan dan aliran cadangan Anda gagal.
Untuk menggunakan aliran cadangan dengan siaran langsung, Anda harus mengaktifkan aliran cadangan saat Anda membuat objek Siaran Langsung, atau mengaktifkannya di objek Siaran Langsung sebelum menerima data aliran.
Untuk mengaktifkan aliran cadangan saat Anda membuat objek Siaran Langsung Anda, sertakan parameter string kueri enable_backup_ingest=true
di kueri Anda.
Misalnya, untuk membuat Siaran Langsung dengan aliran cadangan diaktifkan pada seorang Pengguna:
POST /{user-id}/live_videos ?status=LIVE_NOW &enable_backup_ingest=true &access_token={access-token}
Ini akan mengembalikan dua URL, satu untuk aliran utama Anda, dan satu lagi untuk Anda cadangan (sekunder):
{ "id": "{live-video-id}", "stream_url": "{stream-url}", "secure_stream_url": "{secure-stream-url}", "stream_secondary_urls": [ "{stream-secondary-urls}" ], "secure_stream_secondary_urls": [ "{secure-stream-secondary-urls}" ] }
Gunakan secure_stream_url
untuk aliran penyerapan utama Anda dan secure_stream_secondary_urls
untuk aliran penyerapan cadangan Anda. Anda dapat menyalurkan data cadangan ke objek Siaran Langsung Anda kapan saja selama siaran.
curl -i -X POST \ "https://graph.facebook.com/362629830945302/live_videos ?enable_backup_ingest=true &access_token=EAAI4b..."
{ "id": "10215840463339953", "stream_url": "rtmps://rtmp.facebook.com/rtmp/10215840463339953?s_bl=1&s_l=1&s_sml=3&s_sw=0&s_vt=api&a=AbxMhT-cq73GTdpuPLo", "secure_stream_url": "rtmps://rtmp.facebook.com/rtmp/10215840463339953?s_bl=1&s_l=1&s_sml=3&s_sw=0&s_vt=api&a=AbxMhT-cq73GTdpuPLo", "stream_secondary_urls": [ "rtmp://rtmps.facebook.com/rtmp/10215840463339953?s_bl=1&s_l=1&s_sml=3&s_sw=1&s_vt=api&a=AbzhD2fKJw1Uw7JQjFc" ], "secure_stream_secondary_urls": [ "rtmps://rtmps.facebook.com/rtmp/10215840463339953?s_bl=1&s_l=1&s_sml=3&s_sw=1&s_vt=api&a=AbzhD2fKJw1Uw7JQF80" ] }
Anda dapat mengaktifkan aliran cadangan di objek Siaran Langsung yang sudah ada selama belum menerima data aliran siaran langsung dengan mengirimkan permintaan POST
ke edge /input_streams
Siaran Langsung. Sebagai contoh:
POST /{live-video-id}/input_streams &access_token={access-token}
Ini akan mengembalikan ID Siaran Langsung:
{ "id": "{live-video-id}" }
Setelah diaktifkan, Anda bisa [mendapatkan URL aliran utama dan cadangan] dari objek Siaran Langsung.
curl -i -X POST \ "https://graph.facebook.com/10215840463339953/input_streams &access_token=EAAI4b..."
{ "id": "10215840463339953" }
Anda dapat secara manual beralih antara aliran utama dan aliran cadangan Siaran Langsung dengan mengirimkan permintaan ke:
POST /{live-video-id} ?master_ingest_stream_id={master-ingest-stream-id} &access_token={access-token}
Nilai {master-ingest-stream-id}
adalah boolean; 0
mewakili aliran penyerapan utama, dan 1
mewakili aliran penyerapan cadangan.
curl -i -X POST \ "https://graph.facebook.com/10215840463339953 ?master_ingest_stream_id=1 &access_token=EAAI4b..."
Anda dapat membaca kolom Siaran Langsungingest_streams
untuk mendapatkan URL aliran utama dan cadangan:
GET /{live-video-id} ?fields=ingest_streams &acess_token={access-token}
Ini akan mengembalikan kelancaran aliran penyerapan dan URL aliran untuk aliran utama dan cadangan (jika ada) di Siaran Langsung:
{ "ingest_streams": [ { "stream_id": "{stream-id}", "stream_url": "{stream-url}", "secure_stream_url": "{secure-stream-url}", "is_master": {is-master}, "stream_health": {stream-health}, "id": "{id}" }, { "stream_id": "{stream-id}", "stream_url": "{stream-url}", "secure_stream_url": "{secure-stream-url}", "is_master": {is-master}, "stream_health": {stream-health}, "id": "{id}" } ], "id": "10215840874550233" }
curl -i -X GET \ "https://graph.facebook.com/10215840463339953 ?fields=ingest_streams &access_token=EAAI4b..."
{ "ingest_streams": [ { "stream_id": "0", "stream_url": "rtmps://live-api.facebook.com/rtmp/10215840874550233?s_bl=1&s_l=1&s_sml=3&s_sw=0&s_vt=api&a=AbyvsHKGRrur_sZOeuo", "secure_stream_url": "rtmps://live-api.facebook.com/rtmp/10215840874550233?s_bl=1&s_l=1&s_sml=3&s_sw=0&s_vt=api&a=AbyvsHKGRrur_sZOF08", "is_master": true, "stream_health": { "video_bitrate": 2304481.75, "video_framerate": 27.586206436157, "video_gop_size": 2000, "video_height": 700, "video_width": 1120, "audio_bitrate": 118149.8828125 }, "id": "10215840874630235" }, { "stream_id": "1", "stream_url": "rtmps://live-api.facebook.com/rtmp/10215840874550233?s_bl=1&s_l=1&s_sml=3&s_sw=1&s_vt=api_dev&a=AbySai39Wr08FKpUYw0", "secure_stream_url": "rtmps://live-api.facebook.com/rtmp/10215840874550233?s_bl=1&s_l=1&s_sml=3&s_sw=1&s_vt=api_dev&a=AbySai39Wr08FKpUv3M", "is_master": false, "stream_health": { "video_bitrate": 1866942.625, "video_framerate": 22.338048934937, "video_gop_size": 2000, "video_height": 700, "video_width": 1120, "audio_bitrate": 95675.3515625 }, "id": "10215840874670236" } ], "id": "10215840874550233" }