YouTube Live Streaming API - 업데이트 기록

이 페이지에서는 YouTube Live Streaming API 변경사항 및 문서 업데이트를 설명합니다. 변경 기록을 구독하세요. 구독

2023년 10월 9일

참고로 이 CSV 파일에서 어떤 스티커 ID와 어떤 Super Sticker와 관련이 있는지 확인할 수 있습니다. liveChatMessage 리소스의 snippet.superStickerDetails.superStickerMetadata.stickerId 속성과 superChatEvent 리소스의 snippet.superStickerMetadata.stickerId 속성 정의가 모두 이 정보를 반영하도록 업데이트되었습니다.

2023년 9월15일

이제 API는 실시간 방송에 광고를 삽입하는 새로운 방법을 지원합니다. 방송에 광고 시점을 수동으로 삽입할 수 있는 liveCuepoints 외에도 이제 YouTube에서 고정된 간격으로 미드롤 광고 시점을 방송에 자동으로 삽입하는 기능을 지원합니다.

방송 소유자가 자동 광고를 사용 설정하면 광고 동작의 다음과 같은 측면을 볼 수 있습니다.

  • 미드롤 광고 시점 사이의 간격 길이입니다.
  • 사용하는 것이 좋습니다. 큐 포인트는 모든 뷰어에 대해 동시에 삽입할 수 있으며 큐 포인트의 타이밍은 뷰어마다 다를 수 있습니다. 후자의 전략에서는 시청자가 적합한 시점에 큐 포인트를 받을 수 있도록 YouTube에서 증가된 속도로 큐 포인트를 예약할 수 있습니다.
  • 미드롤 광고가 표시되지 않는 기간. 이 기능의 경우 방송 소유자가 특정 시간까지 미드롤 광고 삽입을 일시중지하도록 지정합니다.

이 기능을 지원하기 위해 이 문서에는 다음과 같은 API 변경사항이 반영되어 있습니다.

  • 이제 liveBroadcast 리소스에 monetizationDetails 객체가 포함됩니다. 객체의 필드는 방송에 자동 광고 삽입이 사용 설정되었는지 여부를 나타내며 큐 포인트 예약을 위한 추가 정보를 지정합니다.
  • liveBroadcast.list 메서드의 part 매개변수는 monetizationDetails 값을 지원합니다.
  • update 메서드를 사용하면 실시간 방송의 특정 기간 동안 미드롤 광고 삽입을 일시중지할 수 있습니다. 이 문서에서는 실시간 방송의 수익 창출 세부정보를 업데이트할 때 발생할 수 있는 몇 가지 오류도 다룹니다.

2023년 8월 1일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • liveBroadcasts.update 메서드에는 더 이상 다음 필드에 값을 지정할 필요가 없습니다.

    • snippet.title
    • status.privacyStatus

    요청에서 이러한 필드를 생략하면 변경되지 않습니다.

2022년 11월 1일

  • 새로운 liveBroadcasts.cuepoint 메서드를 사용하면 YouTube에서 실시간 방송을 실행하는 채널 소유자가 방송에 큐 포인트를 삽입할 수 있으며 이를 통해 광고 시점을 트리거할 수 있습니다. 이 메서드는 YouTube 콘텐츠 파트너만 실시간 방송에 큐 시점을 삽입할 수 있게 했던 liveCuepoints.insert 메서드를 대체합니다.

    이 새로운 메서드의 사용 가능 여부를 반영하도록 여러 가이드가 업데이트되었습니다.

  • 참고: 본 이메일은 지원 중단에 대한 공지입니다.

    liveCuepoints.insert 메서드가 지원 중단되었습니다. 2023년 5월 1일부터 liveCuepoints.insert 메서드 지원이 중단됩니다. API 사용자는 대신 liveBroadcasts.cuepoint 메서드를 호출하도록 애플리케이션을 업데이트해야 합니다.

  • liveBroadcasts.control 메서드 문서가 삭제되었습니다. 이 메서드에 대한 지원 중단 알림은 2020년 9월에 게시되었습니다.

2022년 10월 1일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • liveBroadcasts.update 메서드에서는 더 이상 다음 필드에 값을 지정할 필요가 없습니다.

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    요청에서 이러한 필드를 생략하면 변경되지 않습니다.

  • 더 이상 사용되지 않는 liveBroadcast 필드에 대한 문서를 삭제했습니다.

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

2022년 4월 1일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 이제 snippet.type 속성이 두 개의 새로운 값을 지원합니다.

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • liveChatMessage 리소스의 새 snippet.membershipGiftingDetails 속성 및 하위 요소에는 멤버십 선물하기 이벤트에 대한 정보가 포함됩니다. 마찬가지로 새 snippet.giftMembershipReceivedDetails 속성과 그 하위 요소에는 멤버십 선물 수신 이벤트에 대한 정보가 포함됩니다.

2021년 9월 15일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 이제 snippet.type 속성이 두 개의 새로운 값을 지원합니다.

    • newSponsorEvent
    • memberMilestoneChatEvent
  • liveChatMessage 리소스의 새 snippet.memberMilestoneChatDetails 속성 및 하위 요소에는 멤버십 기념 메시지 이벤트에 대한 정보가 포함됩니다. 마찬가지로 새 snippet.newSponsorDetails 속성과 그 하위 요소에는 신규 스폰서 이벤트에 관한 정보가 포함됩니다.

2020년 12월 1일

API의 liveBroadcasts.transition 메서드는 사용자가 지정된 기간 내에 너무 많은 요청을 전송했음을 나타내는 새로운 403 (Forbidden) 오류를 지원합니다. 오류 이유는 userRequestsExceedRateLimit입니다.

2020년 9월 21일

  • 속성이 읽기 전용임을 명확히 하기 위해 liveBroadcast 리소스의 status.madeForKids 속성 정의를 업데이트했습니다. API 기능이 변경된 것은 아닙니다.

    실시간 방송을 아동 대상 서비스로 지정하려면 liveBroadcasts.insert 메서드를 호출하여 방송을 만들 때 status.selfDeclaredMadeForKids 속성을 true로 설정합니다.

  • 참고: 이 변경사항에는 지원 중단에 대한 공지와 이전 지원 중단에 대한 업데이트가 포함됩니다.

    liveBroadcasts.control 메서드는 2020년 10월 1일부터 지원 중단됩니다. 이 날짜 이후에는 이 메서드의 모든 호출이 금지됨 (403) 오류를 반환하고 메서드는 나중에 완전히 삭제됩니다. 클라이언트는 YouTube의 처리 서버로 전송된 동영상에 오버레이를 추가하여 자체 슬레이팅을 계속해서 구현할 수 있습니다.

    원래 2020년 9월 1일로 예정되어 있던 2020년 4월 16일에 지원 중단 발표의 지원 중단 날짜가 연기되었으며 이제 2020년 10월 1일 또는 그 이후에 지원 중단됩니다. 따라서 이 지원 중단 공지와 liveBroadcasts.control 메서드에 포함된 기능이 동시에 지원 중단됩니다.

2020년 7월 17일

참고: 이 내용은 이전의 지원 중단 발표에 대한 업데이트입니다.

2016년 4월에 지원 중단된 liveStream 리소스의 cdn.format 필드는 2020년 8월 17일부터 더 이상 지원되지 않습니다. 해당 필드를 사용하는 요청은 해당 날짜부터 실패합니다.

코드에서 여전히 cdn.format 필드를 사용하는 경우 cdn.frameRatecdn.resolution 속성을 사용하여 프레임 속도와 해상도를 별도로 지정하도록 업데이트해야 합니다.

2020년 7월 6일

HLS를 통해 실시간 YouTube 콘텐츠 게재 가이드에 몇 가지 변경사항이 업데이트되었습니다.

또한 새로운 처리 프로토콜 비교에는 YouTube가 지원하는 수집 프로토콜, 각 프로토콜에서 지원되는 코덱 및 각 프로토콜의 적절한 사용 사례에 대한 추가 정보가 나열되어 있습니다.

2020년 4월 16일

이 업데이트에는 새로운 속성 및 지원 중단 알림이 포함되어 있습니다.

  • 이제 liveBroadcast 리소스가 contentDetails.enableAutoStop 속성을 지원합니다. 이 속성은 채널 소유자가 바인딩된 동영상 스트림에서 동영상 스트리밍을 중지한 후 약 1분 정도에 브로드캐스트를 자동으로 중지해야 하는지 여부를 나타냅니다.

    contentDetails.enableAutoStart 또는 contentDetails.enableAutoStop 속성을 true로 설정하는 경우 실시간 YouTube 이벤트를 만들고 관리하는 단계별 프로세스가 어떻게 변경되는지 설명하도록 방송의 수명 문서가 업데이트되었습니다.

  • 참고: 본 이메일은 지원 중단에 대한 공지입니다. 이러한 변경사항은 2020년 9월 1일부터 적용됩니다. 변경사항이 적용되는 실제 날짜를 아래에서는 지원 중단 날짜라고 합니다.

    이 업데이트는 잠재적인 브레이킹 체인지를 설명합니다. 채널의 기본 liveStreamliveBroadcast 리소스를 사용하여 YouTube에서 실시간 콘텐츠를 스트리밍하는 API 클라이언트 애플리케이션에 영향을 미칩니다. 특히 영구 방송 및 스트림과 연결된 방송 ID스트림 ID가 더 이상 새 방송을 시작하지 않습니다.

    다음 중 하나라도 해당하는 경우 신청이 영향을 받게 됩니다.

    • liveBroadcast 리소스의 isDefaultBroadcast 속성 값을 확인합니다. 지원 중단일 이후에는 이 속성이 반환되지 않습니다.
    • liveStream 리소스의 isDefaultStream 속성 값을 확인합니다. 지원 중단일 이후에는 이 속성이 반환되지 않습니다.
    • liveBroadcasts.list 메서드를 호출하고 broadcastType 매개변수 값을 persistent 또는 all로 설정합니다. 이러한 변경에 따라 이 매개변수는 지원 중단됩니다. 지원 중단일 기준:
      • broadcastType 매개변수 값이 persistent이면 liveBroadcasts.list 메서드가 결과를 반환하지 않습니다.
      • broadcastType 매개변수 값이 all이면 liveBroadcasts.list 메서드는 그 전에 존재한 영구 브로드캐스트를 반환하지 않습니다.

    지난 몇 년 동안 채널의 실시간 스트리밍이 사용 설정되었을 때 YouTube에서 자동으로 채널의 기본 스트림과 기본 방송을 만들었습니다. 기본 스트림이 무기한 존재하고 연결된 시작 또는 종료 시간이 없으므로 삭제할 수 없습니다. 마찬가지로 기본 브로드캐스트는 영구로 간주되었습니다. 항상 존재했고 특정 이벤트에 구속되지 않았습니다.

    지원 중단 날짜 기준:

    • YouTube는 더 이상 기본 스트림과 방송을 만들지 않습니다. API 클라이언트는 기본 리소스를 사용하는 대신 liveBroadcastliveStream 리소스를 만들고 관리할 수 있어야 하며 이러한 리소스를 함께 결합할 수 있어야 합니다.
    • 채널의 기본 방송과 기본 스트림이 현재 활성 상태인 경우, 즉 지원 중단이 적용될 때 채널에서 실시간 방송에 사용하고 있는 경우 진행 중인 방송은 영향을 받지 않습니다. 하지만 브로드캐스트가 종료된 후에는 채널에서 기본 방송과 기본 스트림을 다시 사용할 수 없게 됩니다.
    • 채널의 기본 방송 및 기본 스트림이 적극적으로 실시간 스트리밍되지 않는 경우 지원 중단이 적용된 후 YouTube는 이러한 리소스를 사용하여 동영상을 방송하려는 시도를 무시합니다.

    애플리케이션이 영향을 받는 경우 다음 문서를 참조하세요. 이 문서를 참고하여 애플리케이션이 예상대로 작동하도록 애플리케이션을 업데이트하세요.

    • 새로운 이전 가이드는 현재 기본 브로드캐스트 및 스트림을 사용하는 API 클라이언트에서 개발자가 처리해야 할 수도 있는 단계를 설명하려고 합니다.
    • 방송의 전체 과정 가이드에서는 YouTube에서 실시간 이벤트를 만들고 관리하는 방법을 설명하는 단계별 절차를 안내합니다. 각 단계에서는 API 호출 또는 특정 작업을 완료하기 위해 해야 하는 기타 작업을 설명하며, YouTube에서 기본 스트림 및 방송 지원을 중지하면 애플리케이션은 이 프로세스를 따라야 합니다.

2020년 3월 31일

참고: 본 이메일은 지원 중단에 대한 공지입니다.

sponsor 리소스와 sponsors.list 메서드가 지원 중단되고 member 리소스와 members.list 메서드로 대체되었습니다.

sponsors.list 메서드는 2020년 9월 30일부터 더 이상 지원되지 않습니다. API 클라이언트는 sponsors.list 메서드 호출을 업데이트하여 members.list 메서드를 대신 사용해야 합니다. 새 리소스에 대한 자세한 내용은 YouTube Data API 업데이트 기록을 참고하세요.

2020년 3월 11일

HLS를 통한 실시간 YouTube 콘텐츠 전송 가이드의 처리 엔드포인트 섹션이 업데이트되어 기본 및 백업 처리 URL을 구성할 때 인코더가 file= 매개변수 값을 완성하는 데 사용해야 하는 프로세스를 명확히 했습니다.

2020년 2월 4일

DELETE 요청은 선택사항이며 YouTube의 HLS 엔드포인트에서 무시한다는 점을 명시하도록 HLS를 통한 실시간 YouTube 콘텐츠 전송 가이드가 업데이트되었습니다. 성능상의 이유로 YouTube는 클라이언트가 DELETE 요청을 보내지 않는 것이 좋습니다.

2020년 1월 10일

API는 이제 YouTube에서 '아동용'이라고 부르는 아동 대상 콘텐츠를 식별하는 기능을 지원합니다. YouTube 고객센터에서 '아동용' 콘텐츠에 대해 자세히 알아보세요.

  • liveBroadcast 리소스는 콘텐츠 크리에이터와 시청자가 '아동용' 콘텐츠를 식별할 수 있는 새로운 속성 2개를 지원합니다.
    • selfDeclaredMadeForKids 속성을 사용하면 콘텐츠 크리에이터가 실시간 방송이 아동 대상 콘텐츠인지 여부를 지정할 수 있습니다. 이 속성은 liveBroadcasts.insert 메서드를 통해 브로드캐스트를 생성할 때 설정할 수 있습니다. 채널 소유자가 API 요청을 승인한 경우 이 속성은 liveBroadcast 리소스가 포함된 API 응답에만 포함됩니다.
    • madeForKids 속성을 사용하면 모든 API 사용자가 방송의 '아동용' 상태를 검색할 수 있습니다. 예를 들어 selfDeclaredMadeForKids 속성의 값에 따라 상태가 결정될 수 있습니다. 채널, 동영상 또는 방송의 시청자층 설정에 관한 자세한 내용은 YouTube 고객센터를 참조하세요.
  • YouTube Data API에서 channel 리소스는 새로운 selfDeclaredMadeForKidsmadeForKids 속성도 지원합니다.

또한 YouTube API 서비스의 서비스 약관 및 개발자 정책도 업데이트되었습니다. 자세한 내용은 YouTube API 서비스 서비스 약관 - 업데이트 기록을 참고하세요. 변경된 YouTube API 서비스 약관 및 개발자 정책은 2020년 1월 10일(태평양 표준시)부터 적용됩니다.

2019년 8월 20일

HLS를 통한 실시간 YouTube 콘텐츠 게재 가이드의 요구사항 섹션이 두 가지 변경사항으로 업데이트되었습니다.

  • 각 미디어 재생목록에 확인된 세그먼트와 아직 처리되지 않은 세그먼트를 모두 포함하는 것이 바람직하다고 설명합니다. 이렇게 하면 미디어 재생목록이 서버 측에서 손실될 경우 세그먼트를 건너뛸 가능성이 줄어듭니다. 예를 들어 각 미디어 재생목록에 최대 2개의 확인된 세그먼트와 최대 5개의 미해결 세그먼트를 포함할 수 있습니다.
  • 이제 모든 미디어 세그먼트에 대해 미디어 재생목록을 전송해야 합니다. 이를 통해 미디어 재생목록이 손실된 경우 서버에서 빠르게 복구할 수 있습니다. 이 방법은 이전에 권장사항으로 나열되어 있습니다.

2019년 6월 28일

이제 YouTube에서 HLS 처리를 지원합니다. 따라서 liveStream 리소스의 ingestionType 속성은 HLS를 사용하여 YouTube에 수집된 스트림을 식별하기 위해 새 값 hls를 지원합니다.

새로운 HLS를 통한 실시간 YouTube 콘텐츠 게재 가이드에서는 HLS를 사용하여 인코더에서 YouTube로 실시간 콘텐츠를 스트리밍하기 위한 가이드라인을 제공합니다. 이 가이드는 인코더 공급업체가 제품에 HLS 전송 지원을 추가할 수 있도록 돕는 것을 목표로 합니다.

2019년 4월 4일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 각 메서드의 일반적인 사용 사례를 더 잘 설명하고 API 탐색기 위젯을 통해 고품질 동적 코드 샘플을 제공하도록 API 참조 문서를 업데이트했습니다. 예시는 liveBroadcasts.list 메서드의 문서를 참고하세요. 이제 페이지에 API 메서드를 설명하는 새로운 요소 두 개가 있습니다.

    • API 탐색기 위젯을 사용하면 승인 범위를 선택하고 샘플 매개변수 및 속성 값을 입력한 다음 실제 API 요청을 전송하고 실제 API 응답을 볼 수 있습니다. 이 위젯은 전체 코드 샘플을 표시하는 전체 화면 뷰도 제공합니다. 이 뷰는 입력한 범위와 값을 사용하도록 동적으로 업데이트됩니다.

    • 일반적인 사용 사례 섹션에서는 페이지에 설명된 메서드의 일반적인 사용 사례를 하나 이상 설명합니다. 예를 들어 liveBroadcasts.list 메서드를 호출하여 특정 방송에 관한 데이터를 검색하거나 현재 사용자의 방송에 관한 데이터를 검색할 수 있습니다.

      이 섹션의 링크를 사용하여 사용 사례의 샘플 값으로 API 탐색기를 채우거나 해당 값이 이미 채워진 전체 화면 API 탐색기를 열 수 있습니다. 이러한 변경사항을 통해 자체 애플리케이션에서 구현하려는 사용 사례에 직접 적용할 수 있는 코드 샘플을 더 쉽게 볼 수 있습니다.

    현재 코드 샘플은 자바, JavaScript, PHP, Python, curl에서 지원됩니다.

  • 코드 샘플 페이지에는 위에서 설명한 것과 동일한 기능을 모두 제공하는 새로운 UI도 있습니다. 이 도구를 사용하면 다양한 메서드의 사용 사례를 살펴보고 API 탐색기에 값을 로드하며 전체 화면 API 탐색기를 열어 자바, 자바스크립트, PHP, Python 코드 샘플을 가져올 수 있습니다.

    이번 변경과 함께 이전에 자바, PHP, Python에 사용할 수 있는 코드 샘플이 나열된 페이지는 삭제되었습니다.

2019년 2월 25일

liveChatMessagesuperChatEvent 리소스에 관한 문서가 업데이트되어 이제 두 리소스에 모두 Super Sticker 관련 정보가 포함될 수 있습니다. Super Sticker는 이미지를 표시하는 Super Chat 메시지 유형입니다. 다른 Super Chat과 마찬가지로 Super Sticker 메시지는 YouTube 실시간 스트림 중에 팬이 구매합니다.

  • 이제 liveChatMessage 리소스에서 snippet.type 속성이 superStickerEvent로 설정되어 리소스에 Super Sticker 관련 정보가 포함되어 있음을 나타냅니다. 이 경우 리소스에는 Super Sticker에 관한 추가 정보가 포함된 snippet.superStickerDetails 객체도 포함됩니다.
  • superChatEvent 리소스에서 불리언 snippet.isSuperStickerEvent는 Super Chat 메시지가 Super Sticker인지 여부를 나타냅니다. 이 경우 snippet.superStickerMetadata 객체에 Super Sticker에 관한 추가 세부정보가 포함됩니다.

2018년 4월 5일

superChatEvents.list 메서드의 설명이 API 응답에 더 이상 2017년 초에 지원 중단된 fanFundingEvents이 포함되어 있지 않음을 반영하도록 업데이트되었습니다.

2017년 4월 3일

실시간 채팅 메시지를 나열, 삽입, 삭제하는 방법을 보여주는 새로운 자바 코드 샘플이 추가되었습니다. 샘플은 다음 메서드를 호출합니다.

2017년 2월 13일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 기존 리소스 및 메서드 업데이트

    • liveCuepoints.insert 메서드가 현재 onBehalfOfContentOwner 매개변수가 필요하다는 사실을 반영하도록 업데이트되었습니다. 또한 이 메서드에 대한 호출은 YouTube 콘텐츠 소유자와 연결된 계정의 승인을 받아야 한다는 점을 명시하도록 이 메서드의 설명을 업데이트했습니다.

2017년 2월 9일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 기존 리소스 및 메서드 업데이트

    • superChatEvents.list 메서드의 새로운 hl 매개변수를 사용하면 snippet.displayString 속성 값의 형식을 특정 언어의 규칙에 따라 지정할 수 있습니다. 이에 따라 속성의 정의도 업데이트되었습니다.

      매개변수 값은 i18nLanguages.list 메서드에서 반환하는 목록에 포함된 언어 코드여야 합니다. 기본값은 en입니다. 즉, 기본 동작은 영어로 사용되는 표시 문자열의 형식을 지정하는 것입니다. 예를 들어 기본적으로 문자열은 $1,00가 아닌 $1.00 형식으로 지정됩니다.

2017년 2월 1일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 새로운 리소스 및 메서드

    • superChatEvent 리소스는 YouTube 실시간 스트림 중에 팬이 구매한 Super Chat 메시지를 나타냅니다. YouTube 실시간 채팅 스트림에서 Super Chat은 다음과 같은 두 가지 면에서 다른 메시지와 차별화됩니다.

      • Super Chat은 색상으로 강조표시됩니다.
      • Super Chat은 일정 시간 동안 티커에 고정됩니다.

      Super Chat의 색상, 티커에 고정되는 시간, 최대 메시지 길이는 모두 구매 금액에 따라 결정됩니다. Super Chat에 대한 자세한 내용은 YouTube 고객센터를 참고하세요.

      API는 지난 30일간 채널의 실시간 스트림에서 발생한 Super Chat 이벤트를 나열하는 메서드를 지원합니다. 또한 이 메서드는 채널의 마지막 실시간 스트림에서 팬 후원 이벤트 (fanFundingEvents)에 대한 데이터를 반환합니다.

  • 기존 리소스 및 메서드 업데이트

    • 이제 snippet.type 속성에서 리소스가 Super Chat을 설명함을 나타내는 superChatEvent 값을 지원합니다.

      또한 liveChatMessage 리소스의 새로운 snippet.superChatDetails 속성 및 하위 요소에 Super Chat 이벤트에 대한 정보가 포함됩니다.

    • 이제 liveStream 리소스의 cdn.resolution 속성에서 2160p 값을 지원합니다.

  • 새로운 오류 및 업데이트된 오류

    • API는 다음과 같은 새로운 오류를 지원합니다.

      오류 세부정보
      liveBroadcasts.insert, liveBroadcasts.update liveBroadcasts.insertliveBroadcasts.update 메서드는 400 (Bad Request) 오류를 반환하여 삽입 또는 업데이트 중인 liveBroadcast 리소스에 contentDetails.enableEmbed 속성 또는 contentDetails.projection 속성에 대해 잘못된 값이 포함되어 있음을 나타냅니다. 두 개의 새로운 오류의 오류 이유는 각각 invalidEmbedSettinginvalidProjection입니다.

2017년 1월 12일

참고: 본 이메일은 지원 중단에 대한 공지입니다.

새로운 Super Chat 기능의 출시와 함께 YouTube에서는 팬 자금지원 기능을 지원 중단했으며 팬 자금지원 API는 2017년 2월 28일에 사용 중지됩니다. 해당 날짜 기준:

2016년 8월 11일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 새로 게시된 YouTube API 서비스 약관 ('업데이트된 약관')은 YouTube 엔지니어링 및 개발자 블로그에서 자세히 논의했으며 현재 서비스 약관에 대한 다양한 업데이트 사항을 제공합니다. 2017년 2월 10일부터 적용될 업데이트된 약관 외에도 이 업데이트에는 개발자가 준수해야 하는 정책을 설명하는 데 도움이 되는 여러 보조 문서가 포함되어 있습니다.

    새로운 문서의 전체 내용은 업데이트된 약관의 업데이트 내역에서 확인할 수 있습니다. 또한 업데이트된 약관이나 지원 문서에 대한 향후 변경사항도 해당 업데이트 내역에 설명되어 있습니다. 문서의 링크에서 업데이트 내역에 있는 RSS 피드 등록정보의 변경사항을 구독할 수 있습니다.

2016년 5월 20일

이제 YouTube에서 DASH 처리를 지원합니다. 따라서 liveStream 리소스의 ingestionType 속성은 DASH를 사용하여 YouTube에 수집된 스트림을 식별할 수 있도록 새 값 dash를 지원합니다.

새로운 DASH를 통한 실시간 YouTube 콘텐츠 전송 가이드에서는 DASH 전송 형식을 사용하여 인코더에서 YouTube의 실시간 데이터를 스트리밍하기 위한 가이드라인을 제공합니다. 이는 인코더 공급업체가 제품에 DASH 전송 지원을 추가할 수 있도록 돕기 위한 것입니다.

2016년 4월 18일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 기존 리소스 및 메서드 업데이트

    • liveStream 리소스 업데이트
      • 이제 YouTube는 초당 30 또는 60프레임으로 1440p 해상도의 스트림을 지원합니다.

        또한 liveStream 리소스에는 인바운드 동영상 데이터의 프레임 속도와 해상도를 지정하기 위한 새로운 속성이 포함되어 있습니다.

        속성
        cdn.frameRate 인바운드 동영상 데이터의 프레임 속도입니다. 유효한 값은 30fps60fps입니다.
        cdn.resolution 인바운드 동영상 데이터의 해상도입니다. 유효한 속성 값은 1440p, 1080p, 720p, 480p, 360p, 240p입니다.
      • liveStream 리소스의 cdn.frameRatecdn.resolution 속성이 도입됨에 따라 이제 리소스의 cdn.format가 지원 중단됩니다. cdn.format 속성은 단일 값으로 해상도와 프레임 속도를 지정합니다.

        새로 지원되는 필드로 전환하는 것이 좋습니다. 그동안 cdn.format은 계속 작동합니다. 또한 cdn.format 속성 또는 cdn.frameRatecdn.resolution 속성 값을 지정하면 현재 실시간 스트림 삽입 요청이 성공합니다. 세 가지 속성의 값을 모두 제공하는 경우 값이 일치하지 않으면 API에서 오류를 반환할 수 있습니다.

        cdn.format 속성은 지원 중단되었지만 이제 API가 초당 30프레임 또는 60프레임으로 1440p 스트림을 지원하는 것을 반영하기 위해 새로운 값 두 개(1440p1440p_hfr)를 지원합니다.

    • liveBroadcast 리소스 업데이트
      • liveBroadcast 리소스에는 다음과 같은 새 속성이 포함됩니다.

        속성
        contentDetails.boundStreamLastUpdateTimeMs 방송의 contentDetails.boundStreamId 속성에서 참조한 실시간 스트림이 마지막으로 업데이트된 날짜 및 시간입니다.
        contentDetails.projection 방송의 프로젝션 형식입니다. 속성의 기본값은 rectangular입니다. 유효한 속성 값은 360rectangular입니다.
      • 브로드캐스트에 채팅 메시지가 하나 이상 있는 경우에만 속성 값이 표시되도록 liveBroadcast 리소스의 statistics.totalChatCount 속성 정의가 업데이트되었습니다.

    • liveChatMessage 리소스 업데이트
      • snippet.type 속성은 다음 글머리 기호에 설명된 새 속성에 상응하는 두 개의 새 값(messageDeletedEventuserBannedEvent)을 지원합니다. snippet.authorChannelId 속성의 정의도 업데이트되어 이러한 새로운 메시지 유형의 속성 값이 무엇을 식별하는지 설명합니다.

      • liveChatMessage 리소스에는 다음과 같은 새 속성이 포함됩니다.

        속성
        snippet.messageDeletedDetails 이 객체에는 채팅 운영자가 삭제한 메시지에 대한 정보가 포함되어 있습니다. 이 객체는 snippet.type 속성 값이 messageDeletedEvent인 경우에만 존재합니다.
        snippet.userBannedDetails 이 객체에는 채팅 참여가 차단된 사용자에 대한 정보가 포함됩니다. 객체에는 차단 자체에 대한 정보(즉, 차단이 영구적인지 또는 일시적인지 여부)도 포함됩니다. 차단이 일시적이면 객체의 속성 중 하나가 차단 기간을 지정합니다.

        이 객체는 snippet.type 속성 값이 userBannedEvent인 경우에만 존재합니다.
  • 새로운 오류 및 업데이트된 오류

    • API는 다음과 같은 새로운 오류를 지원합니다.

      오류 세부정보
      liveBroadcasts.bind liveBroadcasts.bind 메서드는 사용자가 지정된 기간 내에 너무 많은 요청을 전송했음을 나타내는 403 (Forbidden) 오류를 반환합니다. 오류 이유는 userRequestsExceedRateLimit입니다.

      liveBroadcasts.insert 메서드와 liveBroadcasts.update 메서드는 이미 동일한 오류를 지원합니다.
      liveStreams.insert liveStreams.insert 메서드는 요청에서 삽입하려고 했던 liveStream 리소스의 잘못된 속성 값을 식별하는 새로운 400 (Bad Request) 오류 4개를 지원합니다. 다음 목록은 오류 이유와 그와 관련된 속성을 보여줍니다.
      liveStreams.insert liveStreams.insert 메서드는 새로운 400 (Bad Request) 오류 두 개를 지원합니다. 각 오류는 요청이 삽입하려는 liveStream 리소스에 필수 값이 없음을 나타냅니다. 다음 목록은 오류 이유와 그와 관련된 속성을 보여줍니다.
      구체적으로는 liveStream 리소스를 삽입할 때 cdn.format 속성 또는 cdn.frameRate cdn.resolution 속성의 값을 지정해야 합니다.
      • 세 가지 속성 중 어느 것에도 값을 지정하지 않으면 API가 formatRequired 오류를 반환합니다.
      • cdn.resolution 값을 지정하지만 cdn.frameRate은 지정하지 않으면 API가 frameRateRequired 오류를 반환합니다.
      • cdn.frameRate 값을 지정하지만 cdn.resolution은 지정하지 않으면 API가 resolutionRequired 오류를 반환합니다.
      liveStreams.update 요청이 다음과 같이 변경할 수 없는 속성 값을 수정하려고 하면 liveStreams.update 메서드가 403 (Forbidden) 오류를 반환합니다. 오류 응답의 reasonliveStreamModificationNotAllowed입니다.

2015년 12월 18일

유럽연합 (EU) 법률에 따라 특정 정보를 공개하고 EU의 최종 사용자에게 동의를 얻어야 합니다. 따라서 유럽 연합에 거주하는 최종 사용자의 경우 EU 사용자 동의 정책을 준수해야 합니다. YouTube API 서비스 약관에 이 요구사항에 관한 알림을 추가했습니다.

2015년 12월 17일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 새로운 리소스 및 메서드

    • 이 API는 실시간 방송의 채팅 기능을 지원하기 위해 몇 가지 새로운 리소스를 지원합니다. YouTube는 진행 중인 실시간 방송 중에 실시간 채팅 기능을 지원하며, 이러한 리소스와 해당 메서드는 채팅 관리 기능뿐만 아니라 채팅 메시지 검색도 지원합니다.

      자료
      liveChatMessage 이 리소스는 YouTube 실시간 채팅의 메시지를 나타냅니다. YouTube는 문자 메시지, 팬 자금지원 이벤트 등 다양한 유형의 메시지를 지원합니다. 일부 메시지 유형은 채팅의 특정 단계를 식별합니다(예: VIP 전용 기간의 시작 또는 채팅 종료). API는 실시간 채팅 메시지를 나열, 삽입, 삭제하는 메서드를 지원합니다.
      liveChatModerators 채팅 운영자를 식별할 수 있는 리소스입니다. 운영자는 채팅에서 사용자를 차단하거나 메시지를 삭제하는 등 일부 관리 기능을 수행할 수 있습니다. API는 실시간 채팅 운영자를 나열, 삽입, 삭제하는 메서드를 지원합니다.
      liveChatBans 이 리소스를 통해 특정 실시간 채팅에 메시지를 게시할 수 없는 사용자를 식별할 수 있습니다. 차단은 일시적이거나 영구적일 수 있습니다. API는 실시간 채팅 금지를 삽입하고 삭제하는 메서드를 지원합니다.
      fanFundingEvents 이 리소스는 YouTube 채널의 팬 후원 이벤트를 나타냅니다. 팬 자금지원은 시청자가 자발적으로 YouTube 크리에이터를 후원할 수 있는 일회성 후원 프로그램입니다.

      API의 fanFundingEvents.list 메서드는 채널의 팬 자금지원 이벤트를 나열합니다. 채널에서 소유한 실시간 방송 중에 실시간 채팅을 통해 시작되는 팬 자금지원 이벤트도 방송의 실시간 채팅에 fanFundingEvent 메시지를 트리거합니다.

      YouTube 고객센터에서 팬 자금지원에 대해 자세히 알아보세요.
      sponsors sponsor 리소스는 YouTube 채널의 스폰서를 식별합니다. VIP는 채널의 월별 이용료를 지불합니다. 채널의 실시간 채팅에서 VIP의 메시지 옆에 배지가 표시되며, 이 경우 VIP도 채널의 VIP 전용 실시간 채팅에 참여할 수 있습니다.

      API의 sponsors.list 메서드는 채널의 스폰서를 나열합니다. 사용자가 채널 소유의 실시간 방송 중에 채널을 후원하기 위해 가입하면 API에서 방송의 실시간 채팅에 newSponsorEvent 메시지도 추가합니다.

      YouTube 고객센터에서 VIP 멤버십에 대해 자세히 알아보세요.

  • 기존 리소스 및 메서드 업데이트

    • liveBroadcast 리소스에는 다음과 같은 새 속성이 포함됩니다.

      속성
      snippet.liveChatId 방송의 YouTube 실시간 채팅 ID입니다. 이 ID로 liveChatMessage 리소스의 메서드를 사용하여 채팅 메시지를 검색, 삽입 또는 삭제할 수 있습니다. 채팅 운영자를 추가 또는 삭제하거나, 사용자가 실시간 채팅에 참여하지 못하도록 차단하거나, 기존 차단을 해제할 수도 있습니다.
      contentDetails.closedCaptionsType 참고: 이 속성은 contentDetails.enableClosedCaptions 속성을 대체합니다.

      이 속성은 방송에 자막이 사용되는지 여부 및 제공하는 경우 제공하는 자막의 유형을 나타냅니다.
      • closedCaptionsDisabled: 실시간 방송에서 자막이 사용 중지됩니다.
      • closedCaptionsHttpPost: HTTP POST를 통해 실시간 스트림과 연결된 처리 URL로 자막을 전송합니다.
      • closedCaptionsEmbedded: 자막이 EIA-608 또는 CEA-708 형식을 사용하여 동영상 스트림에서 인코딩됩니다.
      contentDetails.enableClosedCaptions 이 속성은 2015년 12월 17일부로 지원이 중단되었습니다. 대신 contentDetails.closedCaptionsType 속성을 사용하세요. 이미 이 속성을 사용 중인 API 클라이언트의 경우:
      • 속성 값을 true로 설정하는 것은 contentDetails.closedCaptionsType 속성을 closedCaptionsHttpPost로 설정하는 것과 같습니다.
      • 속성 값을 false로 설정하는 것은 contentDetails.closedCaptionsType 속성을 closedCaptionsDisabled로 설정하는 것과 같습니다.
    • liveBroadcasts.list 메서드의 새로운 broadcastType 매개변수를 사용하면 API 응답을 필터링하여 이벤트 브로드캐스트, 영구 브로드캐스트 또는 모든 브로드캐스트를 포함할 수 있습니다.

      영구 브로드캐스트는 항상 존재하며 특정 이벤트에 연결되지 않습니다. 특히 채널의 기본 방송은 영구 방송이며 YouTube 크리에이터 스튜디오의 실시간 대시보드를 통해 액세스할 수 있습니다. 채널의 다른 방송은 이벤트 방송입니다.

  • liveStream 리소스의 status.healthStatus.configurationIssues[].type 필드는 다음과 같은 새로운 상태 오류를 보고합니다.

    오류
    audioTooManyChannels 오디오에 채널이 3개 이상 있지만 채널은 1개 (모노) 또는 2개 (스테레오)만 지원됩니다. 오디오 채널의 수를 수정하세요.
    frameRateHigh 현재 프레임 속도가 너무 높습니다. 프레임 속도를 %(framerate)sfps 이하로 설정하세요.
  • 이전 문서 업데이트의 게시일이 수정되었습니다.

  • 새로운 오류 및 업데이트된 오류

    • 위에 나열된 새 리소스에 대해 정의된 오류 외에도 API는 다음과 같은 새로운 오류를 지원합니다.

      오류 세부정보
      liveBroadcasts.update
      HTTP 응답 코드forbidden (403)
      이유closedCaptionsTypeModificationNotAllowed
      설명contentDetails.closedCaptionsType 값은 방송이 created 또는 ready 상태인 경우에만 수정할 수 있습니다.
      liveBroadcasts.update
      HTTP 응답 코드invalidValue (400)
      이유invalidEnableClosedCaptions
      설명liveBroadcast 리소스에서 contentDetails.enableClosedCaptions 속성의 값이 contentDetails.closedCaptionType 설정 값과 호환되지 않습니다. 두 속성 중 하나만 포함하도록 리소스를 수정한 후 요청을 다시 제출하세요.

2015년 8월 19일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 새로운 리소스 및 메서드

    • 참고: liveChat 리소스 및 해당 메서드에 대한 문서는 기밀이며 일부 YouTube 파트너에게만 표시됩니다.

      liveChat 리소스에는 YouTube에서 실시간 방송 중에 게시된 댓글이 포함되어 있습니다. API는 이 리소스에 대해 다음 두 가지 메서드를 지원합니다.

      방법
      liveChats.list 방송의 실시간 채팅 메시지를 나열합니다.
      liveChats.insert 새로운 채팅 메시지를 작성합니다.

      실시간 채팅 메시지는 방송이 진행 중일 때만 검색하고 게시할 수 있습니다.

  • 기존 리소스 및 메서드 업데이트

    • liveStream 리소스에는 다음과 같은 새 속성이 포함됩니다.

      속성
      snippet.isDefaultStream 이 스트림이 채널의 기본 스트림인지 여부를 나타냅니다. 채널의 기본 스트림은 무기한으로 존재하고 연결된 시작 또는 종료 시간이 없으며 삭제할 수 없습니다. 기본 스트림의 작동 방식에 대한 자세한 내용은 속성 정의를 참조하세요.
      status.healthStatus 이 객체에는 스트리밍 문제를 식별, 진단, 해결하는 데 사용할 수 있는 정보가 포함됩니다. 객체에는 실시간 동영상 스트림의 상태를 평가하는 데 도움이 되는 여러 하위 속성이 포함되어 있습니다.

      특히 status.healthStatus.configurationIssues[] 객체는 동영상 스트림에 영향을 미치는 문제를 나열합니다. 새로운 실시간 스트림 리소스 구성 문제 문서를 통해 API가 보고하는 모든 문제를 확인할 수 있습니다.
      contentDetails.isReusable 스트림의 재사용 가능 여부를 나타냅니다. 즉, 여러 브로드캐스트에 바인딩될 수 있습니다. 방송사가 서로 다른 시간에 발생하는 경우 다양한 방송에 동일한 스트림을 재사용하는 것이 일반적입니다.
    • liveBroadcast 리소스에는 다음과 같은 새 속성이 포함됩니다.

      속성
      snippet.isDefaultBroadcast 이 방송이 채널의 기본 방송인지 여부를 나타냅니다. YouTube 채널에서 실시간 스트리밍을 사용하도록 설정하면 YouTube에서 채널의 기본 스트림과 기본 방송을 만듭니다. 스트림은 채널 소유자가 YouTube에 실시간 동영상을 보내는 방법을 정의하며 방송은 시청자가 기본 스트림을 볼 수 있는 방법입니다. 기본 브로드캐스트의 작동 방식에 관한 자세한 내용은 속성 정의를 참고하세요.
      contentDetails.enableLowLatency 지연 시간이 짧은 스트리밍을 위해 이 브로드캐스트를 인코딩해야 하는지 여부를 나타냅니다. 지연 시간이 짧은 스트림은 방송을 시청하는 사용자에게 동영상이 표시되는 데 걸리는 시간을 줄일 수 있지만 스트림 시청자의 해상도에도 영향을 줄 수 있습니다.
      statistics.totalChatCount 방송과 관련된 총 실시간 채팅 메시지 수입니다. 속성 및 값은 브로드캐스트가 사용자에게 표시되고 실시간 채팅 기능이 사용 설정된 경우 표시됩니다. 이 속성은 방송이 끝난 후 값을 지정하지 않습니다. 따라서 이 속성은 완료된 실시간 방송의 보관처리된 동영상에 대한 채팅 메시지 수를 식별하지 않습니다.
  • 새로운 오류 및 업데이트된 오류

    • liveChat 리소스에 정의된 오류 외에도 API는 다음과 같은 새로운 오류를 지원합니다.

      오류 세부정보
      liveStreams.update
      HTTP 응답 코드forbidden (403)
      이유liveStreamModificationNotAllowed
      설명API를 사용하면 재사용 가능한 스트림을 재사용할 수 없도록 변경할 수 없으며 그 반대의 경우도 마찬가지입니다. 자세한 내용은 브로드캐스트 및 스트림 이해를 참조하세요.

2015년 5월 21일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • YouTube는 이제 60fps (초당 프레임 수)의 실시간 동영상 스트리밍을 지원하므로 게임 및 기타 빠른 액션 동영상을 더 매끄럽게 재생할 수 있습니다. YouTube에서 60fps로 실시간 스트림을 시작하면 아직 고속 프레임 보기가 지원되지 않는 기기에서도 30fps로 스트림이 제공됩니다.

    liveStream 리소스의 cdn.format 속성은 이 기능을 위한 새 값 두 개(720p_hfr1080p_hfr)를 지원합니다.

    이 기능에 대한 자세한 내용은 YouTube 크리에이터 블로그를 참조하세요.

2014년 8월 21일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 속성 값이 ISO 8601 형식 (YYYY-MM-DDThh:mm:ss.sssZ)으로 지정되도록 liveBroadcasts.control 메서드의 walltime 매개변수 정의가 업데이트되었습니다.

  • 이제 API에서 다음 오류를 지원합니다.

    오류 유형 오류 세부정보 설명
    insufficientPermissions liveStreamingNotEnabled API 요청을 승인한 사용자가 YouTube에서 실시간 동영상을 스트리밍할 수 있도록 설정되지 않은 경우 liveBroadcastliveStream 리소스의 모든 메서드가 이 오류를 반환합니다. 사용자가 실시간 동영상을 스트리밍할 수 없는 이유에 대한 자세한 내용은 사용자의 채널 설정(https://www.youtube.com/features)에서 확인할 수 있습니다.
    rateLimitExceeded userRequestsExceedRateLimit liveBroadcasts.insertliveStreams.insert 메서드 모두 이 오류를 반환하여 사용자가 지정된 기간 내에 너무 많은 요청을 전송했음을 나타냅니다.

2014년 5월 2일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • 방송은 하나의 동영상 스트림에만 결합될 수 있지만 동영상 스트림은 두 개 이상의 방송에 결합될 수 있음을 알리기 위해 liveStream 리소스 및 liveBroadcasts.bind 메서드에 대한 설명이 업데이트되었습니다. 이 변경사항은 문서를 수정한 것일 뿐 기본 API 기능은 변경되지 않았습니다.

  • liveBroadcast 리소스의 contentDetails.monitorStream.enableMonitorStream 속성이 속성 값이 true인 경우 live 상태로 전환하기 전에 방송을 testing 상태로 전환해야 한다고 설명하도록 업데이트되었습니다. (속성 값이 false이면 방송에 testing 단계가 있을 수 없으므로 방송을 live 상태로 직접 전환할 수 있습니다.

  • 방송에 모니터 스트림이 없는 경우 속성 값을 지정하지 않도록 liveCuepoint 리소스의 settings.offsetTimeMs 속성이 업데이트되었습니다.

  • 이제 liveBroadcastliveStream 리소스의 모든 메서드가 onBehalfOfContentOwneronBehalfOfContentOwnerChannel 매개변수를 지원합니다. 이러한 매개변수를 사용하면 동일한 승인 사용자 인증 정보를 사용하여 동일한 콘텐츠 소유자와 연결된 여러 채널에 대한 API 요청을 완료할 수 있습니다.

  • 이 메서드를 호출할 때 settings.walltime 속성의 값을 설정할 수 있음을 알리기 위해 liveCuepoints.insert 메서드의 문서를 업데이트했습니다.

  • 이제 오류 문서에서 각 오류 유형의 HTTP 응답 코드를 지정합니다.

  • 이제 API에서 다음 오류를 지원합니다.

    오류 유형 오류 세부정보 설명
    insufficientPermissions livePermissionBlocked 요청을 승인한 사용자가 YouTube에서 실시간 동영상을 스트리밍할 수 없는 경우 liveBroadcasts.insert, liveBroadcasts.transition, liveStreams.insert 메서드가 이 오류를 반환합니다. 사용자가 실시간 동영상을 스트리밍할 수 없는 이유에 대한 자세한 내용은 사용자의 채널 설정(https://www.youtube.com/features)에서 확인할 수 있습니다.
  • 예약된 시작 시간이 현재 날짜와 충분히 가까워야 방송을 안정적으로 예약할 수 있음을 명확히 하기 위해 liveBroadcasts.insert 메서드의 invalidScheduledStartTime 오류가 업데이트되었습니다.

2013년 12월 13일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • liveBroadcast 리소스의 새로운 status.recordingStatus 속성은 방송의 현재 상태를 식별합니다.

  • liveBroadcast 리소스의 새로운 contentDetails.enableClosedCaptions 속성은 자막을 방송에 수집할 수 있는지 여부를 나타냅니다. 속성 값은 방송을 삽입하거나 업데이트할 때 설정할 수 있지만 방송이 testing 또는 live 상태가 되면 업데이트할 수 없습니다. 이 속성을 true로 설정하면 방송에 바인딩된 liveStream 리소스가 방송 자막에 사용할 처리 URL을 지정합니다.

  • 이제 liveBroadcast 리소스의 snippet.scheduledEndTime 속성이 무기한 계속되도록 예약된 브로드캐스트를 지원합니다. 이번 변경으로 이 속성은 liveBroadcasts.insertliveBroadcasts.update 요청에서 더 이상 필요하지 않습니다.

    이 속성의 값을 지정하지 않는 liveBroadcast 리소스를 가져오면 방송이 무기한으로 계속 진행됩니다. 마찬가지로 liveBroadcasts.insert 또는 liveBroadcasts.update 메서드를 호출하고 이 속성 값을 지정하지 않으면 방송이 무기한 계속되도록 예약됩니다.

  • 이미 기본값이 trueliveBroadcast 리소스의 contentDetails.recordFromStart 속성은 이제 방송 채널에서 실시간 방송 녹화를 사용 중지할 수 있는 경우에만 false로 설정할 수 있습니다.

    채널에 녹화를 사용 중지할 권한이 없고 recordFromStart 속성이 false로 설정된 방송을 삽입하려고 하면 API에서 Forbidden 오류를 반환합니다. 또한 채널에 해당 권한이 없고 recordFromStart 속성을 false로 설정하기 위해 방송을 업데이트하려고 하면 API에서 modificationNotAllowed 오류를 반환합니다.

  • contentDetails.enableDvrcontentDetails.enableEmbed 속성 설명에 언급된 enableArchive 속성이 더 이상 liveBroadcast 리소스에 포함되지 않습니다.

  • liveBroadcast 리소스의 status.lifeCycleStatus 속성에 관한 유효한 값 목록이 각 상태에 관한 설명을 포함하도록 업데이트되었습니다.

  • liveCuepoint 리소스의 새로운 settings.walltime 속성은 큐 시점을 삽입해야 하는 날짜와 시간을 지정합니다. 요청이 이 속성과 settings.offsetTimeMs 속성의 값을 지정하는 큐 시점을 삽입하려고 하면 API가 오류를 반환합니다.

  • liveStream 리소스의 새 contentDetails 객체에는 스트림 정보가 포함됩니다. 현재 객체의 유일한 속성은 contentDetails.closedCaptionsIngestionUrl이며 동영상 스트림과 연결된 자막의 처리 URL을 지정합니다.

  • liveStream 리소스의 status.streamStatus 속성에 관한 유효한 값 목록이 각 상태에 관한 설명을 포함하도록 업데이트되었습니다.

  • liveBroadcasts.control 메서드의 새로운 walltime 매개변수를 사용하면 슬레이트가 변경되는 날짜와 시간을 지정할 수 있습니다. 요청이 이 매개변수와 offsetTimeMs 매개변수의 값을 지정하면 API는 오류를 반환합니다.

  • liveBroadcasts.list 요청에 대한 API 응답에서 kind 속성 값이 youtube#liveBroadcastList에서 youtube#liveBroadcastListResponse로 변경되었습니다.

  • liveStreams.list 요청에 대한 API 응답에서 kind 속성 값이 youtube#liveStreamList에서 youtube#liveStreamListResponse로 변경되었습니다.

  • eventId 속성이 liveBroadcastListResponseliveStreamListResponse에서 모두 지원 중단되었습니다.

  • API는 다음과 같은 새로운 오류를 지원합니다.

    오류 유형 오류 세부정보 설명
    invalidValue conflictingTimeFields 요청이 offsetTimeMswalltime 매개변수의 값을 지정한 경우 liveBroadcasts.control 메서드는 이 오류를 반환합니다. 요청에서 두 매개변수를 모두 생략하거나 두 매개변수 중 하나의 값을 지정할 수 있습니다.
    invalidValue invalidWalltime walltime 매개변수의 값이 잘못된 경우 liveBroadcasts.control 메서드는 이 오류를 반환합니다.
    forbidden enableClosedCaptionsModificationNotAllowed contentDetails.enableClosedCaptions 값을 업데이트하려고 하는데 방송 상태가 created 또는 ready이 아닌 경우 liveBroadcasts.update 메서드가 이 오류를 반환합니다.
    invalidValue conflictingTimeFields 요청이 settings.offsetTimeMssettings.walltime 속성 값을 지정한 경우 liveCuepoints.insert 메서드는 이 오류를 반환합니다. 한 요청에서 두 속성을 모두 생략하거나 두 속성 중 하나의 값을 지정할 수 있습니다.

    또한 liveStreams.update 메서드는 liveStreams.insert 메서드에서 지원하는 오류와 유사한 cdnRequired 오류를 더 이상 지원하지 않습니다.

2013년 5월 10일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

2013년 5월 2일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

2013년 3월 27일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • liveBroadcast 리소스에서 다음 속성이 변경되었습니다.

    • startWithSlateCuepoint 속성의 이름이 startWithSlate로 변경되었습니다.
    • enableArchive 속성의 이름이 recordFromStart로 변경되었습니다.
    • slateSettings 객체가 지원 중단되었으며 문서에서 삭제되었습니다. slateSettings 객체 또는 객체의 속성과 관련된 오류 메시지도 삭제되었습니다. 마지막으로 시작하기 가이드의 '슬레이트 표시' 섹션이 삭제되었습니다.

  • API는 더 이상 liveCuepoints.insert 메서드를 사용하여 인스트림 슬레이트를 삽입하는 기능을 지원하지 않습니다. 이 변경사항을 반영하여 다음 설명서가 업데이트되었습니다.

    • 색인 페이지, 시작하기 가이드, 방송 수명 튜토리얼에서 더 이상 이 기능을 언급하지 않습니다.

    • liveCuepoint 리소스의 settings.cueType 속성에서 더 이상 slate를 속성 값으로 지원하지 않습니다. (유일하게 지원되는 값은 ad입니다.

    • liveCuepoint 리소스의 settings.eventState 속성이 지원 중단되었으며 문서에서 삭제되었습니다.

2013년 3월 18일

이번 업데이트에서 이루어진 변경내용은 다음과 같습니다.

  • API의 모든 오류 메시지는 발생 가능한 오류를 더 명확하게 설명하고 가능한 경우 해결 방법에 대한 안내를 제공하도록 업데이트되었습니다.

  • 이제 API가 몇 가지 새로운 오류를 반환할 수 있습니다. 아래 목록은 오류와 해당 오류를 반환할 수 있는 API 메서드를 식별합니다.

    • liveBroadcasts.insert - 방송의 예약된 종료 시간은 예정된 시작 시간 이후여야 합니다.
    • liveBroadcasts.insert - 브로드캐스트가 잘못된 개인 정보 보호 상태를 지정합니다.
    • liveBroadcasts.update - 리소스가 contentDetails.enableArchive 속성 값을 포함하지 않거나 값을 설정하지 않습니다.
    • liveBroadcasts.update - 리소스가 contentDetails.enableContentEncryption 속성 값을 포함하지 않거나 값을 설정하지 않습니다.
    • liveBroadcasts.update - 리소스가 contentDetails.enableDvr 속성 값을 포함하지 않거나 값을 설정하지 않습니다.
    • liveStreams.insert - 스니펫 제목은 1~128자(영문 기준)여야 합니다.
    • liveStreams.update - 리소스가 snippet.title 속성 값을 포함하지 않거나 값을 설정하지 않습니다.

  • 앞서 언급한 것처럼 멀티캐스트와 WebM은 지원되지 않는 처리 방법을 반영하도록 liveStream 리소스 문서가 업데이트되었습니다. 이에 따라 cdn.format 속성의 형식 목록이 업데이트되었으며 cdn.multicastIngestionInfo 객체 및 하위 속성이 리소스 문서에서 삭제되었습니다. 또한 지원되는 cdn.ingestionType 값 목록에서 http가 삭제되었습니다.