總覽
本指南的適用對象為 API 用戶端應用程式的開發人員,他們會使用 YouTube 頻道的預設 liveStream
和 liveBroadcast
資源來串流播放即時內容。這個做法可協助您確保應用程式妥善處理預設廣播和預設串流的淘汰作業,而且如果應用程式符合下列任一敘述,就符合您的需求:
- 檢查
liveBroadcast
資源的isDefaultBroadcast
屬性值。 - 檢查
liveStream
資源的isDefaultStream
屬性值。 此方法會呼叫
liveBroadcasts.list
方法,並將broadcastType
參數值設為persistent
。淘汰日期:- 如果
broadcastType
參數值為persistent
,則liveBroadcasts.list
方法不會傳回任何結果。 - 如果
broadcastType
參數值為all
,則liveBroadcasts.list
方法不會傳回在此之前存在的永久廣播。
- 如果
如果您的應用程式受到影響,請參閱更新應用程式一節,其中說明應用程式在淘汰後可能需進行的程序變更。本節將說明廣播的生命週期指南中的特定步驟,如果 API 用戶端目前使用預設廣播和串流,通常通常不會遵循。
異動簡介
從 2015 年開始,YouTube 就為該頻道啟用預設直播,並為頻道啟用直播功能。預設串流會無限期存在,無法刪除。同樣地,系統會將預設廣播視為「永久性」。此屬性一律存在,沒有與開始或結束時間相關的時間,也沒有繫結至特定事件。
自上述淘汰日期起,YouTube 將不再建立預設串流和廣播。這項變更會影響仰賴這些資源播送即時內容的用戶端應用程式。這也會影響使用者介面的自訂應用程式,以區分這些預設資源,以及頻道擁有者所建立的其他廣播和串流。
API 用戶端不需要建立及管理預設資源,而是必須建立及管理 liveBroadcast
和 liveStream
資源,並將其繫結在一起。
更新申請
為快速檢視術語,「廣播」代表事件發生時可在 YouTube 上觀看的事件,「串流」則代表將實際影片內容傳送至 YouTube 的機制。廣播可以且必須繫結至一個串流。
從預設廣播移轉
在此淘汰之前,API 用戶端可以選擇使用頻道的預設廣播或建立事件專屬廣播。預設廣播是可重複用於多個事件的持續資源,而事件專屬播送資源是單一資源,只對應於一個 YouTube 影片。
如果用戶端應用程式呼叫 liveBroadcasts.list
方法,並執行下列任一操作,系統會使用預設廣播:
- 這會將
broadcastType
參數值設為persistent
。此要求只會擷取預設的廣播。 - 這會將
broadcastType
參數值設為all
,然後在isDefaultBroadcast
屬性值為true
的 API 回應中找出liveBroadcast
資源。
服務淘汰後,YouTube 將僅支援活動專屬廣播。也就是說,用戶端應用程式必須為每個廣播事件建立 liveBroadcast
資源,而非依賴預設的廣播。
如要建立 liveBroadcast
資源,請呼叫 liveBroadcasts.insert
方法。
這個程序在廣播《人生大事》指南的步驟 1.1 中有所解釋。
如果沒有,您的使用者介面也必須提供機制,讓使用者能夠區分及選擇即將到來的特定活動廣播。
從預設串流遷移
串流可讓您將音訊影片內容傳輸至 YouTube,並且定義了串流內容到 YouTube 的設定。一般而言,如果播送者在不同時間點播送不同的播送內容,一般播送者就會重複使用相同的串流。
即使您的應用程式無法使用預設串流,但可以建立可在每次每次播送中重複使用的串流,如要建立 liveStream
資源,請依據「liveStreams.insert
廣播訊息的生命週期」指南的步驟 1.2,呼叫 liveStreams.insert
方法。根據預設,新建立的串流可重複使用。不過,您也可以視需要將 contentDetails.isReusable
屬性設為 false
來建立單一使用的串流,並在廣播與串流之間具有一對一的關係。
以下清單包含四個屬性,除了建立新串流時可設定的串流標題和串流說明。該清單顯示每個串流的預設串流使用的值,如果您不是使用預設串流,則可能想要在用戶端應用程式中使用的設定。
cdn.frameRate
:variable
cdn.ingestionType
:rtmp
cdn.resolution
:variable
contentDetails.isReusable
:true
將廣播繫結至串流
每個 liveBroadcast
資源都必須與一個串流繫結,才能順利在 YouTube 上進行直播。(播送時不會串流至任何串流)。
系統會針對預設廣播處理繫結程序,其預設繫結與預設串流的繫結。但是,在淘汰日期之後,用戶端應用程式需要管理所有廣播的程序。
如要將廣播繫結至串流,請呼叫liveBroadcasts.bind
方法「廣播生命週期」指南 1.3 中所述的方法。
- 如果您使用可重複使用的串流,只需建立一次串流,然後將每個串流繫結至該串流。
- 如果您並未使用可重複使用的串流,則需要建立廣播和串流,然後一起合併這兩個事件。
測試您的廣播
不使用預設廣播時,您可以選擇測試廣播。如要進行測試,您可以嵌入播放器,這樣就能預覽 YouTube 觀眾實際看到的廣播影片,但其他觀眾都無法看到該廣播。
如果您的 API 用戶端先前使用的是預設廣播和串流,而您想為串流程序新增測試階段,請參閱廣播生命週期中的第 3 階段。
如果您想測試串流,那麼在插入廣播時,您必須將 contentDetails.monitorStream.enableMonitorStream 屬性設為 true
,並將 contentDetails.enableAutoStart 屬性設為 false
。這兩個屬性都是預設值。
使用自動開始和自動停止功能
當您在預設串流開始串流影片時,系統會自動開始執行預設的播送作業。同樣地,在您停止串流播放影片後,預設的廣播畫面也會結束。使用這些預設資源的每個串流工作階段隨後會成為您頻道中的影片。
雖然自動開始和自動結束功能是預設廣播的預設行為,但這些功能為選用,需要為其他廣播啟用。如要使用這些功能,請在插入廣播時將 contentDetails.enableAutoStart 和 contentDetails.enableAutoStop 屬性值設定為 true
。這些功能各自獨立,因此您可以選擇使用另一項功能。
如果您沒有為新廣播啟用「自動開始」和「自動停止」功能,您的 API 用戶端必須呼叫 liveBroadcasts.transition 方法,以便在開始和結束串流影片時更新廣播的狀態。在「廣播的人生」指南中,請參閱步驟 4.3 和步驟 5.2,瞭解如何在廣播的開始和結束時管理這些轉換。