支持 聯繫支持 | 系統狀況 系統狀態

有關純音頻內容的報告

如果您的視頻庫中有純音頻內容,則運行只顯示那些純音頻視頻的報告可能會很有用。 此示例向您展示瞭如何執行此操作。

簡介

Video Cloud 允許您使用無視頻軌道的視頻形式的純音頻內容。 但是,它不會以任何方式將這些視頻標記為“純音頻”,因此,如果您擁有大量混合音頻和視頻內容的庫,那麼如何為純音頻內容創建報告可能並不明顯。

呈現中的屬性可以告訴您是否僅音頻,但是對於使用舊版攝取系統或動態投放系統攝取的視頻,這些屬性有所不同:

  • 對於舊的提取視頻,每個呈現形式都會有一個 audio_only 布爾值的屬性
  • 對於動態投放視頻,每個格式副本都會有一個 media_type 將設置為的屬性 audio or video

在此處的示例應用程序中,我們使用一個函數來檢查兩種情況:

        function isAudio(rendition) {
          if (rendition.hasOwnProperty('audio_only') && rendition.audio_only === false) {
            return false;
          } else if (rendition.hasOwnProperty('media_type') && rendition.media_type === 'video') {
            return false;
          }
          return true;
        }

關於此樣本的註釋

  • 中的任何視頻 Video Cloud 可能具有純音頻格式。 此樣本標識具有以下內容的內容 只能 音頻再現,因此檢查每個再現。 修改代碼以生成有關至少具有一個純音頻格式的內容的報告將是很簡單的。 這是您需要對示例代碼進行的唯一更改:

    現有代碼(用於查找純音頻內容):

            function processRenditions(video, renditions) {
                var i,
                  iMax = renditions.length,
                  audioRenditions = 0;
                if (video.id === '5831706803001') {}
                // separate renditions by type
                for (i = 0; i < iMax; i++) {
                  if (isAudio(renditions[i])) {
                    audioRenditions++;
                  } else {
                    // if any non-audio renditions, stop
                    break;
                  }
                }
                // check to see if all renditions are audio
                if (audioRenditions === renditions.length) {
                  video.renditionCount = audioRenditions;
                  audiosArray.push(video);
                  return;
                } else {
                  return;
                }
              }

    該功能的版本,用於識別具有純音頻格式的任何內容:

            function processRenditions(video, renditions) {
                var i,
                  iMax = renditions.length,
                  audioRenditions = 0;
                if (video.id === '5831706803001') {}
                // separate renditions by type
                for (i = 0; i < iMax; i++) {
                  if (isAudio(renditions[i])) {
                    audioRenditions++;
                  }
                }
                // check to see if any renditions are audio
                if (audioRenditions > renditions.length) {
                  video.renditionCount = audioRenditions;
                  audiosArray.push(video);
                  return;
                } else {
                  return;
                }
              }
  • 遠程資產內容為 檢查它是否僅音頻。

獲取憑證

要使用 CMS API 您將需要適當的憑據。

在大多數情況下,獲取憑據的最簡單方法是通過Studio Admin API身份驗證部分(需要您帳戶的管理員權限)。 看到 管理API身份驗證憑據 有關詳細信息。 在大多數情況下,您可能只想獲取所有權限 CMS API 操作:

CMS API 權限
CMS API 權限

如果您所需的權限在Studio中不可用,或者您希望直接從 OAuth API,請使用您的選擇 獲取客戶憑證 下面列出的文件。 無論選擇哪個選項,都需要詢問正確的操作權限。 以下內容可與cURL或Postman一起使用,以獲取對 CMS API:

          "operations": [
            "video-cloud/video/all",
            "video-cloud/playlist/all",
            "video-cloud/sharing-relationships/all",
            "video-cloud/notifications/all"
          ]

音頻內容報告

在此找到與此樣本相關的所有代碼 GitHub存儲庫.

見筆 CMS API 示例:音頻內容報告 通過Brightcove學習服務(@ rcrooks1969)上 CodePen.

使用CodePen

以下是有效使用上述CodePen的一些技巧:

  • 切換 player 通過點擊 結果 按鈕。
  • 點擊 HTML / CSS / JS 按鈕顯示一種代碼類型。
  • 點擊 在CodePen上編輯 在右上角將此CodePen分支到您自己的帳戶中。
  • 在此找到與此樣本相關的所有代碼 GitHub存儲庫.

代理代碼

為了在此頁面上構建自己的示例應用程序版本,您必須創建並託管自己的代理。 (Brightcove Learning Services使用的代理僅接受來自Brightcove域的請求。)一個示例代理與我們使用的代理非常相似,但是沒有可以阻止來自非Brightcove域的請求的檢查。 這個GitHub倉庫。 您還將在此處找到使用它的基本說明,以及有關在Proxy中構建應用的更詳盡的指南。 使用REST API.


頁面最後更新於12年2020月XNUMX日