StreamMix Display
iPad × Mac で、映像をリアルタイムにMixする。
VJパフォーマンスのための、低レイテンシ映像配信アプリ
Features
機能
VJパフォーマンスに必要なすべての機能を、シンプルに。
System Architecture
システムフロー
iPadでの映像ミキシングからMacでのVJソフト出力まで、H.265リアルタイムエンコードとネットワーク通信でシームレスに低レイテンシ配信します。
iPad 側アプリ「StreamMix」
iPad で動作するメインアプリです。動画ライブラリの読み込み・プレイリスト管理・Deck A / Deck B の 2 デッキ構成でのミキシング操作を行い、出力映像を H.265/HEVC でリアルタイムに圧縮して 1920×1080 / 60fps で Mac へ送信します。Bonjour で同一 LAN 上の Mac を自動検出するため、IP アドレスの手入力は不要です。TestFlight から無料で入手できます。
Mac 側アプリ「StreamMix Display」
Mac で動作する受信・出力アプリです。iPad からネットワーク経由で届いた H.265 映像を受信し、Syphon 経由で Resolume・VDMX・MadMapper・TouchDesigner などの VJ ソフトへそのまま引き渡します。Beat Link Trigger から OSC で BPM・トラック情報を受け取って映像の再生速度を DJ のプレイに同期させることもできます。
System Requirements
システム要件
動作に必要な環境をご確認ください。
Mac
| 最低要件 | 推奨 | |
|---|---|---|
| OS | macOS 14.6 (Sonoma) 以降 | macOS 15 (Sequoia) 以降 |
| チップ *1 | M1シリーズ 以降 | M1 Pro 以降 |
| メモリ *1 | 8GB 以上 | 16GB 以上 |
| 空き容量 | 100MB 以上 | 500MB 以上 |
*1 VJソフトウェアを同時に使用する場合、実際の要件はそのソフトウェアのシステム要件に強く影響されます。
iPad
| 最低要件 | 推奨 | |
|---|---|---|
| OS | iPadOS 17.6 以降 | iPadOS 18 以降 |
| チップ | A14 Bionic 以降 | Apple Silicon (M シリーズ) |
ネットワーク
| 最低要件 | 推奨 | |
|---|---|---|
| 帯域 | 10 Mbps(実効) | 100 Mbps 以上 |
| レイテンシ | 30ms 以下 | 5ms 以下 |
| ジッター | 50ms 以下 | 2ms 以下 |
| パケットロス | 2% 以下 | 0.01% 以下 |
| 接続方式 | Wi-Fi 5GHz(同一AP・干渉少) | 有線 Ethernet |
Download
ダウンロード
最新バージョン: v1.1.0
Apple Developer ID で署名・公証済み
iPad用アプリ StreamMix は TestFlight からダウンロード
TestFlight で iPad 用アプリをダウンロードTestFlight アプリが必要です(無料)
Release Notes
リリースノート
動画の検索と取得を Mac に集約(StreamMix / StreamMix Display)
- iPad はインターネットへ直接つながらなくなりました 動画の検索・取得は、つないだ StreamMix Display(Mac)が行い、iPad はローカルネットワーク経由で受け取って再生します。iPad の通信先は自分の Mac だけになり、会場の回線が不安定でも Mac 側で吸収できます。これに伴い、iPad の設定から動画情報サーバーの項目を外しました(設定は Mac の設定にあります)。
- Mac の動画フォルダを iPad から検索できるようになりました Mac の設定「iPad からの検索」で「Mac のローカルファイル」を選ぶと、iPad の検索窓で Mac のフォルダの動画を探して読み込めます。BPM は Mac が解析して iPad へ届けます。
- Mac につないでいないときは「この iPad の動画」を検索します 同梱のデモ動画と、ファイル App から取り込んだ動画を、Mac なしで再生・ミックスできます。
- Mac から iPad のデッキへ、検索した動画を送れるようになりました(StreamMix Display) これまでの「ローカル動画を iPad へ送る」を「iPad へ送る」にまとめ、[検索] と [ローカルファイル] のタブにしました。検索結果の行ごとに Player A / B へ送れ、動画の URL を貼ればその 1 件を表示します。映像と音声は Mac がまとめて用意して iPad へ届けます。
- Mac の設定にキャッシュの項目を追加しました(StreamMix Display) iPad へ送った動画を再生しながらディスクに一時保存し、同じ起動中の再生し直しを安定させます。オフにもでき、容量の上限を選べます。キャッシュはアプリの起動中だけ使われ、終了時に削除されます。
- Windows の受信機と組み合わせた場合 Windows 版が対応するまでは、iPad の検索窓は「この iPad の動画」になります(受信機から送るローカル動画の読み込みは今までどおり使えます)。
安定性の向上(StreamMix)
- 音声の準備でアプリが一瞬固まることがある問題を修正しました 動画を読み込むときのオーディオの設定を、画面の処理とは別に行うようにしました。
- 通信が途切れたあと動画の再生が止まったまま戻らない問題を修正しました 再生が止まったことを検出して自動で再開し、戻らない場合は読み込み直すかエラーを表示します。読み込み元が止まっている間にシークした場合も同様です。
- 再接続やアプリへの復帰で、一時停止していたデッキが勝手に再生されなくなりました 切断やバックグラウンドへ移る前の再生状態が保たれます。
BPM と SYNC の改善(StreamMix / StreamMix Display)
- 自動 BPM の倍・半テンポの取り違えを修正しました 解析結果が実際の半分や倍になり、SYNC が 2 倍速のまま「同期中」と表示されることがありました。解析結果を 90〜180 BPM の帯に寄せ、SYNC はデッキの BPM に最も近いテンポ倍率を自動で選びます。倍率はデッキ BPM のわずかな変化では切り替わらず、速度が急に跳ばなくなりました。手入力・Tap の BPM は入力どおり使われます。
Mac 連携の改善
- Mac から読み込んだローカル動画のタイトルにファイル名が表示されるようになりました これまでは内部の識別子(英数字の羅列)が表示されていました。拡張子を除いたファイル名がそのままプレイヤーのタイトルになります。
配信の安定性向上(StreamMix)
- 接続しただけで Mac に黒画面が届くようになりました(合成モード) 合成(mix)モードでは、動画を読み込む前でも、受信側が「つながっているのに何も来ない」状態になりません(2 系統出力の Raw モードでは、読み込んだデッキの映像から送られます)。Start を押す前に動画を読み込んで再接続すると映像が止まったままになる不具合も修正しました。
- コントロールセンターや通知を開いただけで映像が一瞬途切れる問題を修正しました これまで、配信中にコントロールセンターを引いたり通知バナーが出たりすると、そのたびに映像の送出が作り直され、Mac 側の映像が短く途切れていました。アプリを実際にバックグラウンドへ送ったときだけ作り直すようにし、画面を操作しただけでは途切れなくなりました。発熱の軽減にもつながります。
- 映像が一瞬乱れたあとの復帰を速くしました 複雑なシーンで映像1枚分のデータが送信できる上限を超えると、その1枚が送られずに Mac 側の映像が乱れることがあります。これまでは復帰までに最大 0.5 秒かかっていましたが、すぐに復帰用の映像を送り直すようにし、ほぼ一瞬で戻るようになりました。
- 映像の送出が止まったまま戻らなくなる問題に自動復帰を入れました 端末の高負荷や発熱などで映像の変換処理が応答を返さなくなると、iPad 側では合成が動いているのに Mac へ映像が送られない状態が続くことがありました。これまではアプリを一度バックグラウンドへ送る以外に復帰手段がありませんでした。止まったことを検知して映像の変換を作り直し、それでも直らない場合は送出の仕組みごと作り直すところまで自動で段階的に試みるようにしました。復帰の試行は繰り返すほど間隔を空け、際限なく作り直し続けないようにしています。
接続と状態表示の改善(StreamMix Display)
- Mac 側で映像が届かなくなったことが分かるようになりました これまでは接続が生きている限り表示は緑のままで、映像だけが止まっていても画面からは判別できませんでした。映像の到着が途絶えると表示が黄色に変わり、止まっていることが分かるようになりました。
- 映像が止まった警告が途中で消えてしまう問題を修正しました 一定時間操作がないと、映像が止まったままでも警告表示が消えることがありました。接続が生きている間は警告を出し続けるようにしました。
- 相手の iPad が他の Mac と接続中のときの再試行間隔を見直しました 「使用中」で断られた回数に応じて間隔を空けるようにし、断られた理由が変わった場合は通常の間隔へ戻すようにしました。空くのを待ち続けるあいだ無駄に再試行しなくなります。
- StreamMix Display を二重に起動できないようにしました 同じ Mac で 2 つ起動すると接続の切断と再接続を繰り返していました。後から起動した側は、先に起動している方を前面に出して終了します。
- 接続の再試行を改善しました 接続シートを閉じても iPad の探索を続け、手動接続の失敗後は自分で選んだ iPad にだけ再試行します(別の iPad へ勝手につなぎません)。再試行中はキャンセルでき、再試行の理由は最新の状態で表示されます。
- 接続シートが行き止まりになる問題と、シートを開いたまま終了できない問題を修正しました(StreamMix / StreamMix Display) 待機状態でも「閉じる」と「接続待ちを開始」を押せます。Mac では接続シートや規約のシートを開いたままでもアプリを終了できます。
- 手動で接続して断られたときも自動で再試行するようになりました これまで、接続リストから自分で選んで接続し「使用中」で断られると、そこで行き止まりになっていました。自動再接続の流れに合流するようになり、相手が空き次第つながります。
その他
- バージョンが合わないときのアップデート案内を App Store のページへ変更しました(StreamMix)
- ライセンス表記と利用規約の文面を実態に合わせて整理しました iPad の「ライセンス」画面に、同梱ライブラリ(Syphon / Sparkle)を使うのは Mac 版であることを明記しました。利用規約の免責の対象を「StreamMix Display が動画の検索・取得に利用する外部のサーバー」と明確にしました(内容の変更ではないため、改めての同意は不要です)。
- 映像デコーダーの作り直しに失敗したあと、再接続しても映像が戻らない問題を修正しました(Windows)
不具合調査のための記録を強化(StreamMix / StreamMix Display)
- 接続が切れて復帰しないときの原因を特定できるようにしました 接続トラブルの調査に必要な情報が記録されておらず、原因を絞り込めないことがありました。必要な記録を追加し、次に同じ問題が起きたときにログから原因を特定できるようにしました。
- アプリの終了状況がログに残るようになりました これまで、アプリがバックグラウンドに移ったのか異常終了したのかがログから判別できませんでした。終了の状況を確実に記録するようにし、「操作していない間の無反応」が正常な待機なのか不具合なのかを区別できるようになりました。
- 映像1枚あたりのデータ量を記録するようにしました 上限にどれだけ近いところで動作しているかを継続的に記録し、映像の乱れが起きる前に傾向を把握できるようにしました。
正式版 v1.0.0 になりました
- iPad・Mac・Windows 間の通信仕様を安定版として確定しました 今回のバージョンをもって、アプリ間の通信の仕組みを「バージョン 1.0」として固定します。今後のアップデートは、この仕組みとの互換性を保ったまま行われます(古いバージョンと新しいバージョンを組み合わせた場合も、接続やデッキ情報の表示は維持され、映像のみ安全に停止して案内が表示されます)。
配信の安定性向上
- 配信中に画質設定を変更すると Mac 側の映像が止まったまま戻らない問題を修正しました これまで、配信中に StreamMix の解像度などの設定を変更すると、受信側(StreamMix Display)の映像が黒画面のまま復帰せず、再接続が必要でした。変更後も自動で追従し、映像が途切れず継続するようになりました。
- 映像の通信量が設定値を大きく超えることがある問題を修正しました 映像ビットレートの上限が内部で正しく機能しておらず、複雑なシーンで通信量が想定を大きく超えることがありました。設定した品質の範囲に収まるようになり、会場の Wi-Fi 環境での安定性が向上します。
- 極端に長い曲名でデッキ情報が届かなくなる問題を予防しました 非常に長いタイトルやアーティスト名の曲を再生した場合に、デッキ情報の通信が失敗する可能性がありました。表示用に長さを揃えて送るようにし、どんな曲名でも確実に届くようになりました。
動画ソースの設定を刷新
- 動画情報の取得に使うサーバーを追加し、優先順位を決められるようになりました 「Settings」→「動画ソース」から、使いたいサーバーを追加して、上から使う順番に並べ替えできます。
- サーバーごとに取得方法を選べるようになりました 追加した各サーバーをタップすると、取得方法を「自動」「直接取得のみ」「プロキシ経由のみ」から選べます。
- 標準サーバーを予備として使うかどうかを選べます 追加したサーバーすべてに接続できないとき、標準サーバーを予備として使うかどうかをトグルで切り替えられます。
- 接続状態がひと目で分かるようになりました 各サーバーの横に接続できるかどうかのランプ(緑=接続可/赤=接続不可)が表示され、いま使われているサーバーには「使用中」バッジが付きます。
再生速度を手動で操作できるようになりました(StreamMix)
- SYNC / MANUAL の2つの速度モードを新設しました 速度セクション上部の切り替えで、DJソフトのデッキBPMに追従する「SYNC」と、テンポフェーダーで直接速度を指定する「MANUAL」を選べます。既定は SYNC です(追従を ON にするまでは等倍のまま再生されます)。
- CDJ 風のテンポフェーダーを搭載しました MANUAL では可変幅を ±6% / ±10% / ±16% / WIDE(0.5〜2倍)から選んでフェーダーで速度を調整できます。可変幅の選択はプレイヤーごとに記憶され、フェーダー位置は動画を読み込み直しても据え置かれます(物理ピッチフェーダーと同じ感覚で使えます)。
- モードを切り替えても速度が跳ねません SYNC から MANUAL に切り替えると、その時点の再生速度をフェーダーがそのまま引き継ぎます。引き継いだ速度が現在の可変幅に収まらない場合は、収まる最小の幅へ自動で広がります。
- BPM が未確定のまま同期してしまう問題を修正しました 動画側の BPM がまだ決まっていない(自動解析・Tap 入力前の)状態で、以前の値を使って誤った速度で同期することがありました。未確定の間は同期せず、その理由が表示されます。
検索に失敗したとき、原因が分かるようになりました(StreamMix)
- 検索が失敗するとリストに警告と原因、再試行ボタンが表示されます これまでは検索がすべて失敗しても検索結果が空のままで、失敗したこと自体に気付けませんでした。オフライン・接続先サーバーの停止・タイムアウトなどを区別した日本語のメッセージが表示され、その場で再試行できます。曲の読み込み時のエラー文言も同じ基準に統一しました。
再生エンジンの安定性を大幅に強化(StreamMix)
v0.9.4 で刷新した再生エンジンを全面的に総点検し、実運用で起こりうる多数の不具合を修正・予防しました。
- 処理の引っかかり後に映像が固まる/音とずれる問題を修正 端末が一時的に高負荷になったあと、映像だけが長時間止まったり、音声とズレたままになることがありました。大きなズレを検知した場合は自動で映像を音声側に合わせ直すようにしました。
- 動画の終わり際で止まったまま進まなくなる問題を修正 終端の直前に処理が詰まると、そのまま停止して次の曲やループへ進めなくなることがありました。終端を確実に検知して進むようにしました。
- 速度変更(特に2倍速)での引っかかり・戻らない問題を修正 高速再生で映像がカクついたり、一定以上ズレると元の速度に戻れなくなることがある問題を修正しました。
- 一時停止からのシーク後にデッキのプレビューが固まる問題を修正 一時停止中に再生位置を動かすと、デッキのプレビュー映像だけが前の位置のまま固まることがありました。
- 映像が終わったあとに音声だけ鳴り続ける問題を修正 音声が映像より長い動画で、映像の終端後も音だけ流れ続けることがありました。
音声まわりの安定性を改善(StreamMix)
- オーディオが再初期化されたあとに無音になる問題を修正 他アプリの利用などで端末のオーディオ機構がリセットされたあと、音が出なくなり自動で戻らないことがありました。内部を作り直して復帰するようにしました。
- 音声の準備に一度失敗するとその曲がずっと無音になる問題を修正 音声同梱(muxed)動画で音声の準備に失敗した場合、確実に音の出る方式へ切り替えるようにしました。
動画の読み込みをより確実に(StreamMix)
- 曲を素早く続けて読み込んだときの取り違えを修正 タイトルと映像が食い違う、前の曲の読み込み失敗が新しい曲の表示に影響する、意図せず再生が始まる、といった連続読み込み時の不具合をまとめて修正しました。
- 再生できない動画形式での失敗を改善 一部の動画(音声同梱形式や WebM など)で読み込みに失敗していた問題を修正し、再生可能な形式を優先して選ぶようにしました。
- 再取得(URL期限切れからの復帰)で無音にならないように修正 再生URLが期限切れになった際の再取得で、音声のない映像が選ばれて無音になることがある問題を修正しました。
Mac 連携の修正(StreamMix)
- Mac からローカル動画を差し替えたあとに映像送信が止まる問題を修正 配信中に Mac から既存のデッキへ動画を差し替えると、中央プレビューと映像送信が止まったまま復帰しないことがありました。差し替え後も途切れずに継続します。
- 接続先の Mac を切り替えたときにデッキが固まる問題を修正 Mac のローカル動画を再生中に別の Mac へ接続し直すと、その動画の配信元が失われているにもかかわらず、デッキが静止画と「Mac解析待ち…」の表示のまま操作できなくなっていました。接続先の StreamMix Display を再起動した場合も同様です。
- 切り替え後に前の接続の BPM が引き継がれる問題を修正 BPM 同期が有効なとき、前の Mac から受け取った値がそのまま再生速度に使われることがありました。
内部の堅牢性・省メモリ・省電力(StreamMix)
- 長尺・長時間再生でのメモリ枯渇によるクラッシュを予防 一部のサーバー応答で、動画や音声を丸ごとメモリに読み込んでしまう可能性を解消しました。
- 稀なクラッシュ・リソース残りを予防 特定の操作の組み合わせで起こりうるクラッシュや、一時ファイル・内部リソースの解放漏れを予防しました。
- 一部の動画で映像の分割情報を誤って解釈し再生できない問題を修正 対応できない構造の動画は自動で従来方式の再生に切り替えるようにしました。
- 読み込み中の画面描画のもたつきを軽減 音声のダウンロード中に画面描画が一瞬引っかかることがある問題を軽減しました。
- 動画の長さ表示が実際とずれることがある問題を修正
接続が切れたあと自動で戻らなくなる問題を修正(StreamMix Display)
- 一度切断されると「再接続中…」のまま二度と復帰しない問題を修正しました これまでは、iPad との接続が切れた際にごく短時間で再接続を試みる最初の1回で内部の状態が食い違い、それ以降の再試行が一切行われなくなることがありました。この状態になると画面は「再接続中…」を表示し続けるものの実際には何も試みておらず、アプリを操作し直す以外に復帰する手段がありませんでした。もっとも起こりやすいのが1回目の再接続だったため、切断のたびに遭遇し得る問題でした。 切断のたびに確実に再試行を続け、ネットワークが戻れば自動で復帰します。
- 切断後もプレビューに最後の映像が「LIVE」表示のまま残る問題を修正しました 接続が切れた瞬間に処理中だった映像が後から表示され、実際には受信していないのに配信中に見えることがありました。
- 接続を切り替えた直後に前の接続の映像が一瞬出ることがある問題を修正しました VJ ソフトへの Syphon 出力に、切り替え前の映像がわずかに混ざることがありました。
- 接続先の iPad を切り替えたときに古い接続が残り続ける問題を修正しました 内部に前の接続が残って通信を続け、実際には切れているのに接続中と判定されることがありました。
接続状態の表示をより正確にしました(StreamMix Display)
- 受信が途絶しているのにインジケータが緑のままになる問題を修正しました 接続が不安定になり受信が途絶し始めても、完全に切断と判定されるまでは表示が「接続中」の緑のままでした。不安定な状態を新たに区別し、警告アイコンと「接続中(不安定 - 受信が途絶しています)」の表示で伝えます。
- 色以外の手掛かりでも状態が分かります 不安定時はドットが警告アイコンに変わり、VoiceOver でも「正常/受信途絶中/オフ」の3状態を読み上げます。
OSC・映像受信まわりの修正(StreamMix Display)
- DJソフトからの OSC が届かなくなったまま復帰しない問題を修正しました 一度受信に失敗すると以後そのDJソフトからの信号が一切届かなくなる一方、画面の OSC 表示は「稼働中」の緑のままで、原因が分からない状態になっていました。
- DJソフトを再起動すると内部に古い接続が溜まり続ける問題を修正しました
- 映像デコーダーの準備に一度失敗すると映像が出なくなる問題を修正しました 他のアプリの利用などで一時的に準備に失敗しただけで、再接続やモード切替を行うまで映像が出ないままになることがありました。自動で復帰します。
- プレビューと VJ ソフトへの出力で色味が違う問題を修正しました 同じ映像がプレビューと Syphon 出力で異なる色に見えていました。
- 壊れた OSC メッセージで誤った値が適用されることがある問題を修正しました 通信の途中で切れたメッセージから、本来とは別の引数が読み取られる可能性がありました。
診断ログを大幅に強化しました(StreamMix / StreamMix Display)
v0.9.5 で導入した診断ログ基盤を拡張し、不具合の原因を後からより確実に特定できるようにしました。記録内容のプライバシー方針(曲名・URL・検索内容は記録しない、識別情報は匿名化)はこれまでどおりです。
- 過去の起動分もエクスポートできるようになりました ログがアプリの再起動やクラッシュをまたいで保存されるようになり、書き出す範囲を「今回の起動分」「直近3起動分」「全起動分」から選べます。これまでは起動中のログしか書き出せなかったため、不具合後にアプリを再起動すると記録が失われていました。
- クラッシュや強制終了のあと、次回起動時にお知らせします 前回が正常終了でなかった場合、設定画面の診断セクションにログの書き出しを促すバナーが表示されます。クラッシュ・ハング・メモリ不足などの診断情報も自動で記録され、エクスポートに同梱されます。
- 「今の不具合をマークする」ボタンを追加しました イベント中に「今おかしかった」と感じた瞬間を、その場でログに時刻マーカーとして残せます。問い合わせの際に、開発者が該当箇所をすぐに見つけられます。
- Windows 版 StreamMix Display にも同じ診断ログを導入しました 記録内容・エクスポート形式とも iPad / Mac 版と共通で、設定ダイアログから同様に書き出せます。
利用規約を改定しました(StreamMix / StreamMix Display)
- 免責事項の記載を見直しました これまで「一切の責任を負いません」と包括的に記載していた部分を改め、当社の管理外となる事項(動画ソースとなる外部サービスの稼働状況、ご利用のネットワーク環境、Syphon で連携する VJ ソフトウェアの動作、本番環境での無停止など)については保証の対象外であることを明確にしたうえで、当社が責任を負う範囲を具体的に定めました。当社の故意または重大な過失による場合は、この制限は適用されません。
- StreamMix Display の規約を StreamMix と同じ内容に揃えました これまで macOS 版は免責事項が要約のみでしたが、iPad 版と同一の内容になりました。
- アップデート後、最初の起動時に利用規約が再表示されます 内容をご確認のうえ「同意してはじめる」を選択してください。全文は利用規約のページでもご確認いただけます。
診断ログ基盤を導入(StreamMix / StreamMix Display)
- 不具合の原因を後から解析できるようになりました 動作中の接続・動画読み込み・映像送受信などのイベントが端末内に診断ログとして記録されるようになりました。イベント本番などで問題が発生した場合、開発者がログをもとに原因を特定できます。ログは端末内にのみ保存され、自動で外部へ送信されることはありません。
- プライバシーに配慮した記録内容 再生した曲名・動画のタイトル・URL・ファイルパス・検索内容はログに記録されません。デバイス名などの識別情報は匿名化(ハッシュ化)されます。
- 設定画面からログを書き出して問い合わせに添付できます StreamMix は「Settings」の「診断」セクションから書き出してAirDropやメールで共有、StreamMix Display は「設定…」の「診断」セクションから任意の場所へ保存できます。書き出されるのは現在起動中に記録されたログのみのため、不具合が発生した際はアプリを終了せずに書き出してください。
画面表示の改善(StreamMix)
- 画面の小さいiPadで検索結果が見やすくなりました 11インチクラスのiPad(iPad (A16) など)では、検索結果が1件しか表示されず実質的に使えない状態になっていました。画面を占有していた要素を見直し、検索結果の表示領域を約2倍に広げています。
- CUT A / CUT B ボタンを既定で非表示にしました クロスフェーダーを一瞬で A・B 端へ振るボタンは、常時画面の縦幅を占有して検索結果を圧迫していたため、既定で非表示になりました。これまでどおり使用したい場合は「Settings」の「操作パネル」から表示できます。
- 合成プレビューの表示比率を修正 プレビューの表示領域が映像と同じ16:9になっておらず、映像の上下に使われない余白ができていました。領域が映像の比率とぴったり一致するようになり、空いた分は検索結果の表示に充てています。
- ステータスバーを非表示にしました 画面上部の時刻・通信状況・バッテリー表示を隠し、その分をアプリの表示領域に充てるようになりました。
- Player の名称を A / B に統一しました これまで「P1」「P2」と表示していたプレイヤーの選択部分が「A」「B」表記になりました。CUT A / CUT B や、Rawモードの Syphon 出力(「(設定名) A」「(設定名) B」)と呼び方が揃います。
- デッキ情報の表示を整理しました すぐ上にデッキ選択が表示されているため重複していたデッキ番号の表示をやめ、代わりに ON AIR 表示を常時表示にしました。オンエア中は赤、それ以外は灰色で表示されるため、どちらのプレイヤーが出力中かが一目で分かります。
- ※ 検索時に iPad 本体のソフトウェアキーボードを表示すると、キーボードが画面の半分以上を占めるため検索結果が隠れます。外付けキーボードのご使用を推奨します。
BPM 操作の改善(StreamMix)
- -1 / +1 ボタンが長押しの連続調整に対応しました Video BPM を目的の値まで動かすのにボタンを連打する必要がなくなりました。押し続けている間、値が連続して増減します。
- ÷2 / ×2 ボタンの並びを入れ替えました 「Tap BPM・÷2・×2」の順になり、すぐ上の段の「Auto BPM・-1・+1」と同じく、左が値を下げる操作・右が上げる操作で揃うようになりました。
Auto BPM の安定性改善(StreamMix)
- 会場などの混雑した回線で「解析失敗」が多発する問題を修正しました これまで BPM 解析用に音声を別途ダウンロードしており、再生用のダウンロードや Mac への映像送信と回線を取り合って時間切れになることが失敗の主な原因でした。今回から再生用にダウンロード済みの音声をそのまま解析に使うため、解析のための追加ダウンロード自体が不要になり、動画が再生できる回線であれば BPM 解析も成功するようになります。通信量も削減されます。
- 解析の開始が早くなりました 音声の先頭部分が届いた時点で解析を始めるため、長い動画(1時間のMIXなど)でもダウンロードの完了を待たずに BPM が表示されます。また、解析が失敗と確定するまでの待ち時間も従来の最大約6分から大幅に短縮されました。
- 曲を続けて読み込んだときの表示の混乱を修正しました 前の曲の「解析失敗」表示が次の曲にも残り続ける問題と、読み込みが立て込んだ際に前の曲の BPM が新しい曲の値として保存されてしまうことがある問題を修正しました。
- 解析中の動作が軽くなりました 解析処理の一部が画面描画と同じ処理系統で動いていたため、解析中に操作が重く感じられることがありました。解析は完全にバックグラウンドで実行されるようになり、Player A / B の同時解析も互いに待たされなくなりました。
Rawモード(2系統出力)を追加
- Player A / B の映像をそのまま2系統で送信できるようになりました 合成後の映像1本ではなく、2つのプレイヤーの映像を個別のストリームとして送信し、VJソフトウェア側でミックス・加工できます。StreamMix の「Settings」の「出力モード」から切り替えられます。
- Syphon 出力が2系統になります Rawモード中は Syphon サーバーが「(設定名) A」「(設定名) B」の2系統になり、VJソフトから個別に取り込めます。合成モードでは従来どおり1系統です。
- モード切替は両アプリで同期されます iPad 側でモードを切り替えると StreamMix Display に確認ダイアログが表示されます。承認すると Mac 側も切り替わり、拒否すると iPad は自動的に元のモードへ戻ります。接続時にモードが食い違っている場合も同様に確認されます。
- Rawモード中の画面表示 StreamMix ではクロスフェーダーと合成プレビューが非表示になり(合成処理も完全に停止して省電力化)、StreamMix Display のプレビューは A / B の2画面表示になります。
映像伝送の大幅改善(StreamMix Display)
- 高ビットレート時に映像の遅延が蓄積していく問題を解消 受信処理を全面的に見直しました。従来は Rawモードのような高負荷時に遅延が少しずつ蓄積し、動画をロードするたびに悪化することがありましたが、遅延は常に一定に保たれるようになりました。
- ウィンドウ操作中も Syphon 出力が止まらなくなりました Syphon への配信を専用の処理系統に分離しました。ウィンドウのリサイズやメニュー操作の間も映像出力が継続します。
- 描画処理の省電力化 プレビュー描画を新しいフレームが届いたときだけ行うようにし、CPU / GPU 負荷を削減しました。
安定性の向上
- 通信の乱れから自動で回復するようになりました 映像の初期化情報を定期的に再送する方式に変更し、パケットロスやモード切替のタイミングによって映像が黒いまま復帰しなくなる問題を解消しました。異常が起きても数秒以内に自動復旧します。
- モード切替・再接続時のまれなクラッシュを予防 映像エンコーダー / デコーダーの解放処理を見直し、切替タイミングによってはクラッシュしうる問題を修正しました。
- 長時間稼働時のメモリ蓄積を防止 電波状況が悪い環境で、受信しきれなかった映像データが溜まり続ける可能性があった問題を修正しました。
新旧バージョン混在時の保護(アップデートを安心して行えるように)
- バージョンの組み合わせを接続時に自動チェックするようになりました iPad(StreamMix)と Mac / Windows(StreamMix Display)が接続すると、お互いのバージョンの互換性を自動で確認します。どちらか一方だけをアップデートした場合など、互換性のない組み合わせを検出すると、どちらの端末のアプリをアップデートすれば解消するかを画面に表示します。
- 互換性のない相手には映像を流しません これまでは互換性のない組み合わせで接続すると、原因の分からない黒い画面のままになることがありました。今回から映像の送受信を自動で停止し、理由と解決方法(アップデートの案内)を表示します。接続そのものと曲情報(曲名・BPMなど)の連携は引き続き動作します。
- バージョン確認は通信が乱れても自動で再試行されます 接続直後の確認データが電波状況などで失われても、自動でやり直すため、確認できないまま放置されることはありません。
- 不一致中は機能しない操作を無効化 バージョン不一致の間は、出力モードの切り替えやローカル動画の送信など、実際には機能しない操作を無効化し、理由を表示します。
- Rawモードから戻せなくなる問題を修正 Rawモード非対応の相手と接続したときに、Rawモードから合成モードへ戻す操作までできなくなっていた問題を修正しました。戻す操作は常に行えます。
再生エンジンの刷新(StreamMix)
- 再生速度の変更が滑らかになりました 動画の再生エンジンを新しく作り直しました。BPM Sync 中の速度追従や、0.5x・2x ボタンでの速度変更のたびに発生していた映像・音声の引っかかりが解消され、速度を変えても途切れずに再生が続くようになりました。
クロスフェードの改善
- 片方のデッキに動画がない場合のクロスフェード動作を改善 フェーダーの位置に応じて映像が自然にフェードインアウトするようになりました。
安定性の向上
- サーバー接続の自動フォールバック 動画情報の取得に使用するサーバーに問題が発生した場合、自動的に別のサーバーへ切り替えて再試行するようになりました。接続状況に応じて最適なサーバーを常に選択し直すため、検索や動画読み込みがより安定して行えます。
不具合の修正
- アップデート後に再起動されない問題を修正(StreamMix Display) 「インストールして再起動」を押しても何も起きないことがありました。接続設定画面が開いたままの状態でアップデートを行うと再起動がブロックされていた問題を修正しました。
- 2台目の接続による映像の中断を防止 StreamMix Display がすでに接続中の状態で、別のPCが同じiPadへ接続しようとしても映像ストリーミングが途切れなくなりました。
映像ストリーミングの品質設定
- 解像度・フレームレート・ビットレートを自由に設定できるようになりました メイン画面の「Settings」ボタンから映像品質を選択できます。解像度は 1080p / 720p、フレームレートは 24 / 30 / 60fps、ビットレートは 6 / 3 / 1.5 Mbps から選べます。設定は次回ストリーミング開始時から反映されます。
映像ストリーミングの滑らかさ向上
- 60fps設定時の映像ドロップを大幅に改善 60fps を指定しても実際には30fps相当しか送れていた問題を修正しました。映像の合成処理をバックグラウンドで行うよう改善し、設定したフレームレートに近い映像が安定して送信されるようになります。
- 受信側の映像処理が送信フレームレートに自動追従(StreamMix Display) これまで受信側の映像処理は30fps固定を前提としていましたが、iPad から送られてくるフレームレートに自動的に追従するようになりました。また、高リフレッシュレートディスプレイでは最大リフレッシュレートまで描画されるようになり、より滑らかに表示されます。
設定画面の追加
- StreamMix Display に設定画面を新設 メニューの「設定…」(⌘,)またはメイン画面のツールバーから開けます。OSC受信ポート(デフォルト: 8000)、OSC受信ホスト(このMacのみ 127.0.0.1 / すべてのインターフェース 0.0.0.0)、Syphonサーバー名(デフォルト: StreamMix Display)を変更できます。変更はアプリを再起動することなく反映されます。
- 動画情報サーバーを編集できるようになりました 設定画面の「動画ソース」から、動画情報の取得に使用するサーバーを追加・削除・並べ替えできます。リストの上にあるサーバーから順に優先して使用されます。「デフォルトに戻す」でいつでも初期設定に戻せます。
動画を URL で直接指定
- 検索窓に動画ページの URL を貼り付けると、その動画を直接呼び出せるようになりました キーワード検索に加えて、URL を入力すると該当する動画が検索結果に表示され、そのまま読み込んで再生できます。共有リンクや、再生位置などのパラメータが付いた URL にも対応しています。
Mac のローカル動画を iPad へ直接ロード(StreamMix Display)
- Mac 内の動画ファイルを iPad の Player A / B に直接読み込めるようになりました StreamMix Display のメイン画面「ローカル動画を iPad へ送る」から動画を選ぶ(またはファイルを Player A・B の枠にドラッグ&ドロップする)と、オンライン検索を介さずに手持ちの映像素材をそのままプレイヤーに読み込んで再生できます。Player A・B それぞれに個別の動画を送れます。
- BPM は自動で解析されます 送信した動画の BPM を Mac 側がバックグラウンドで解析し、iPad に自動反映します。解析は空いている処理能力で行うため、映像の受信・Syphon出力を妨げません。BPM Sync もそのまま利用できます。BPM が検出できなかった場合は iPad 側で手動設定できます。
- ※ iPad と Mac が同じネットワークに接続されている必要があります。初回はローカルネットワーク/ファイアウォールの許可を求められることがあります。
その他
- アプリ全体の最適化を行いました。
動画再生
- 高画質再生時の音声を改善 高解像度の動画を再生したときに音声が出ないことがある問題を解消しました。高画質でもしっかり音声付きで再生できるようになっています。
- 再生中の途切れを軽減 動画再生中に映像や音声が途切れる頻度を抑えるため、先読みする時間を拡大しました。再生開始の早さはそのままに、より安定して視聴できます。
- ループ再生に対応 動画が最後まで再生されると自動的に先頭に戻って繰り返し再生されます。再生コントロールのループボタンで ON/OFF を切り替えられます。
安定性の向上
- 動画取得元サーバーの変更 動画情報を取得するサーバーを変更し、検索・再生の安定性を高めました。
操作性の向上
- 動画読み込み時はデフォルトでミュート 動画を読み込んだ際、音声は自動的にミュート状態になります。ヘッドフォンボタンを押すと音声をモニタリングできます。新しい動画を読み込むと再びミュートに戻ります。
- モニタリングボタンを追加 音声確認用のボタンをヘッドフォンアイコンに変更しました。モニタリング中はオレンジ色で点灯します。
- BPM解析ボタンの表示を改善 解析中もボタンのラベルが表示されたまま、アイコン部分のみがくるくると切り替わるようになりました。
- 再生速度の表示を改善 BPM Sync が無効のときの再生速度表示が「x1.00」と表示されるようになりました。
- 手動設定したBPMを記憶 BPMを手動で調整した場合、その値が動画ごとに保存されます。次回同じ動画を読み込んだ際、自動解析をスキップして前回の値を即座に復元します。
- 0.5x・2x ボタンを押している間、視覚的にフィードバック ボタンを押している間、背景色が変わり軽く縮むアニメーションが付くようになりました。
不具合の修正
- BPM Sync 中に倍速ボタンを押しても速度が上書きされる問題を修正 0.5x または 2x ボタンを押している最中に DJ 側の BPM が変動しても、ボタンを押している間は指定した倍速を維持するようになりました。指を離した瞬間に最新の BPM に基づく速度へ自動で戻ります。
- 未接続時のデッキ表示が統一されていない問題を修正 OSC が接続されていない状態で、デッキ 1・2 と 3・4 に異なるメッセージが表示されていました。すべてのデッキで「No Connection」と統一されるようになりました。
はじめてお使いの方へ
- 利用規約への同意 初回起動時に利用規約の確認画面が表示されるようになりました。内容をご確認の上、同意してご利用ください。
映像品質の向上
- ストリーミング映像の品質改善 iPad から Mac への映像ストリーミングの画質と滑らかさが向上しました。
安定性の向上
- 内部コードの整理 アプリの内部処理を整理・最適化しました。動作の安定性と将来的なアップデートへの対応力が向上しています。
その他
- ライセンス情報を追加 接続設定画面(StreamMix)またはメニュー(StreamMix Display)からサードパーティライセンス情報を確認できるようになりました。
パフォーマンス改善
- BPM解析のプチフリーズを解消 BPM解析中にUIが一瞬止まる問題を修正しました。解析処理を最適化し、よりスムーズに動作します。
- クロスフェード中の動画ロード時フリーズを改善 ストリーミング中にデッキへ新しい動画をロードしたとき、映像が一瞬止まることがある問題を改善しました。動画の切り替えがよりスムーズになります。
安定性の向上
- 映像ストリーミング中のクラッシュを修正 映像の送受信中にまれに発生するクラッシュを修正しました。
- 内部コードの最適化 コード全体を最適化し、安定性が向上しました。
対応OSバージョンの拡大
- iPadOS 17.6以降に対応 これまでより幅広いiPadで利用できるようになりました。
- macOS 14.6 (Sonoma) 以降に対応 これまでより幅広いMacで利用できるようになりました。
内部改善
- ネットワーク接続の安定性向上 接続処理を内部的に整理・統一し、より安定した通信を実現しました。
動画再生
- 動画ロード速度の大幅改善 動画の長さに比例してロード時間が伸びる問題を解消しました。
ネットワーク接続
- 自動再接続 接続が切断された場合、自動的に再接続を試みるようになりました。ライブ中の意図しない切断からの復帰がスムーズになります。
- 接続経路の詳細表示 Mac側で接続経路ごとのIPアドレスと接続タイプ(直接接続/ルーター経由)を表示するようになりました。
- 接続経路の自動優先順位付け USB-C/Thunderbolt直結や有線直結を自動的に優先し、最適な経路を推奨します。
- 手動切断・経路変更機能 接続中にUIから切断や別の経路への切り替えが可能になりました。
- 接続タイムアウト 接続確立時に15秒のタイムアウトを設け、応答がない場合は自動的にキャンセルされます。
StreamMix Display
- 接続設定UIの改善 接続済みの状態で設定画面を開いた際、正しく「接続済み」と表示されるようになりました。
- 発見デバイスリストの改善 接続済みデバイスが「発見されたデバイス」に重複表示されなくなりました。
- OSC情報パネルの削除 メイン画面からOSC情報表示エリアを削除し、UIをシンプル化しました。
StreamMix
- 接続デバイス名の表示改善 接続設定画面で、接続中のMacデバイス名が正しく表示されるようになりました。
- トラブルシューティング情報の更新 最新のmacOS設定パスに対応し、USB-C/Thunderbolt接続の案内を追加しました。
- ローカルネットワーク権限の説明追加 macOSで必要なローカルネットワーク権限についての説明を追加しました。
- 早送りボタン(2x)で映像が停止する問題を修正 Auto BPM + Sync有効時に再生速度が1.0xを超えている状態で早送りボタンを押すと映像が停止していた問題を修正しました。
内部品質
- Releaseビルドのパフォーマンス向上 ログ出力を専用ユーティリティ(DebugLog)に統一し、Releaseビルドではすべてのログが完全に無効化されます。これによりストリーミング中のI/Oブロッキングが解消されます。
- 並行処理の安定性向上 Swift Concurrency(actor)に関する不要なロック(NSLock)を除去し、スレッド安全性を改善しました。
- ネットワーク再接続の改善 ネットワークアダプターの切り替え時に、アプリの再起動が不要になりました。
- オープンベータ公開開始