
macOS/Windows両対応のYoutube動画再生支援ツール作ってみた【NDI対応】
本記事は、#VJアドベントカレンダー2024 Advent Calendar 2024の参加記事になります。
この記事の内容
配布は準備中です。
VJ中に動画サイトの映像流す必要が多々ありますが、macOSやNDI環境で中々安定してResolumeやVDMXに流せるツールが無くて困ってました。
なので作りました。

WindowsかつSpoutの人はSainaさんの「Youtube To Spout」がおすすめです。(VJツールのSynapseRack VJ Toolもおすすめです。)
注意
このツール(moeVJTool)を利用したことによって発生した損害等については一切の責任を負いません。自己の責任において利用をお願いいたします。
また、各プラットフォーム等の利用規約を確認したうえでご利用ください。
自己紹介
こなこな(@konakonanjolno)という名義で活動しています。
普段はサブカルチャーやアニメコンテンツ系のDJイベントを中心にVJ活動を行っています。
事の発端
普段、Youtubeから動画を引っ張ってきて表示するときはブラウザのPiP機能を利用してVDMXで画面を取り込んでいます。
ただその手法で取り込んでしまうと、映像の解像度がPiPのサイズに依存したり、ブラウザの遷移を間違えるとPiPがデストロイしてしまったり、はたまた間違えてマウスオーバーするとコントロールが表示されたりと微妙にイライラしていました。
WindowsであればSainaさんの「Youtube To Spout」でことが足りるのですが、あいにく当方はmacOSのVDMXとWindowsでのResolumeの両方を利用しているので条件に一致しませんでした。
(VJのアドベントカレンダーに投稿するネタが思い浮かばなかったので)
なので無ければ作ってしまえの精神で今回クロスプラットフォーム対応のYoutube再生ツールの作成をしました。
下記からは技術的な紹介と実際の動作画面の紹介をします。
技術紹介
使用した技術
Unity
NDI
ストリームライブラリ
クロスプラットフォーム対応が必須だったのでお手軽にビルドできるUnityを採用しました。
普段はクラウドエンジニアなので全く触ったことは無いですが気合いでどうにかしました。
処理の流れ
内部的な流れとしては下記のような感じです。
[YoutubeURL]
↓
[ストリームライブラリで動画情報のパース]
↓
[ビデオプレイヤー(レンダーテクスチャ)へ表示]
↓
[レンダーテクスチャをNDIライブラリがキャプチャし、ブロードキャスト]
↓
[各VJソフトでNDIパケットをキャプチャ]
このソフトでできること
Youtube動画の再生
NDIへの映像出力
動画のシーク
再生速度の柔軟な変更
ループ再生
動作映像
Macでの動作映像がこちらです。
半分くらいから下が作成したツールです。
できた pic.twitter.com/y252eEKhj3
— こなこなんじょるの (@konakonanjolno) December 19, 2024
当然ですがWindowsでも動作します。
既知のバグ
720p以上の場合映像と音声がシンクしないときがある。
これはYoutube側の問題で、720p以上の動画は動画と音声が分離しているため2つのプレイヤーで無理やり再生している為です。
多分Unity標準プレイヤーが悪さしているので頑張ればどうにかできそうな気がしています。。。対比が著しくかけ離れてる動画の場合アスペクト比がおかしくなる。
設定は変更しているのに変わらずタイムアップしました。
対応したいこと
キーボードショートカット
再生/一時停止だけは対応してる。MIDI入力
配布について
アドベントカレンダーに間に合わせるために急ピッチで作成したので、年末くらいにリファクタリングしたものをここで配布する予定です。
欲しい方がいましたら当方のDMまでご連絡ください。早めにお渡しします。
まとめ
Unityやストリームライブラリ、NDIの勉強をしながら作成できて色々経験が身について良かったです。色々他にも作りたいものが増えました。
アドベントカレンダーが無かったら多分先送りにしていたので本当に良かった。ScreenSaverさんありがとうございました。無いものは作るのが早い。