PLAYDECK API

PLAYDECK APIは、誰でもPLAYDECKと連携できるようにするための仕組みです。この記事では、このAPIを使った開発を始める方法について説明します:

この記事の内容:
はじめに

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


翻訳

この記事では、PLAYDECKの翻訳作業の方法について説明します。.


はじめに

既存の言語は、オンラインツールを使用して事前に翻訳されています。私たちは DeepL これについては。これは長い文(例:Settings)では非常にうまく機能しますが、単語単体(例:「Input」)ではあまりうまく機能しません。.

また、翻訳文によっては文字数が多少異なる場合があります。そのため、特定の単語がボタンに「収まらない」ことがあります。翻訳文を短縮できない場合は、ボタンの幅を広げることも可能です。.

こうした理由から、どの言語にも微調整が必要なのです。.


ワークフロー

翻訳は「SIL Editor」という外部ツールを使用して編集されており、そこで言語データを読み込んで編集することができます。編集内容はPLAYDECK上で直接プレビューできます。.

編集が完了したら、言語ファイルをお送りください。弊社で変更内容をアプリに反映いたします。.


ダウンロードとインストール

バージョン4.2b6のPLAYDECKが必要です。こちらからダウンロードできます:
https://downloads.playdeck.tv/4.2b6/PlaydeckSetup.exe

SIL Editorが必要です。こちらから入手できます(「SIL Editor」のみをダウンロードしてください):
https://www.sicomponents.com/download/

また、翻訳が含まれた言語ファイルも必要です:
https://downloads.playdeck.tv/4.2b6/PLAYDECK.sib

—————-

PLAYDECKとSILエディタをインストールし、SIBファイルをここに保存してください:
c:\Users\Public\Documents\JoyEventMedia\Playdeck\PLAYDECK.sib

PLAYDECKがこの場所にSIBファイルを検出した場合、内部の翻訳よりもそのファイルを使用することを優先します。.


テスト実行

何かを編集して、PLAYDECKが翻訳を更新するかどうか確認してみましょう。SIBファイルをダブルクリックすると、SILエディタが開きます。PLAYDECKの「ABOUT」ポップアップに対応する最初のブランチ「Tf_about」を開きます。 「Captions」をクリックします。これはポップアップ内のすべての静的テキストフィールドを表しています。関係のない言語の列はすべて最小化できます。この例ではドイツ語(他の言語でも構いません)に焦点を当てます。 次に、「l_header」の翻訳を目立つものに変更します。ここでは、テストのためにテキストの先頭に「XXX」を追加するだけです。.

SIBファイルを保存します(またはCtrl+Sを押します)。PLAYDECKのアプリ設定で「GERMAN」に切り替えます:

PLAYDECKを再起動した後、「ライセンス > PLAYDECK」から「バージョン情報」ポップアップを開いてください。これで、テキスト編集による変更が反映されているはずです。テスト終了後は、元の設定に戻すことをお忘れなく。もしうまくいかない場合は、弊社までご連絡ください。.



どこから始めればいいでしょうか

動的テキストはPLAYDECK内で繰り返し使用されるため、「基本翻訳」となるため、まずこれらをすべて編集することをお勧めします。これらは「Tf_lang > Strings」の下にあります:

それが完了したら、ご自身で選択してください。PLAYDECKのすべての設定やポップアップを確認しながら必要な編集箇所を探すこともできますし、SILエディタ内で直接すべてのポップアップを確認することもできます。.



方向付けと編集

エディタの左側には、PLAYDECKで利用可能なすべてのポップアップが表示されます。.

特に目立つのは「メイン」(メインUI)と「設定」(すべての設定)です。これらはさらにグループに分かれています:

各グループには以下の意味があります(必要なもののみ記載します):

キャプション: ポップアップ内に表示されるすべての静的テキスト(主にラベル、ボタン、メニュー)
コレクション: ほとんど使用されません。一部のダイアログオプションのみです。.
拡張: これも静的テキストですが、主に見出しです
ヒント: マウスの下に表示されるテキスト(例:「?」ボタンやツールバーのアイコンなど)
複数行: 表の見出しと複数選択可能なドロップダウンフィールド。ダブルクリックで編集します。.
その他: ほとんど使用されません。一部のダイアログオプションのみです。.
文字列: 動的テキストブロック。「Tf_lang」でのみ使用されます“

テキストを編集する大きな中央のテーブルには、「String ID」という列もあります。これは、PLAYDECK内の対応する要素の内部名を表しています。何かを検索する際など、場合によってはこれが役立つことがあります。.

名前の選び方について、いくつか情報をご紹介します:
l_: 静的テキストラベル
b_ または mb_: ボタン
cb_: テキスト付きチェックボックス
rb_: テキスト付きラジオボタン
pm_: ポップアップメニューまたは右クリックメニュー
os_ または op_: ドロップダウンボックス



編集のコツ

1) なお、PLAYDECK内(例:設定)で同じテキストが複数回表示される場合など、避けられない重複(同じテキストが繰り返し表示されること)がいくつかある点にご注意ください。.

2) また、システムやビデオエンジン(これらは通常、設定項目(ドロップダウン編集)です)の奥深くに組み込まれているため、翻訳できないテキストもあります。.

3) エディタ内で任意のテキストを検索したり、列ヘッダーをクリックして並べ替えたりすることができます。これにより、編集対象のテキストフィールドを見つけるために、英語の原文を特定しやすくなります。.

4) 翻訳が入力されていない(空欄)場合、自動的に英語の原文が使用されます。したがって、翻訳を削除することで、PLAYDECKに英語の原文を使用させることができます。

5) すべての複数行翻訳は、行数が同じである必要があります。そうでない場合、PLAYDECKが起動しない、または正常に動作しない可能性があります。複数行の編集は、翻訳部分をダブルクリックして行います。.

6) 一部のテキストフィールドには、PLAYDECKでの書式設定や読みやすさを向上させるための特定の文字が含まれています。これらは「“<br>”「」(改行)、または「」(空白)、あるいは「:」や一部のUTF-8アイコンなどです。これらに注意し、削除すると読みづらくなる可能性があることを念頭に置いてください。.

7) Most Languages have “lower” and “UPPER” case and some Translations (“Strings” in “Tf_lang”) provide both cases, if needed. For languages that don’t have “case”, use the same translation in both fields.


外部リンク

PLAYDECK内のリンクのほとんどは、別の場所に変更することができます。例えば、サポート用メールアドレスや、オンラインドキュメント、その他のウェブサイトへのリンクなどが該当します。.

100%では、そのようにしていただいて構いません。ただ、メールには必ず返信し、ウェブサイトのリンクが正常に機能しているか、また定期的に更新されているかを確認していただければ幸いです。.


外部コンテンツ

「GET STARTED」内のすべての画像およびすべてのドキュメントファイルも翻訳されています。こちらからご覧いただけます:
c:\Program Files (x86)\JoyEventMedia\Playdeck\lang

これらのファイルを置き換えたり更新したりすることに絶対的な緊急性はありませんが、ご希望であれば行っていただいても構いません。.

「GetStarted」フォルダには、Get-Startedダイアログに表示されるすべてのPNG画像が含まれています:


「Documentation」フォルダには、PLAYDECK内で専門家向けヘルプとして頻繁に参照されるすべてのTXTファイルが含まれています:

これらのファイルを更新される場合は、ファイル名を変更せず、元の形式(同じサイズのPNGファイルおよび同様の構造のTXTファイル)のままお送りください。.