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에서 큐포인트를 더 빠른 속도로 예약할 수 있으므로 시청자가 자격요건을 충족할 때 큐포인트를 받을 수 있습니다.
  • 미드롤 광고가 게재되지 않는 기간입니다. 이 기능을 사용하려면 방송 소유자가 특정 시간까지 미드롤 광고 삽입을 일시중지하도록 지정합니다.

이 기능을 지원하기 위해 다음과 같은 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 메서드가 지원 중단되었습니다. liveCuepoints.insert 메서드 지원은 2023년 5월 1일 이후에 삭제됩니다. 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 속성과 그 하위 요소에는 Gift Membership Received 이벤트에 관한 정보가 포함되어 있습니다.

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일 이후에 지원 중단됩니다. 이 날짜 이후에는 이 메서드의 모든 호출이 forbidden (403) 오류를 반환하고 나중에 메서드가 완전히 삭제됩니다. 클라이언트는 YouTube 처리 서버로 전송된 동영상에 오버레이를 추가하여 자체 일정을 구현할 수 있습니다.

    2020년 4월 16일에 공지된 지원 중단의 지원 중단 날짜는 원래 2020년 9월 1일로 예정되어 있었으나, 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 콘텐츠 전송 가이드가 몇 가지 사항이 변경되어 업데이트되었습니다.

  • 미디어 세그먼트의 권장 길이가 1~4초로 업데이트되었습니다.
  • 새로운 섹션에서는 YouTube 스튜디오에서 HLS 처리 URL을 가져오는 방법을 설명합니다.
  • file 매개변수 값의 형식을 지정하는 안내가 새 HLS 처리 URL 완료 섹션으로 이동했습니다. 이 안내는 HLS 처리 URL을 YouTube API에서 가져오는지 아니면 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과 백업 처리 URL을 형성할 때 file= 매개변수 값을 완료하는 데 사용해야 하는 프로세스를 명확히 설명합니다.

2020년 2월 4일

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

2020년 1월 10일

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

  • liveBroadcast 리소스는 콘텐츠 크리에이터와 시청자가 '아동용' 콘텐츠를 식별할 수 있도록 하는 두 가지 새로운 속성을 지원합니다.
    • 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 탐색기를 열 수 있습니다. 이러한 변경사항은 자체 애플리케이션에서 구현하려는 사용 사례에 직접 적용할 수 있는 코드 샘플을 더 쉽게 확인할 수 있도록 하기 위한 것입니다.

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

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

    이 변경사항과 함께 이전에 Java, PHP, Python용으로 사용 가능한 코드 샘플이 나열된 페이지가 삭제되었습니다.

2019년 2월 25일

이제 두 리소스 모두 Super Sticker에 관한 정보를 포함할 수 있다는 사실을 반영하도록 liveChatMessagesuperChatEvent 리소스의 문서가 업데이트되었습니다. Super Sticker는 이미지를 표시하는 Super Chat 메시지의 한 유형입니다. 다른 Super Chat과 마찬가지로 Super Sticker 메시지는 YouTube 라이브 스트림 중에 팬이 구매합니다.

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

2018년 4월 5일

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

2017년 4월 3일

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

2017년 2월 13일

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

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

    • 현재 onBehalfOfContentOwner 매개변수가 필요하다는 사실을 반영하도록 liveCuepoints.insert 메서드가 업데이트되었습니다. 또한 이 메서드의 호출은 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 메서드는 삽입되거나 업데이트되는 liveBroadcast 리소스에 contentDetails.enableEmbed 속성 또는 contentDetails.projection 속성의 잘못된 값이 포함되어 있음을 나타내는 400 (Bad Request) 오류를 반환합니다. 두 가지 새 오류의 오류 이유는 각각 invalidEmbedSettinginvalidProjection입니다.

2017년 1월 12일

참고: 지원 중단 공지사항입니다.

새로운 Super Chat 기능 출시와 함께 YouTube는 크리에이터 후원 기능을 지원 중단했으며, 2017년 2월 28일에 크리에이터 후원 API가 사용 중지됩니다. 해당 날짜 기준:

2016년 8월 11일

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

  • YouTube 엔지니어링 및 개발자 블로그에서 자세히 설명하는 새로 게시된 YouTube API 서비스 약관 ('업데이트된 약관')은 현재 서비스 약관에 대한 다양한 업데이트를 제공합니다. 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 수신 동영상 데이터의 프레임 속도입니다. 유효한 값은 30fps, 60fps입니다.
        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.insertliveBroadcasts.update 메서드는 이미 동일한 오류를 지원합니다.
      liveStreams.insert liveStreams.insert 메서드는 요청에서 삽입하려고 한 liveStream 리소스의 잘못된 속성 값을 식별하는 4개의 새로운 400 (Bad Request) 오류를 지원합니다. 다음 목록에는 오류 이유와 관련 속성이 나와 있습니다.
      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)의 최종 사용자의 경우 EU 사용자 동의 정책을 준수해야 합니다. YouTube API 서비스 약관에 이 요구사항에 관한 알림이 추가되었습니다.

2015년 12월 17일

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

  • 새로운 리소스 및 메서드

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

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

      API의 fanFundingEvents.list 메서드는 채널의 크리에이터 후원 이벤트를 나열합니다. 채널 소유의 라이브 방송 중에 실시간 채팅을 통해 시작된 크리에이터 후원 이벤트는 방송의 실시간 채팅에 fanFundingEvent 메시지를 트리거합니다.

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

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

      YouTube 고객센터에서 스폰서십에 대해 자세히 알아보세요.

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

    • 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[] 객체에는 동영상 스트림에 영향을 미치는 문제가 나열됩니다. 새 문서인 LiveStream 리소스의 구성 문제에는 API에서 보고하는 모든 문제가 나와 있습니다.
      contentDetails.isReusable 스트림을 재사용할 수 있는지 여부를 나타냅니다. 즉, 스트림을 여러 방송에 바인드할 수 있습니다. 방송이 여러 번 진행되는 경우 방송 시간이 다르면 동일한 스트림을 재사용하는 것이 일반적입니다.
    • liveBroadcast 리소스에는 다음과 같은 새로운 속성이 포함됩니다.

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

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

      오류 세부정보
      liveStreams.update
      HTTP 응답 코드forbidden (403)
      이유liveStreamModificationNotAllowed
      설명API는 재사용 가능한 스트림을 재사용 불가능한 스트림으로 변경하거나 그 반대로 변경하는 것을 허용하지 않습니다. 자세한 내용은 브로드캐스트 및 스트림 이해하기를 참고하세요.

2015년 5월 21일

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

  • 이제 YouTube에서 초당 60프레임 (fps)의 라이브 동영상 스트리밍을 지원하므로 게임 및 기타 빠른 액션 동영상을 더 부드럽게 재생할 수 있습니다. YouTube에서 60fps로 라이브 스트림을 시작하면 YouTube는 고프레임 속도 시청이 아직 지원되지 않는 기기에서도 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 요청을 완료할 수 있습니다.

  • liveCuepoints.insert 메서드를 호출할 때 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 오류를 반환합니다.

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

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

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

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

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

  • liveBroadcasts.control 메서드의 새 walltime 매개변수를 사용하면 스late 변경이 발생할 날짜와 시간을 지정할 수 있습니다. 요청에서 이 매개변수와 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 liveBroadcasts.control 메서드는 walltime 매개변수의 값이 잘못된 경우 이 오류를 반환합니다.
    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이 삭제되었습니다.