PLAYDECK API
PLAYDECK APIは、誰でもPLAYDECKと連携できるようにするための仕組みです。この記事では、このAPIを使った開発を始める方法について説明します:
はじめに
PLAYDECK APIは双方向通信に対応しています。再生ステータスを受信できるだけでなく、PLAYDECKにコマンドを送信することも可能です。.
このAPIはWebSocketを基盤としています。WebSocketはJavaScriptの一部であるため、JavaScript、Node.js、またはTypeScriptで開発を行うことができます。WebSocketのポート番号は11411に固定されており、PLAYDECKでは常に有効になっています。.
WebSocketsを採用することにしたのは、以下の理由からです:
- PLAYDECKとの双方向連携に対応しています
- インストール不要:任意のテキストエディタを使用できます
- 特別なネットワークセキュリティは不要です
- HTMLを使えば、独自のユーザーインターフェースやアニメーションを簡単に作成できます
PLAYDECKにはどのようなものを送信できますか?
- CUEまたは再生:ブロック、クリップ、オーバーレイ、アクション
- ストリームなどの動画アセットの再生/停止
PLAYDECKからは何が受け取れますか?
- イベント(例:ブロックやクリップが開始されたなど)
- 放送状況(例:現在放送中の番組と残りのブロック時間)
- コンテンツ(例:ブロックやクリップを含む完全なプレイリスト)
例
1) 相棒
bitfocus CompanionのPLAYDECKモジュールでは、PLAYDECK APIが使用されています。これにより、このAPIの機能について手早く体感していただけます:
https://playdeck.tv/howto/companion/
2) ディレクタービュー
このAPIは、PLAYDECKの一部であるDirector Viewでも使用されています。HTMLテンプレートはこちらでご覧いただけます:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Director-View
3) HTMLオーバーレイ
このAPIは、いくつかのHTML概要の例でも使用されています。それらの例は、こちらからご覧いただけます:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Overlay-Templates
APIを実装する
実際に動作するスクリプトをすぐに確認できるよう、いくつかの例を用意しました。各例は前の内容に基づいて構成されていますので、順番に確認してください。.
ヒント1: 任意のHTMLファイルをダブルクリックしてブラウザで開くと、スクリプトやAPIを実行できます
ヒント 2: ファイル「WebSocketSDK\Version.js」を編集して、IPアドレスを変更できます
1) ネイティブ接続(APIを使用しない場合)
まずは、ごくシンプルなものから始めましょう:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleMinimalistic.html
これにより、ネイティブのJavaScriptコードを使用してPLAYDECKへのWebSocket接続が確立され、最初のブロックにある最初のクリップを再生するコマンドが送信されます。.
もう1つの例として、HTML内のボタンをクリックしてPLAYDECKで再生を開始できるものがあります:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleUserInterface.html
2) ミニマルな接続(API対応)
この例では、APIについて紹介します:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleMinimalisticSDK.html
「WebSocketAPI」というサブフォルダを使用しており、その中のメインスクリプトである「AppInterface.js」が含まれています。これは、API全体にとっての「ローダー」のような役割を果たしています。.
APIがPLAYDECKへのWebSocket接続を自動的に処理するため、手動でコーディングする必要はありません。また、APIはJavaScript向けにテンプレートフレームワークを提供しています。テンプレート名はファイル名に基づいて生成されるため、両者が一致している必要があります。 あらかじめ定義された関数がいくつか用意されています。この例では「Start」のみを使用します。この関数は、PLAYDECKへのWebSocket接続が正常に確立されると、APIによって呼び出されます。この例では、チャンネル1の最初のクリップを再生します。.
3) その他のフレームワーク機能
「Start」以外にも、利用可能なフレームワーク関数は数多くあります:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SamplePlayRandomClip.html
利用可能なすべての関数については、JSファイル内のコメントをご参照ください。.
ブラウザのコンソール(通常はF12キーで表示)を開くと、「console.log」コマンドの出力結果を確認できます。.
4) プロジェクトデータの解析
すべてのクリップにアクセスするには「DataProject」関数を使用できます。この例では、プロジェクトデータの列挙方法を示します:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleShowPlaylist.html
5) カスタムスケジュールの例
最後の例は、PLAYDECKの外でカスタムスケジューリングを行うための、完全に動作する完全なスクリプトを示しています:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\HTML-Templates\Automation-And-UI\SampleWeeklySchedule.html









