- Python 3
- Linux(WSL) or macOS
- Git リポジトリをクローンする
- プロジェクトルートで
pip3 install -r requirements.txt
を実行する python3 -m cndctl --help
を実行してUsageが出てきたら、インストール成功
認証方法は次の3通りが存在します。 また、以下の並び順で下の方ほどより優先的に読み込まれます。
- JSONファイル
- 環境変数
- コマンドオプション
また、JSONファイルを利用しつつ、環境変数やコマンドオプションを利用することで、それらの設定を上書きできます。 なお、一部のオプションはコマンドオプションからのみ指定できます。
本リポジトリの./example.jsonのようにJSONファイルを作成し、次のコマンドのように実行時に指定します。
python3 -m cndctl --secret example.json scene get
指定された環境変数をexport
しておくことでこれらを読み込みます。
利用可能な環境変数は以下のとおりです。
OBS_HOST
: OBS Websocketの接続先(IPアドレスまたはドメイン名)OBS_PORT
: OBS Websocketの待ち受けポートOBS_PASS
: OBS Websocketの待ち受けパスワードDK_URL
: Dreamkast APIの接続先ドメイン名DK_CLIENT_ID
: Auth0のトークンを生成するためのクライアントIDDK_CLIENT_SECRETS
: Auth0のトークンを生成するためのクライアントシークレットDK_AUTH0_URL
: Auth0のトークンを生成するためのAuth0サブドメインCNDCTL_CURRENT_JSON
:--secret
を省略できる
指定されたコマンドオプションを利用してパラメータを指定できます。 コマンドオプションのパラメータはもっとも優先されて読み込まれます。 利用可能なオプションは以下のとおりです。
--secret
: 認証用のJSONファイルを指定する--obs-host
: OBS Websocketの接続先(IPアドレスまたはドメイン名)--obs-port
: OBS Websocketの待ち受けポート--obs-password
: OBS Websocketの待ち受けパスワード--dk-url
: Dreamkast APIの接続先ドメイン名--dk-client-id
: Auth0のトークンを生成するためのクライアントID--dk-client-secrets
: Auth0のトークンを生成するためのクライアントシークレット--dk-auth0-url
: Auth0のトークンを生成するためのAuth0サブドメイン--dk-talk-id
: 一部のdk操作に利用するtalk_id
を指定する--sceneName
: 一部のシーン操作に利用するシーン名
を指定する--sourceName
: 一部のソース操作に利用するソース名
を指定する
python3 -m cndctl scene get
python3 -m cndctl scene next
python3 -m cndctl scene change --sceneName={SCENE_NAME}
python3 -m cndctl --secret switcher01.json scene change --sceneName="$(python3 -m cndctl --secret switcher01.json scene get | fzf)"
python3 -m cndctl mediasource time --sourceName={SOURCE_NAME}
python3 -m cndctl dk update
※Tokenの期限が残っている場合は実行しない
python3 -m cndctl dk onair --dk-talk-id={DK_TALK_ID}
python3 -m cndctl dk onair_next --track=A --event-date=2023-03-20
※--event-date
は省略可
python3 -m cndctl dk track_talks --track=A
python3 -m cndctl dk track_talks --event-abbr=cicd2023
python3 -m cndctl dk get_api --api-path=/talks?eventAbbr=cicd2023&conferenceDayIds=21
python3 -m cndctl op next
python3 -m cndctl op now
python3 -m cndctl switcher build
cndctl
# シーン関連の操作
scene
* get
* next
* set
scenecollection
get
source
get
mediasource
get
* time
streaming
start
stop
recording
start
stop
text
edit
delete
on
off