總覽
本指南適用於 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
,然後在 API 回應中找出liveBroadcast
資源,其中isDefaultBroadcast
屬性的值為true
。
淘汰後,YouTube 將只支援特定活動的直播。
也就是說,用戶端應用程式必須為每個個別的廣播事件建立 liveBroadcast
資源,而不是依賴預設廣播。
如要建立 liveBroadcast
資源,請呼叫 liveBroadcasts.insert
方法。如要瞭解這項程序,請參閱「廣播生命週期」指南的步驟 1.1。
如果使用者介面尚未提供相關機制,您也必須提供這類機制,讓使用者區分及選取即將播出的特定活動。
從預設串流遷移
你可以透過串流將影音內容傳輸至 YouTube,並定義將內容串流至 YouTube 的設定。如果廣播時間不同,廣播主通常會重複使用同一個串流進行多場廣播。
即使應用程式無法使用預設串流,仍可建立可重複使用的串流,供每次廣播重複使用。如要建立 liveStream
資源,請按照「廣播生命週期」指南的步驟 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 方法來更新直播的狀態。如需在廣播開始和結束時管理這些轉場效果的操作說明,請參閱「Life of a Broadcast」指南中的步驟 4.3 和步驟 5.2。