YouTube Live Streaming API - 방송 및 스트림 이해하기

이 가이드에서는 방송스트림을 간략하게 설명합니다. 또한 방송사가 YouTube Live Streaming API를 사용하여 이러한 리소스를 만들고 관리하는 방법을 보여주는 사용 사례도 살펴봅니다.

  • 방송은 YouTube에서 실시간으로 제공되는 이벤트를 의미합니다. 각 방송은 별개의 YouTube 동영상입니다. 방송은 정확히 하나의 스트림에 결합될 수 있으며 결합되어야 합니다.

  • 스트림을 사용하면 YouTube에 오디오 동영상 콘텐츠를 전송할 수 있으며 YouTube에 콘텐츠를 스트리밍하는 방법에 대한 설정을 정의할 수 있습니다. 동일한 스트림을 최대 3개의 실시간 방송에 결합할 수 있습니다. 또한 방송이 여러 시간에 발생하는 경우 여러 방송에 동일한 스트림을 재사용하는 경우도 많습니다.

나머지 섹션에서는 API 사용자가 일반적으로 브로드캐스트와 스트림을 사용하는 방법을 설명하는 세 가지 사용 사례를 제시합니다.

단일 인코더 구성

가장 일반적인 API 사용 사례에서 YouTube 채널에는 일련의 예약된 실시간 이벤트가 있습니다. 채널 소유자는 인코더 1개를 사용하고 인코더를 한 번만 구성하면 됩니다. 따라서 API에 liveStream 리소스를 하나 만든 후 이 리소스의 콘텐츠 전송 설정을 사용하여 채널의 인코더를 구성합니다. 참고로 채널이 여러 개인 경우 채널마다 다른 스트림을 만들어야 합니다.

그런 다음 API에 liveBroadcast 리소스를 만들고 모든 리소스를 liveStream 리소스에 결합합니다. 이 시나리오에서는 채널 일정을 예약하는 모든 실시간 이벤트에 동일한 스트리밍 설정이 사용됩니다. 하지만 항상 하나의 이벤트만 방송되고 각 방송의 동영상 콘텐츠는 고유합니다.

이벤트가 발생할 때마다 방송 상태를 testing 또는 live으로 업데이트하고 해당 이벤트를 YouTube에서 계속 방송합니다.

방송당 하나의 스트림 만들기

또 다른 일반적인 접근 방식은 각 방송별로 별도의 스트림을 만드는 것입니다. 이 시나리오에서는 각 liveBroadcast 리소스에 고유한 liveStream 리소스를 만든 다음 각 방송에 적절한 설정을 사용하도록 스트리밍 인코더를 구성합니다.

이 접근 방식은 채널에 여러 개의 방송이 동시에 발생해 두 개의 방송이 동시에 발생하여 두 방송이 같은 스트리밍 설정을 사용하기 어려운 경우에 적합합니다. 실제로는 채널이 반복되는 각 방송을 프로그램으로 취급하고 프로그램당 하나의 liveStream 리소스만 만들 수도 있습니다. 그런 다음 같은 프로그램의 각 에피소드는 하나의 방송을 나타내며 같은 프로그램의 모든 방송은 같은 스트림에 바인딩될 수 있습니다.

스트림 1개를 사용하여 동시 방송 만들기

이 시나리오에서는 실시간 스트림을 동시에 여러 방송으로 분할하려고 합니다. 따라서 동시에 live 상태인 liveBroadcast 리소스 두 개 이상에 바인딩된 liveStream 리소스가 하나 있습니다.

예를 들어 채널에서 연중무휴 실시간 피드를 방송하면서도 방송 중에 진행되는 인터뷰를 위한 별도의 동영상을 만든다고 가정해 보겠습니다. 이 경우 인터뷰 콘텐츠는 연중무휴 방송 콘텐츠의 하위 집합입니다.

이 경우를 처리하려면 두 개의 liveBroadcast 리소스를 만들고 두 브로드캐스트를 동일한 스트림에 결합합니다. 연중무휴 방송이 진행 중이며 인터뷰가 시작되기 훨씬 전부터 리소스 상태가 live입니다. 인터뷰가 시작되면 연중무휴 방송 리소스를 변경하지 않고 인터뷰와 관련된 리소스의 상태를 live에 업데이트합니다. 따라서 동일한 콘텐츠를 별도의 두 동영상으로 동시에 스트리밍합니다.

인터뷰가 끝나면 인터뷰 방송의 리소스를 다시 업데이트하여 이번에는 상태를 complete로 설정합니다. 그러나 24시간 연속 방송이 계속되므로 동영상 스트리밍은 중지되지 않습니다.