빠른 시작: 라이브 이벤트에 RTMP 출력 사용

이 튜토리얼은 YouTube Live 및 Facebook Live에서 라이브 이벤트를 설정하기 위해 RTMP 출력을 만드는 과정을 안내합니다.

개요

일반 블록 다이어그램
블록 다이어그램

이 자습서에서는 API 수준에서 라이브 스트리밍 작업을 생성하는 방법을 설명합니다. 브라이트코브 라이브그런 다음 생성 RTMP출력하고 YouTube Live 및 Facebook Live로 다시 스트리밍합니다.

이 튜토리얼은curl API 요청을 만들 수 있지만 다음에서 쉽게 만들 수 있습니다. Insomnia , Postman또는 다른 REST 클라이언트 대신.

라이브 작업 만들기

먼저, 우리는 라이브 직업을 만들 것입니다. 라이브 API에는API-KEY가 필요합니다. 그렇지 않고 액세스 권한을 얻는 데 관심이 있는 경우 고객 성공 관리자에게 문의하십시오.

  1. 다음curl명령을 복사하여 텍스트 편집기에 붙여넣습니다.

    curl -X POST \
      https://api.bcovlive.io/v1/jobs \
      -H 'Content-Type: application/json' \
      -H 'x-api-key: ' \
      -d '{
        "live_stream": true,
        "region": "",
        "outputs": [{
          "label": "hls360p",
          "live_stream": true,
          "height": 360,
          "video_bitrate": 365,
          "segment_seconds": 6,
          "keyframe_interval": 60
        },
        {
          "label": "hls432p",
          "live_stream": true,
          "height": 432,
          "video_bitrate": 730,
          "segment_seconds": 6,
          "keyframe_interval": 60
        },
        {
          "label": "hls540p",
          "live_stream": true,
          "height": 540,
          "video_bitrate": 2000,
          "segment_seconds": 6,
          "keyframe_interval": 60
        },
        {
          "label": "hls720p3M",
          "live_stream": true,
          "height": 540,
          "video_bitrate": 2000,
          "segment_seconds": 6,
          "keyframe_interval": 60
        },
        {
          "label": "hls720p4.5M",
          "live_stream": true,
          "height": 540,
          "video_bitrate": 4500,
          "segment_seconds": 6,
          "keyframe_interval": 60
        }]
      }'
    
  2. 바꾸기:

    • 사용 가능한 영역이 엔코더에서 가장 가까운 경우 엔코더에서가장 가까운 사용 가능한 영역을확인할 수 있습니다. 예를 들면 다음과 같습니다. us-west-2
    • 브라이트코브 라이브 API 키와 함께 예를 들면 다음과 같습니다. abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
  3. 변경 한 후 코드를 터미널 또는 사용하는 명령 줄 앱에 복사하여 붙여 넣고 실행하십시오.
  4. 응답은 다음과 같아야합니다.

    {
        "id": "3b6871bf2f344acaa6b397d09b476018",
        "outputs": [... removed for simplicity ...],
        "stream_url": "rtmp://ep1-usw2.bcovlive.io:1935/3b6871bf2f344acaa6b397d09b476018",
        "stream_name": "alive",
        "static": false,
        "encryption": {},
        "playback_url": "https://bcovlive-a.akamaihd.net/3b6871bf2f344acaa6b397d09b476018/us-west-2/NA/playlist.m3u8",
        "playback_url_dvr": "https://bcovlive-a.akamaihd.net/3b6871bf2f344acaa6b397d09b476018/us-west-2/NA/playlist_dvr.m3u8"
    }

이 작업은 5개의 변환을 생성합니다. 기반을 둔 ~에애플 추천 .

인코더 구성

여기에 표시된 단계는 이 튜토리얼의 단계를 테스트하는 데 사용된 Elemental 라이브 박스인코더를 가정합니다. 인코더가 다른 경우 설정이 비슷해야합니다.

이 경우 가장 중요한 설정은 다음과 같습니다.

  • 시간 코드 소스를 “시스템 클럭”으로 구성
  • “OnFi 타임코드 빈도”를 1로 설정
  • 비디오 내에서 “시간 코드 삽입”을 확인하십시오.
  • 권장: 프레임 속도 = 소스 따르기

이것은이 실험에 사용 된 설정입니다.

elemental-live-job-config
Elemental 라이브 구성

재생 테스트

VideoJS HLS 데모 페이지를 사용하여 재생을테스트할 수 있습니다. 생성 작업 응답에playback_url반환된 값을 붙여넣기만 하면 됩니다.

videojs-hls- 재생
VideoJS HLS 재생 데모 페이지

YouTube 라이브에 라이브 스트림 추가

여기에서는 라이브 스트리밍에 사용할 수있는 YouTube 계정이 있다고 가정합니다.

  1. 실시간스트리밍을 클릭하면 다음과 같은 메시지가 표시됩니다.

    youtube-go-live
    유튜브 라이브
  2. "인코더 라이브 스트리밍"을 클릭합니다.

    youtube-encoder-live
    유튜브 인코더 라이브 소스
  3. 라이브 이벤트 YouTube 메타 데이터를 구성하고 "인코더 설정"데이터를 사용하여 Brightcove 라이브 스트림을 YouTube에 연결합니다.

    유튜브 인코더 설정
    유튜브 인코더 설정
  4. 이제 YouTube 라이브 설정이 완료되었으므로 라이브 작업에서 RTMP 출력을 생성합니다.

  5. 아래curl명령을 텍스트 편집기에 복사합니다.

    curl -X POST \
      https://api.bcovlive.io/v1/jobs//rtmpouts \
      -H 'Content-Type: application/json' \
      -H 'x-api-key: ' \
      -d '{
      "url": "rtmp://a.rtmp.youtube.com/live2/"
    }'
  6. 바꾸기:

    • 브라이트코브 라이브 작업 ID와 함께 이 예에서 이 값은 다음과 같습니다3b6871bf2f344acaa6b397d09b476018 . 실시간 작업 생성 요청에 대한 응답과 사용자의 값은 다를 것입니다.
    • 브라이트코브 라이브 API 키용 예를 들면 다음과 같습니다. abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
    • YouTube에서 제공하는 스트림 이름/키
  7. 편집 한 코드를 명령 줄 앱에 붙여넣고 실행합니다.
  8. 응답은 다음과 같아야합니다.

    {
              "connection_info": {
                "host": "a.rtmp.youtube.com",
                "port": 1935,
                "application": "live2",
                "streamName": ""
              },
              "duration_history": [],
              "rtmp_out_id": "27aacdfa5bcf4436ade0519e6a748aba",
              "stream_start": 1542902218238
            }
  9. YouTube 재생을 테스트하려면 YouTube 내 채널로 이동하세요 .

    youtube-my-channel-playback
    유튜브 내 채널 재생

Facebook 라이브에 라이브 스트림 추가

여기에서는 라이브 스트리밍에 사용할 수있는 Facebook 계정이 있다고 가정합니다.

  1. 라이브 비디오를 클릭합니다.

  2. 연결및 스트리밍 키를 클릭하여 Brightcove 라이브 작업을 연결하는 데 필요한 데이터를 얻으십시오.

    페이스 북 라이브 설정
    페이스북 라이브 설정
  3. 다음으로 Facebook의 "서버 URL"및 "스트림 키"를 사용하여 Brightcove 라이브 작업에 대한 라이브 출력을 생성합니다. 아래curl명령을 복사하여 텍스트 편집기에 붙여넣습니다.

    curl -X POST \
      https://api.bcovlive.io/v1/jobs//rtmpouts \
      -H 'Content-Type: application/json' \
      -H 'x-api-key: ' \
      -d '{
      "url": "rtmp://live-api-s.facebook.com:80/rtmp/"
    }'
  4. 바꾸기:

    • 브라이트코브 라이브 작업 ID와 함께 이 예에서 이 값은 다음과 같습니다3b6871bf2f344acaa6b397d09b476018 . 실시간 작업 생성 요청에 대한 응답과 사용자의 값은 다를 것입니다.
    • 브라이트코브 라이브 API 키와 함께 예를 들면 다음과 같습니다. abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
    • 페이스북에서 알려주는 스트리밍 이름과 함께
  5. 응답은 다음과 같아야합니다.

    {
      "connection_info": {
          "host": "live-api-s.facebook.com",
          "port": 80,
          "application": "rtmp",
          "streamName": ""
      },
      "duration_history": [],
      "rtmp_out_id": "59323c3d1e2b44748755853193fb126c",
      "stream_start": 1542904101097
    }
  6. Facebook Live 스트림을 테스트하려면 Facebook 웹 페이지에서 "Go Live"를 클릭하십시오.

    페이스 북 재생