백업 스트리밍

백업 라이브 방송 데이터를 라이브 방송으로 동시에 스트리밍할 수 있습니다. 기본 스트리밍이 실패하면 백업 스트리밍으로 자동 전환되므로 라이브 동영상이 중단 없이 이어질 수 있습니다. 기본 스트리밍으로 직접 다시 전환하거나 기본 스트리밍이 다시 시작되고 백업 스트리밍이 실패하지 않는 한, 방송에서는 백업 스트리밍을 계속 사용합니다.

라이브 방송에서 백업 스트리밍을 사용하려면 방송의 LiveVideo 개체를 생성할 때 백업 스트리밍을 활성화하거나 스트리밍 데이터를 수신하기 전에 LiveVideo 개체에서 이를 활성화하세요.

LiveVideo 생성 시 백업 스트리밍 활성화

방송의 LiveVideo 개체를 생성할 때 백업 스트리밍을 활성화하려면 쿼리에 enable_backup_ingest=true 쿼리 문자열 매개변수를 포함하세요.

예를 들어 사용자에 대한 백업 스트리밍이 활성화된 LiveVideo를 생성하는 방법은 다음과 같습니다.

POST /{user-id}/live_videos ?status=LIVE_NOW &enable_backup_ingest=true &access_token={access-token}

여기에서 URL 두 개가 반환되는데, 하나는 기본 스트리밍용이고 하나는 백업(보조) 스트리밍용입니다.

{ "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}" ] }

기본 수집 스트리밍에 secure_stream_url을 사용하고 백업 수집 스트리밍에 secure_stream_secondary_urls를 사용합니다. 방송 중 언제든 LiveVideo 개체에 백업 데이터를 스트리밍할 수 있습니다.

cURL 요청 샘플

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" ] }

기존 LiveVideo에서 백업 스트리밍 활성화

LiveVideo의 /input_streams 에지로 POST 요청을 보내 라이브 방송 스트리밍 데이터를 수신하지 않았다면 기존 LiveVideo 개체에서 백업 스트리밍을 활성화할 수 있습니다. 예를 들면 다음과 같습니다.

POST /{live-video-id}/input_streams &access_token={access-token}

LiveVideo의 ID가 반환됩니다.

{ "id": "{live-video-id}" }

백업 스트리밍이 활성화되면 LiveVideo 개체에서 [기본 및 백업 스트리밍 URL을 가져올 수 있습니다].

cURL 요청 샘플

curl -i -X POST \ "https://graph.facebook.com/10215840463339953/input_streams &access_token=EAAI4b..."

샘플 응답

{ "id": "10215840463339953" }

수동으로 스트리밍 전환

다음으로 요청을 보내 LiveVideo의 기본 및 백업 스트리밍을 수동으로 전환할 수 있습니다.

POST /{live-video-id} ?master_ingest_stream_id={master-ingest-stream-id} &access_token={access-token}

{master-ingest-stream-id} 값은 부울입니다. 0은 기본 수집 스트리밍을 나타내고 1은 백업 수집 스트리밍을 나타냅니다.

cURL 요청 샘플

curl -i -X POST \ "https://graph.facebook.com/10215840463339953 ?master_ingest_stream_id=1 &access_token=EAAI4b..."

기본 및 백업 스트리밍 URL 가져오기

LiveVideoingest_streams 필드를 읽어 기본 및 백업 스트리밍 URL을 가져올 수 있습니다.

GET /{live-video-id} ?fields=ingest_streams &acess_token={access-token}

LiveVideo의 기본 및 백업 스트리밍(있는 경우)에 대한 수집 스트리밍 상태와 스트리밍 URL이 반환됩니다.

{ "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 요청 샘플

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" }