概覽
服務器端廣告插入(SSAI),您可以將廣告拼接到視頻內容流中,以提供類似電視的觀看體驗。要使用Native SDK播放實時流,您需要在視頻請求中傳遞播放令牌。
居住SSAI允許您:
- 使用從編碼器發送的提示點插入廣告或使用Live API
- 內嵌「石板」資產以填滿任何未使用的廣告時間
- 避免將廣告拼接到伺服器端直播中的廣告攔截器
步驟
播放直播流SSAI, 按著這些次序:
創建現場活動
默認情況下,您的實時流將使用Brightcove CDN。如果願意,可以使用自己選擇的CDN(BYO CDN或“自帶帶寬”)。要使用您自己的 CDN,請在本節和獲取播放令牌部分。
若要進行現場活動,請按照下列步驟操作:
- 請參閱在直播模塊中實現服務端廣告文檔。
- 展開 高級選項 部分。
-
選擇 Enable Server-Side Ad Insertion (SSAI) ,然後選擇 Fill Slate 。
-
選用性:要使用您自己的CDN,請包括以下其他步驟:
-
在 高級選項 部分,選擇 添加多 CDN 配置 選項。
-
輸入您自己的CDN的標籤和URL。有關詳細信息,請參閱 內容交付選項 文檔。
-
- 完成直播活動配置後,點擊 創建活動。
獲取播放令牌
當您在直播中啟用 SSAI 時,播放器嵌入代碼將包含adConfigId
範圍。該值是播放令牌,在您的應用中請求視頻內容時將使用該令牌。
要獲取播放令牌,請按照下列步驟操作:
- 在 Video Cloud Studio 中,返回 直播 模塊。
- 在左側導航中,選擇 Publish and Embed 。
-
在 實時播放器選項 部分,展開 選擇廣告配置 選項並選擇您在上一步中創建的實時廣告配置。
-
複製標準嵌入代碼到你的剪貼板。
-
從嵌入代碼中,複製
VideoId
參數值。您將在後面的步驟中使用該值。它看起來應該類似於:1700044540369289748
-
從嵌入代碼中,複製
adConfigId
參數值。您將在後面的步驟中使用這些值。這adConfigId
value 是從您的視頻雲庫請求內容時傳遞的播放令牌。它看起來應該類似於:live.t0vbpNIjTPW6IZ29QsyuWrmgjvQjEWe3u_wPmaMqnhAmE05DCF7aAa-6fDIkvryJctH1rADJnfXYANy7tDg4agQFx23WIvsXMmAjz1BiNl-S3rFZ9tRdzRWdo1E4FTLkET6XcNuNZ2acTnzmow
- 您還將需要帳戶ID和策略密鑰。
安卓實作
要播放直播流,您將包括adConfigId
參數和您的視頻請求的播放令牌的值。
請依照下列步驟建置您的應用程式:
- 使用基本 SSAI 示例應用程序作為代碼的起點。
- 在裡面資源/值/strings.xml文件,將以下內容替換為您自己的值
- 帳號識別碼
- 原則金鑰
- 視頻 ID(來自上面的 獲取播放令牌 部分)
-
在裡面主活動.java文件,替換
ad_config_id
您從 Live 模塊中復制的播放令牌(實時 URL)的值獲取播放令牌上面的部分。private final String AD_CONFIG_ID_QUERY_PARAM_VALUE = "live.t0vbpNIjTPW6IZ29QsyuWrmgjvQjEWe3u_wPmaMqnhAmE05DCF7aAa-6fDIkvryJctH1rADJnfXYANy7tDg4agQFx23WIvsXMmAjz1BiNl-S3rFZ9tRdzRWdo1E4FTLkET6XcNuNZ2acTnzmow";
-
這
ad_config_id
將您的播放令牌值作為查詢參數添加到 HTTP 請求中。HttpRequestConfig httpRequestConfig = new HttpRequestConfig.Builder() .addQueryParameter(AD_CONFIG_ID_QUERY_PARAM_KEY, AD_CONFIG_ID_QUERY_PARAM_VALUE) .build();
-
使用即時串流視訊 ID 和更新的 HTTP 要求,對播放 API 進行目錄呼叫。
catalog.findVideoByID(getString(R.string.video_id), httpRequestConfig, new VideoListener() { @Override public void onVideo(Video video) { plugin.processVideo(video); } });
-
您的應用程式已準備好播放即時串流。
有關通過適用於 Android 的本機 SDK 使用為 SSAI 啟用的實時流的更多詳細信息,請參閱SSAI 插件在 6.9.0 中的變化博客文章。
iOS 實作
要播放直播流,您將包括adConfigId
參數和您的視頻請求的播放令牌的值。
請依照下列步驟建置您的應用程式:
- 使用基本 SSAI 示例應用程序作為代碼的起點。
- 在裡面視圖控制器.swift文件,將以下內容替換為您自己的值
- 帳號識別碼
- 原則金鑰
- 視頻 ID(來自上面的 獲取播放令牌 部分)
-
在裡面視圖控制器.swift文件,替換
AdConfigId
您從 Live 模塊中復制的播放令牌(實時 URL)的值獲取播放令牌上面的部分。static let AdConfigId = "live.t0vbpNIjTPW6IZ29QsyuWrmgjvQjEWe3u_wPmaMqnhAmE05DCF7aAa-6fDIkvryJctH1rADJnfXYANy7tDg4agQFx23WIvsXMmAjz1BiNl-S3rFZ9tRdzRWdo1E4FTLkET6XcNuNZ2acTnzmow";
-
這
AdConfigId
將您的播放令牌值作為查詢參數添加到 HTTP 請求中。let queryParameters = [kBCOVPlaybackServiceParamaterKeyAdConfigId: Constants.AdConfigId]
-
使用即時串流視訊 ID 和更新的 HTTP 要求,對播放 API 進行目錄呼叫。
playbackService.findVideo(withVideoID: Constants.VideoId, parameters: queryParameters) { [weak self] (video: BCOVVideo?, jsonResponse: [AnyHashable: Any]?, error: Error?) -> Void in guard let _video = video else { print("ViewController Debug - Error retrieving video: \(error?.localizedDescription ?? "unknown error")") return } self?.playbackController?.setVideos([_video] as NSFastEnumeration) }
- 您的應用程式已準備好播放即時串流。