이 페이지는 이동했습니다. 3초 후에 새 위치 로 이동합니다. 북마크를 업데이트하세요!

라이브 중복성 사용

중복 그룹을 사용하면 두 개 이상의 Live Jobs를 단일 스트림으로 결합하여 자동 장애 조치를 통해 중단 없이 안정적으로 재생할 수 있습니다. 이 안내서에서는 중복 그룹 생성, 작업 추가 및 Live API를 사용하여 장애 조치 강제 수행을 안내합니다.

서문

Brightcove Live의 이중화 기능은 첫 번째 스트림이 작동을 멈춘 경우 Live가 자동으로 장애 조치 할 백업 스트림을 생성하여 라이브 이벤트에 대한 안정적인 성능을 보장하는 데 도움이됩니다.

Live API에 대한 모든 요청에는 다음 헤더가 필요합니다.

API 요청 헤더
참고
X-API-KEY {your API Key} Brightcove Live 계정을 열 때 키를 제공해야합니다.
Content-Type 응용 프로그램/json 기술적으로content-type헤더는 요청 본문을 포함하는 쓰기 요청에만 필요하지만 읽기 요청에는 해를 끼치 지 않아야합니다.

라이브 작업 생성

중복 설정의 경우 2 개 이상의 Brightcove 라이브 작업을 생성해야합니다. Jobs의 유일한 요구 사항은같은output설정. 이를 달성하는 가장 쉬운 방법은 원하는 출력 사양으로 하나의 작업을 생성 한 다음copy_outputs_from_job추가 작업을 생성하는 매개 변수.

이러한 일자리를 창출 할 수있는 지역에는 제한이 없지만 상대적으로 가까운 곳에 위치하는 것이 좋습니다.

라이브 작업이 생성 된 후 나중에 작업 ID를 유지합니다. 이러한 작업을 중복 그룹 (아래 섹션 참조)에 추가하는 데 사용할 요청 본문은 다음과 같습니다.

    [
      {
        "job_id": "0b76bc73f92f46dc917bbe5061c0c633"
      },
      {
        "job_id": "0ae5a4a71dc54b3181af0f98ee407c27"
      }
    ]

중복 그룹 만들기

중복 그룹을 생성하려면POST요청 :

    https://api.bcovlive.io/v1/redundantgroups

다음은 샘플 요청 본문입니다.

    {
      "ad_insertion": true,
      "processing_regions": ["us-west-2"],
      "storage_regions": ["us-west-2", "us-east-1"],
      "label": "Test RG",
      "live_dvr_sliding_window_duration": 1800
    }

아래 표에는 요청 본문에 대한 전체 필드 목록이 포함되어 있습니다. 여러 경우에 이는 라이브 작업을 생성하는 데 사용되는 필드와 동일합니다. 참조라이브 API 참조필드에 대한 자세한 내용은.

중복 그룹 필드 만들기
필드 유형 필수? 설명
ad_insertion 부울 선택 과목 이 스트림이 SSAI를 활성화해야하는 경우 true로 설정합니다.
add_cdns 배열 선택 과목 매니페스트 생성에 사용할 추가 CDN 공급자의 배열입니다. 제공된 각 CDN에 대해 매니페스트가 그에 따라 앞에 추가됩니다.
drm 목적 선택 과목 아직 지원되지 않음
encryption 목적 선택 과목 아직 지원되지 않음
label 필수 그룹을 식별하는 레이블
live_dvr_sliding_window_duration 정수 선택 과목
notifications 배열 선택 과목 알림 대상 객체 또는 문자열의 배열
processing_regions 배열 필수 중복 그룹에 대한 처리 영역입니다. 이렇게하면 매니페스트를 생성 할 AWS 리전이 결정됩니다. 이는 storage_regions 및 라이브 작업이 생성 된 지역과 일치하는 것이 좋습니다.
storage_regions 배열 필수 스토리지 영역 미디어 청크 및 재생 목록은 S3에 업로드됩니다. 이는 processing_regions 및 라이브 작업이 생성되는 지역과 일치하는 것이 좋습니다.
videocloud 목적 선택 과목 Video Cloud 고객은 라이브 스트림에 사용할 비디오를 만들 수 있습니다.

응답은 다음과 같습니다.

    {
      "id": "481ff4cf0bf74956bc2ec6e126588080",
      "processing_regions": [
          {
              "region": "us-west-2",
              "probability": 1
          }
      ],
      "storage_regions": [
          "us-west-2",
          "us-east-1"
      ],
      "jobs": [],
      "state": "standby",
      "label": "Test RG",
      "live_dvr_sliding_window_duration": 1800,
      "status": {
          "us-west-2": null
      },
      "ad_insertion": true,
      "outputs": {
          "playback_url": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/playlist.m3u8",
          "playback_url_dvr": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/playlist_dvr.m3u8",
          "ssai_playback_urls": {
              "26f8470f61374e608e27af9c1b3f7ff0": {
                  "playback_url": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/26f8470f61374e608e27af9c1b3f7ff0/playlist_ssaiM.m3u8",
                  "playback_url_dvr": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/26f8470f61374e608e27af9c1b3f7ff0/playlist_dvr_ssaiM.m3u8",
                  "description": "House Ads - 864b84f712ae40bca1510a8052b34312",
                  "type": "ads"
              }
      }
    }

중복 그룹 가져 오기

제출하여 모든 중복 그룹을 얻을 수 있습니다. GET요청 :

https://api.bcovlive.io/v1/redundantgroups

다음을 사용하여 응답을 필터링 할 수 있습니다. state param. 허용되는 값은 다음과 같습니다.

  • cancelled
  • cancelling
  • deleting
  • disconnected
  • failed
  • finished
  • finishing
  • processing
  • standby
  • waiting

또 한있다page_size최대 1000의 정수로 설정할 수있는 매개 변수입니다. 기본값page_size 10입니다.

응답은 다음과 같습니다.

{
  "redundant_groups": [
    {
      "id": "91c268a6ec5240d79a6004f4ccf0dc6f",
      "account_id": "a95ac581551b4478b27910e5675db1f8",
      "user_id": "c2691d4d039040be96c190a949d754a7",
      "processing_regions": [
        {
          "region": "us-west-2",
          "probability": 1
        }
      ],
      "storage_regions": [
        "us-west-2",
        "us-east-1"
      ],
      "jobs": [],
      "state": "standby",
      "created_at": 1594316624287,
      "updated_at": 1594316624287,
      "label": "Test Redundant Group",
      "live_dvr_sliding_window_duration": 86400,
      "status": {
        "us-west-2": null
      },
      "outputs": {
        "playback_url": "https://bcovlive-a.akamaihd.net/r91c268a6ec5240d79a6004f4ccf0dc6f/us-west-2/NA/playlist.m3u8",
        "playback_url_dvr": "https://bcovlive-a.akamaihd.net/r91c268a6ec5240d79a6004f4ccf0dc6f/us-west-2/NA/playlist_dvr.m3u8"
      }
    },
    {
      "id": "279ac36e4b4d48a3abbd3e1f98cd57aa",
      "account_id": "a95ac581551b4478b27910e5675db1f8",
      "user_id": "c2691d4d039040be96c190a949d754a7",
      "processing_regions": [
        {
          "region": "us-west-2",
          "probability": 1
        }
      ],
      "storage_regions": [
        "us-west-2",
        "us-east-1"
      ],
      "jobs": [],
      "state": "standby",
      "created_at": 1594323207015,
      "updated_at": 1594323207015,
      "label": "Test Redundant Group2",
      "live_dvr_sliding_window_duration": 86400,
      "status": {
        "us-west-2": null
      },
      "outputs": {
        "playback_url": "https://bcovlive-a.akamaihd.net/r279ac36e4b4d48a3abbd3e1f98cd57aa/us-west-2/NA/playlist.m3u8",
        "playback_url_dvr": "https://bcovlive-a.akamaihd.net/r279ac36e4b4d48a3abbd3e1f98cd57aa/us-west-2/NA/playlist_dvr.m3u8"
      }
    }
  ]
}

중복 그룹에 라이브 작업 추가

중복 그룹을 만든 후에는 작업을 추가 할 수 있습니다. POST요청 :

    https://api.bcovlive.io/v1/redundantgroups/{redundant_group_id}/jobs

라이브 작업 ID는 다음과 같이 요청 본문에 지정됩니다.

    [
      {
        "job_id": "0b76bc73f92f46dc917bbe5061c0c633"
      },
      {
        "job_id": "0ae5a4a71dc54b3181af0f98ee407c27"
      }
    ]

작업 개체에 대한 몇 가지 추가 선택적 속성이 있습니다. 다음 표는 모든 필드를 보여줍니다.

라이브 작업 요청 필드 추가
필드 유형 필수? 설명
job_id 필수 그룹에 추가 할 작업의 ID입니다. 둘 다playlist또는streams지정되면 모두outputs사용하게 될 것이다.
playlist 선택 과목 스트림의 출력으로 사용할 재생 목록의 레이블입니다. 만약playlist정의됩니다. streams절대로 필요한 것있다찾으시는 주소가 없습니다 .
streams 배열 선택 과목 스트림의 출력으로 사용할 스트림 레이블 목록입니다. 만약streams정의됩니다. playlist절대로 필요한 것있다찾으시는 주소가 없습니다 .

이 요청에 대한 성공 응답은 중복 그룹 ID 만 반환합니다.

중복 그룹 상태 가져 오기

다음을 제출하여 중복 그룹의 상태를 얻을 수 있습니다. GET요청 :

    https://api.bcovlive.io/v1/redundantgroups/{redundant_group_id}

응답은 다음과 같습니다.

    {
      "id": "481ff4cf0bf74956bc2ec6e126588080",
      "processing_regions": [
          {
              "region": "us-west-2",
              "probability": 1
          }
      ],
      "storage_regions": [
          "us-west-2",
          "us-east-1"
      ],
      "jobs": [
          {
              "job_id": "0b76bc73f92f46dc917bbe5061c0c633",
              "streams": [
                  "hls720p",
                  "hls540p",
                  "hls360p"
              ],
              "state": "processing"
          },
          {
              "job_id": "0ae5a4a71dc54b3181af0f98ee407c27",
              "streams": [
                  "hls720p",
                  "hls540p",
                  "hls360p"
              ],
              "state": "processing"
          }
      ],
      "state": "processing",
      "created_at": 1568057414849,
      "updated_at": 1568059153017,
      "label": "Test RG",
      "live_dvr_sliding_window_duration": 1800,
      "status": {
          "us-west-2": {
              "SwitchDrift": 0,
              "Ended": false,
              "OnAir": "0b76bc73f92f46dc917bbe5061c0c633",
              "Mode": "auto",
              "InManifest": true,
              "MediaSequence": 10,
              "Healthiness": 0,
              "Duration": 4,
              "DiscontinuitySequence": 1,
              "SourceChunk": {
                  "MediaSequence": 3639,
                  "Duration": 4,
                  "DiscontinuitySequence": 0,
                  "ProgramDateTime": "2019-09-09T19:59:36Z",
                  "LiveJobID": "0b76bc73f92f46dc917bbe5061c0c633"
              },
              "UpdatedAt": "2019-09-09T19:59:46Z",
              "ProgramDateTime": "2019-09-09T19:59:36Z"
          }
      },
      "ad_insertion": true,
      "outputs": {
          "playback_url": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/playlist.m3u8",
          "playback_url_dvr": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/playlist_dvr.m3u8",
          "ssai_playback_urls": {
              "26f8470f61374e608e27af9c1b3f7ff0": {
                  "playback_url": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/26f8470f61374e608e27af9c1b3f7ff0/playlist_ssaiM.m3u8",
                  "playback_url_dvr": "https://playback-qa.a-live.io/r481ff4cf0bf74956bc2ec6e126588080/us-west-2/NA/26f8470f61374e608e27af9c1b3f7ff0/playlist_dvr_ssaiM.m3u8",
                  "description": "House Ads - 864b84f712ae40bca1510a8052b34312",
                  "type": "ads"
              }
          }
      }
    }

중복 그룹의 각 처리 영역에는 고유 한status지역별로 키가 지정된 개체. 이 예에서 볼 수 있습니다. us_west_2처리 영역, on_air직업은0b76bc73f92f46dc917bbe5061c0c633 .

참고로probability처리 영역과 관련된 것은이 시점에서 항상1 , 그러나 0과 1 사이의 확률을 가진 여러 처리 영역을 허용하는 향후 향상을 위해 데이터 모델에 포함되어 해당 영역을 사용할 재생 트래픽의 대략적인 비율을 나타냅니다.

수동으로 큐 포인트 추가

중복성을 사용하여 라이브 스트림에 큐 포인트를 수동으로 추가하는 것은 일반 라이브 스트림에 큐 포인트를 추가하는 것과 매우 유사합니다. 중복 그룹에 대해이 작업을 수행하려면POST요청 :

    https://api.bcovlive.io/v1/redundantgroups/{redundant_group_id}/cuepoint

다음과 같은 요청 본문을 포함합니다.

    {
      "ad_server_data": {
        "subject": "wildlife"
      },
      "duration": 30,
      "timecode": "09:23:18:05"
    }

생략하면timecode필드에서 큐 포인트가 즉시 삽입됩니다.

작업 장애 조치 강제

장애 조치는 Brightcove Live 시스템에 의해 자동으로 관리되며 사용자의 개입이 필요하지 않습니다. 그러나 어떤 이유로 든 다른 작업으로 장애 조치를 강제하려는 경우 가장 간단한 방법은 단순히 인코더를 중지하는 것입니다. on_air일.

API를 사용하여 강제로 장애 조치를 수행 할 수도 있습니다. PUT요청 :

    https://api.bcovlive.io/v1/redundantgroups/{redundant_group_id}/switch

요청 본문은 다음과 같습니다.

    {
      "mode": "manual",
      "on_air": "0ae5a4a71dc54b3181af0f98ee407c27"
    }

여기, mode둘 중 하나 일 것이다manual또는auto (기본값) 및on_air다음 중 하나의 값을 갖습니다. 중고등 학년작업 ID.

참고: 일단manual모드에서 자동 작업 페일오버는 ~ 아니다발생하다. 당신절대로 필요한 것모드를 다시 설정auto자동 장애 조치가 재개됩니다. 본문에서 모드를 생략하고 강제 쿼리 매개 변수를 추가하여 수동으로 전환하지 않고도 온에어 작업을 변경할 수 있습니다. ?force=true귀하의 요청에. 이렇게하면 서비스가 작업을 강제로 전환하지만 문제가 감지되면 언제든지 다시 전환 할 수 있습니다.

중복 스트림 종료

중복 스트림을 종료하는 방법에는 두 가지가 있습니다. 설계 상 중복 그룹은 암시 적으로 9 월스트림. 중복 그룹을STANDBY중복 그룹에서 모든 작업을 제거하여 모드.

이 작업을 수행하려면DELETE요청 :

    https://api.bcovlive.io/v1/redundantgroups/{redundant_group_id}/jobs/{job_id}

제거하려는 각 작업에 대해. 현재 작업을 제거하려면on_air , 당신은 추가해야합니다?force-true검색어 매개 변수.

스트림을 종료하는 두 번째 방법은 다음을 전송하여 중복 그룹을 완전히 삭제하는 것입니다. DELETE요청 :

    https://api.bcovlive.io/v1/redundantgroups/{redundant_group_id}

제한 사항

  • 라이브 중복은 DRM 보호 라이브 스트림과 함께 사용할 수 없습니다 .