

# IVS 中不需要的內容和觀眾
<a name="undesired-content"></a>

惡意使用者可能會嘗試在您的平台上重新串流不需要的內容 (例如職業體育運動)。這種串流會大幅增加應用程式所提供的即時串流影片數量以及與之相關的成本，而不會為您的業務增加價值。除了為您提供停止使用中串流的控制項之外，Amazon IVS 還提供資源，協助您從一開始就偵測和防止此類行為。

## 偵測不需要的內容
<a name="undesired-content-detect"></a>

### 異常偵測
<a name="undesired-content-anomaly-detection"></a>

您可以偵測並提醒在串流特定不需要的內容時發生的觀眾人數異常尖峰種類。(偵測到發生尖峰時，您可以採取[停止串流並重設串流金鑰](#undesired-content-stop-stream)中的所述措施，具體如下所述。)

Amazon CloudWatch 可讓您建立警示，以便在特定情況下傳送警示；例如在觀眾人數激增時。Amazon IVS 會針對您的所有頻道自動向 Amazon CloudWatch 報告並行檢視 (CCV) 指標，因此您只需要設定警示即可。若要設定以 CCV 為基礎的異常偵測警示，請依照下列步驟執行：

1. 在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 Amazon CloudWatch 主控台。

1. 在左側導覽列中，選取**警示**，然後選取**全部警示**。

1. 在頁面右上方，選取**建立警示**。

1. 選擇**選取指標**。在*指標*中，選取 **IVS**，然後選取**全部**，然後選取**並行檢視**旁邊的核取方塊。

1. 在右下角，選擇**選取指標**。隨即開啟 4 個步驟的警示建立精靈。

1. 精靈：在**步驟 1：指定指標和條件**中，指定下列設定值：

   1. **統計值** = **最大值**

   1. **持續時間** = **1 分鐘**

   1. **閾值類型** = **異常偵測**

   1. **每當並行檢視是...** = **大於頻帶**

   1. **異常偵測閾值** = **3**

      此閾值是初始建議值。根據一般流量模式和需求，您可能想要選取不同的值。使用較低的值可以更密切觀察您的指標；值越高，獲得的警示越少。

   1. 選取**下一步**。

1. 精靈：在**步驟 2：組態動作**中，選擇現有的 SNS 主題或建立新主題，將電子郵件傳送至您指定的地址。若要建立傳送電子郵件的主題，請選取**建立新主題**，提供主題名稱，輸入您的電子郵件地址，然後選取**建立主題**。選取**下一步**以繼續。

1. 精靈：在**步驟 3：新增名稱和說明**中，為警示新增名稱和選擇性說明，然後選取**下一**步。

1. 精靈：在**步驟 4：預覽並建立**中，確認資訊正確無誤，然後選取**建立警示**。

1. 您的警示已建立。如果出現提示，則請遵循所有指示確認 SNS 訂閱。

如需詳細資訊，請參閱：

1. [監控 Amazon IVS 低延遲串流功能](stream-health.md)

1. [建立以異常偵測為基礎的 CloudWatch 警示](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html)

### 自訂內容管制
<a name="undesired-content-custom-moderation"></a>

您可以探索自訂內容管制解決方案，透過影像辨識來偵測不需要的內容。Amazon IVS 可[自動將 Amazon IVS 即時串流錄製到 Amazon S3](record-to-s3.md)，包括產生用於此類解決方案的縮圖影像。

請考慮下列額外的偵測與預防技術：
+ [Amazon IVS 管制與 Amazon Rekognition](https://github.com/aws-samples/amazon-ivs-moderation-with-record-to-s3-web-demo/) 示範展示了如何搭配 Amazon Rekognition 使用 IVS 自動錄製到 S3 來管制即時內容。
+ [將 Hive 內容管制新增到您的 Amazon IVS 影片串流](https://aws.amazon.com/blogs/media/add-hive-content-moderation-to-your-amazon-ivs-video-streams/)
+ [藉由 AI/ML 內容管制來建立更安全的線上社群](https://dev.to/aws/creating-safer-online-communities-with-aiml-content-moderation-1bn)是一篇關於在 IVS 應用程式中使用 Amazon Rekognition 的部落格文章。

## 防止不需要的內容和觀眾
<a name="undesired-content-prevent"></a>

### 停止串流並重設串流金鑰
<a name="undesired-content-stop-stream"></a>

如果您偵測到某個頻道正在串流不需要的內容，則可以使用 Amazon IVS 主控台關閉該串流：

1. 開啟 [Amazon IVS 主控台](https://console.aws.amazon.com/ivs)。(您也可以透過 [AWS 管理主控台](https://console.aws.amazon.com/)來存取 Amazon IVS 主控台。)

1. 如果需要，在導覽列中，使用**選擇區域**下拉式清單選擇託管該頻道的區域。

1. 選取要停止的串流正在其中執行的頻道。

1. 在頻道頁面中，向下導覽至**即時串流**區段，然後選取**停止串流**。

即使在停止串流之後，廣播者也可以重新啟動該頻道上的串流。若要避免這種情況，請重設串流金鑰；這樣可防止廣播者在沒有取得新串流金鑰的情況下重新啟動串流。重設串流金鑰：
+ 在頻道頁面中，向下導覽至**串流組態**區段，然後選取**重設串流金鑰**。

您還可以程式設計方式停止串流並重設 (刪除/建立) 串流金鑰。請參閱 [Amazon IVS 低延遲串流 API 參考](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html)。

視應用程式簽發串流金鑰的方式而定，您可能需要採取進一步的措施來防止任何新串流金鑰被獲取。

### 使用私有頻道
<a name="undesired-content-private-channels"></a>

在許多情況下，只需將播放 URL 嵌入第三方網站，就可以將不需要的內容串流到您平台以外的大量受眾。防止這種行為的最佳解決方案是 Amazon IVS 私有頻道。透過使用私有頻道，您可以使用有效的播放權杖限制檢視者播放。播放權杖用於驗證播放應用程式中的檢視者，從而阻止非預期平台上的觀眾。此外，您可以啟用來源強制執行，這樣可以防止觀眾在並非託管在您網域上的網站觀看串流。您也可以啟用嚴格的來源強制執行，來擴展此保護，以涵蓋常見的串流應用程式。

請注意，您可以在不強迫使用者建立和/或登入正式帳戶的情況下獲得私有頻道和身分驗證保護。您的播放應用程式可以輕鬆地在幕後匿名獲取權杖。您仍然可以利用來源強制執行。

若要進一步了解私有頻道，請參閱：
+ 《*IVS 低延遲串流使用者指南*》中的[設定私有頻道](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/private-channels.html)。在該文件中，若要進一步了解原始伺服器強制執行，請參閱[產生和簽署 IVS 播放權杖](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/private-channels-generate-tokens.html)。
+ [使用 Amazon IVS 建立適用於已授權即時串流播放的私有頻道](https://dev.to/aws/creating-a-private-channel-for-authorized-live-stream-playback-with-amazon-ivs-2mdl) (部落格文章)

### 使用播放限制政策
<a name="undesired-content-restriction-policies"></a>

如果您不想使用[私有頻道](#undesired-content-private-channels)，仍可透過利用播放限制政策，從部分相同的保護中受益。此類政策可讓您在公有頻道上啟用地理封鎖和原始伺服器強制執行等功能。您可以使用 IVS 主控台或 API 建立播放限制政策，然後將政策的 ARN 連接至您的頻道。

#### 主控台指示 (播放限制政策)
<a name="console-playback-restrictions"></a>

1. 建立播放限制政策

   1. [開啟 Amazon IVS 主控台](https://console.aws.amazon.com/ivs)。在左側導覽窗格中，選取**播放安全性 > 播放限制政策**。

   1. 選取**建立政策**。

   1. 您可以選擇為政策命名。

   1. 或者，切換為**實施嚴格檢查內容來源** (參閱下方注意事項)。

   1. 指定**允許的國家/地區**和**允許的來源**。

   1. 選取**建立政策**。

1. 將此政策附加到新的或現有頻道

   1. 建立新頻道或編輯現有頻道。

   1. 在**限制播放區段** (位於**建立頻道**或**更新頻道**視窗中)，選取**啟用播放限制**。

   1. 從**播放限制政策**下拉式清單中，選取您在步驟 1 中建立的政策。

   1. 選取**建立頻道** (適用於新頻道) 或**儲存** (更新現有頻道)。

**實施嚴格檢查內容來源的注意事項：**這是選用設定，可用於加強對允許來源所指定的來源限制。根據預設，來源限制只會套用至多變體播放清單。如果啟用實施嚴格檢查內容來源，伺服器會強制要求所有播放請求 (包括多變體播放清單、變體播放清單和區段) 的來源必須與政策相符。這表示所有用戶端 (包括非瀏覽器用戶端) 必須為每個請求提供有效的原始請求標頭。使用 `setOrigin` 方法來設定 IVS iOS 和 Android 播放器 SDK 中的標頭。系統會在 iOS Safari 以外的網頁瀏覽器中自動進行該設定。針對 iOS Safari，您需要將 `crossorigin="anonymous"` 新增至影片元素，以確認傳送原始請求標頭。範例：`<video crossorigin="anonymous"></video>`。

**IP 位址與國家/地區對應的注意事項：**IVS 會使用第三方資料庫來判斷使用者的位置。IP 地址與國家/地區之間的映射的準確性因區域而異。根據最近的測試，整總體準確性為 99.8%。如果 IVS 無法判斷使用者的位置，則會提供使用者要求的內容。

#### CLI 指示 (播放限制政策)
<a name="cli-playback-restrictions"></a>

1. 建立播放限制政策。請見此處範例。*在 `allowed-countries`和 `allowed-origins` 欄位，將下列範例值取代為實際值，或根據您的情況例刪除其中一個欄位，或兩個欄位都刪除。*

   ```
   aws ivs create-playback-restriction-policy --name test-playback-restriction-policy --enable-strict-origin-enforcement --allowed-countries "US","JP" --allowed-origins "https://example1.com","https://*.example2.com"
   ```

   這會傳回新的播放限制政策。如需欄位的詳細資訊，請參閱 *IVS 低延遲串流 API 參考*中的 [PlaybackRestrictionPolicy](https://docs.aws.amazon.com//ivs/latest/LowLatencyAPIReference/API_PlaybackRestrictionPolicy.html)。

1. 將新政策附加至頻道。如果是現有頻道，請執行 `update-channel`，並傳入在上個步驟中所建立播放限制政策的 ARN：

   ```
   aws ivs update-channel --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" --playback-restriction-policy-arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/abcdABCDefgh"
   ```

   如果是新頻道，請在[建立頻道](create-channel-cli.md)時包含 `--playback-restriction-policy-arn` 陳述式。