このコラムでは企業のDX相談から映像制作のワークフロー改善まで、技術に関わることを幅広く扱うテクニカルディレクター集団「BASSDRUM(ベースドラム)」が、アニメ制作における技術活用の可能性を探ります。

実際の現場で起きているお悩みを例に、その課題を解決するためのプロトタイプを開発していきます。みなさんもぜひ、一緒に試してみてください。本企画で取り上げるお悩みも随時募集しております!

第2回となる今回のご相談は、某アニメ制作会社S氏から。「録画ファイルの命名ミスが制作進行に影響することがあり、なんとか改善したい」とのこと。これに対し我々が開発したのが、録画と同時にカット番号付きのファイル名を自動生成できる『カットナンバリングマネージャー』です。

記事の目次
    お悩み相談はこちらから

    森岡東洋志/BASSDRUM

    1981年生まれ。東京工芸大学博士課程満期退学。工学修士。メーカー勤務を経て、2014年からIoTデバイスの開発やスマートフォンアプリの開発、インスタレーションの開発に携わる。2015年、プロトタイピングに特化したワントゥーテンドライブを設立し、CTOとしてメーカーとの新製品開発やテクノロジーを使ったエンターテイメントの開発を行う。2020年に独立し、BASSDRUMに参画。大阪芸術大学にて非常勤講師も務める。

    今回のお悩み「ヒューマンエラーによるファイル名のつけ間違いをなくしたい!」

    アニメ制作会社 S氏の悩み

    「制作中のプロジェクトでは、ファイル名を見るだけで中身がわかるように事前に命名ルールを決めて運用しています。しかし、たとえば“モーションキャプチャ”と“撮影”のように複数の作業が同時進行している現場では、ファイル名の付け間違いが起こりやすくなってしまいます。そのミスに気づかず作業が進んでしまうと、あとで再撮や確認作業が必要になったりするのがけっこう大変で……。



    命名ルールを整備していても、現場ごとに運用がばらついたり忙しい中でついルールが守られなかったりと、属人的な管理には限界があると感じています。こうしたファイル名のヒューマンエラーを、仕組み化することで根本的に防げないでしょうか?

    今回はこちらのお悩みを解決していきましょう!

    OBSでの録画ファイルナンバリングを簡単にする「カットナンバリングマネージャー」

    こうした課題が特に表面化しやすいのが、たとえば録画作業の現場です。プリプロダクション段階の収録や記録作業では、正確なファイル管理が求められ、ツールの使い方ひとつでヒューマンエラーにつながります。

    そこで今回は、アニメ制作現場のプリプロでもよく利用される録画ツールOBS(Open Broadcaster Software)を使い、録画と連動してカット番号を自動でファイル名に反映できるツール「カットナンバリングマネージャー」を開発・試作してみました。

    「カットナンバリングマネージャー」とは?

    「カットナンバリングマネージャー」は、OBSでの録画と連携し、ファイル名を自動で命名してくれるPython製のアプリケーションです。たとえば「part_scene_cut_ver」といった命名ルールをあらかじめ設定しておけば、録画のたびにそのルールに沿ったファイル名が自動で付けられます。これにより、手動での入力ミスを防ぐことができ、誰が操作しても一貫したルールでファイルを保存できるようになります。

    カットナンバリングマネージャーが実現すること

    ・OBSでの録画ファイルに自動でカット番号を付与
    ・命名ミスや手動入力の負担を軽減
    ・誰が操作しても統一されたファイル名で保存できる
    ・接頭辞や命名ルールのカスタマイズも可能
    ・制作進行や現場スタッフのヒューマンエラーを防ぎ、作業をスムーズに

    GitHubで公開中のサンプルプログラムはこちら
    github.com/bassdrum-org/cut-numbering-manager

    ReadMeの手順に沿って環境を構築すれば、コマンド一つでOBS録画と連携し、あらかじめ設定したルール通りのファイル名で録画が自動保存されるようになります。

    ★TIPS:他のアプリケーションを制御するアプリケーションをつくる意味

    「わざわざ別のアプリケーションから制御せず、直接OBSのプラグインをつくれば良いのでは?」と思った方も多いかもしれません。あえて別のアプリケーションから制御する理由は大きく2つあります。

    1つは、UIをシンプルに保てるため。OBSの画面に複雑な設定を持ち込まず、録画の命名や管理だけに特化したシンプルなツールがつくれます。2つめは、複数アプリ・複数PCをまとめて操作できるため。

    たとえばOBSが2台、さらにモーションキャプチャソフトも並行稼働しているような現場では、それぞれを一括で制御できるハブ的なアプリがあったほうが運用がスマートです。「マネージャーアプリを外につくる」という構成は、操作の分離・安定性・拡張性の面でも理にかなっています。

    01.環境構築

    STEP 1|必要な環境とインストール方法

    本プログラムの実行には、バージョン3.6以上のPythonが必要です(Pythonは、3DCGソフトの拡張から機械学習まで、様々な分野で利用されているプログラミング言語です)。Macには標準でインストールされており、古いモデル以外はインストール不要ですが、Windowsでは別途ログインインストールが必要になります。

    Windowsの方はMicrosoftの「Windows での Python (初心者向け)」を参考にしてみてください。うまくいかない場合は、エラーメッセージを検索するなどして原因を調べていきます。最近はChatGPTのようなAIツールを活用すると、かなりの精度で考えられる原因と対策を教えてくれるので、試してみても良いかもしれません。

    Macの場合は「ターミナル」、Windowsの場合は「PowerShell」を起動して、”python –version”と入力し、3.6以上のバージョンと表示されれば準備完了です。

    python --version

    STEP 2|GitHubからプログラムをダウンロード

    GitHubのリポジトリ(このプログラムを公開している場所)に移動し、「<> Code」という緑のボタンを押します。次に、「Download Zip」を選択し、プログラムファイルをダウンロードした後、解凍します。

    STEP 3|必要なライブラリをインストール

    ラッシュジェネレーターのプログラムに必要なPythonのライブラリ(プログラムを動かすのに必要な部品)をインストールするため、ターミナルもしくはPowerShellを開き、ダウンロード・解凍したフォルダ「cut-numbering-manager-main」に移動します。たとえば、デスクトップにある場合は以下のように入力します。

    cd ~/Desktop/rush-generator-main   (Mac)
    cd C:\Users\あなたの名前\Desktop\rush-generator-main   (Windows)

    以下のコマンドを入力して実行します。

    pip install -r requirements.txt 

    エラーが出なければ準備完了です。これにより、プログラムを動かすために必要なライブラリ(部品)がまとめてインストールされます。

    万一エラーが出た場合は、そのエラーメッセージをコピぺしてChatGPTなどに解決方法を相談してみるのもおすすめです。

    02.OBS(録画ソフト)のセットアップ手順

    「カットナンバリングマネージャー」は、録画ソフトOBSを外部から操作して、自動でファイル名をつけるツールです。

    ただし、この機能を使うには特定のバージョンのOBSと、いくつかの拡張ソフト(プラグイン)を入れる必要があります。

    STEP 1|OBS本体とプラグインをインストールする

    最新版のOBSでは動作しないため、必ず以下のバージョンをインストールしてください。

    1.OBS Studio v27.2.4 のインストール録画アプリ本体です。
    以下のリンクからダウンロードして、インストールします。
    github.com/obsproject/obs-studio/releases/tag/27.2.4

    2. OBS WebSocket v4.9.1 のインストール


    OBSを外部アプリから操作できるようにするプラグインです。
    github.com/obsproject/obs-websocket/releases/tag/5.0.1
    ※「obs-websocket-4.9.1-compat-○○」と書かれたバージョンを選んでください。

    3. OSC for OBS v2.71 のインストール
    OSC(Open Sound Control)という通信方法でOBSに命令を送るためのツールです。
    github.com/jshea2/OSC-for-OBS/releases/tag/v2.7

    ★TIPS:オープンソースには“バージョンの壁”がある

    今回使ったOBS用のOSCプラグインは、現在メンテナンスが止まっている古いバージョンです。そのため、最新のOBSでは動かず、あえて過去のバージョン(OBS 27.2.4など)を選ぶ必要がありました。

    開発者の少なく、また善意で開発が進むオープンソースはこういった問題が起きやすく、ネットでの情報を鵜呑みにせず、事前に使えるか実際にチェックしておく必要があります。

    STEP 2|OBSでWebSocketの設定を有効にする

    インストールが完了したら、OBSを起動して以下の設定を行います。

    1. 上部メニューの「ツール(Tools)」を開く
    2.「WebSockets Server Settings (4.x Compat)」を選択
    3.「Enable WebSockets Server」にチェックを入れる

    03.プログラムを動かす実行手順

    1. OBSを起動する
    2. OSC for OBSを起動する
    アプリを起動し、「Connect」ボタンをクリック。緑色の丸(●)が表示されたら、OBSとの接続成功です。

    ★TIPS:OSCってなんだ?〜OBSとつなぐ通信のしくみ〜

    OSCはOpen Sound Controlの略で、もともとは音響機器同士のやり取りに使われていた通信のルール(プロトコル)です。今では、同じネットワーク内にあるアプリ同士をシンプルにつなぐ手段として、音響以外の分野でも広く使われています。

    たとえば、BlenderやTouchDesignerなどのソフトと連携するプラグインも豊富で、専門的な知識がなくても、OSC対応ツールさえ使えば簡単に連携が可能です。今回の「カットナンバリングマネージャー」も、OSCを活用してOBSの録画開始を遠隔から操作できるようになっています。

    3. 「カットナンバリングマネージャー」を起動する
    ターミナル(またはPowerShell)を開いて、以下のコマンドを入力。

    python main.py

    Enterキーを押すと、ツールが立ち上がります。「Rec」ボタンを押して録画が始まれば、成功です!

    ★OBSの設定サンプルも同梱しています

    すぐに動作確認できるよう、設定ファイルのサンプルが同梱しています。



    ◼️プロファイルの読み込み
    1.OBSメニュー「プロファイル」>「インポート」
    2. sample_OBS_settings/Profile_Sample_cut-numbering-manager を選ぶ
    3.「Profile_Sample_cut-numbering-manager」を選択して有効化



    ◼️シーンの読み込み
    1. OBSメニュー「シーンコレクション」>「インポート」
    2. scene-collection_cut-numbering-manager.json を選ぶ
    3.「cut-numbering-manager」を選択して有効化

    プロジェクトのカスタマイズも可能!

    設定画面から、次のようなカスタマイズができます。
    ・接頭辞の変更(例:Cut_ → Scene_)
    ・命名ルールの順番変更(例:カット番号 → バージョン番号の順)
    ・区切り文字の変更(_ や - など)

    命名の順番はデフォルトではパート_シーン_カット_バージョンの順になっていますが、設定画面から順序を変更することができます。

    もっと便利にするには?

    今回のプログラムはシンプルな機能に絞っていますが、以下のような機能追加も可能です。

    1:命名規則をさらに柔軟に
    ・日付・時刻を自動挿入
    ・区切り文字(`_` や `-` など)の自由な変更
    ・ プロジェクトごとの設定ファイル管理(例:`config.ini` )

    2:外部ツールとの連携
    ・ MotionBuilderなどのモーキャプソフトと同期(収録開始・停止と同期)
    ・ SlackやDiscordへの通知(収録完了後の自動通知)
     ・ Googleスプレッドシート等での自動録画ログ管理

    3:収録を補助する機能の追加
    ・同じカットを繰り返し収録する際、テイク番号の自動カウントアップ
     ・複数PCのOBSをまとめて制御(マルチカム撮影対応)

    最後に

    いかがだったでしょうか?
    この相談室では、アニメ制作に関する課題を技術で解決する記事を連載中です。「こんなことできないかな?」というご相談をお待ちしております!また、お仕事としても上記のようなアニメの業務効率化やワークフローの改善に関するお悩みをお受けしています。こちらもお気軽にご連絡ください。

    お悩み相談はこちらから

    BASSDRUM / ベースドラム株式会社


    体験施設・ショールームの企画から企業のDX支援、新規事業・プロダクト開発に至るまで、AIなどの先端分野と現場で培った知見の融合により、技術面からプロジェクトをリードする、世界初のテクニカルディレクター・コレクティブ、及びその中核にある会社組織。クリエイティブとテクノロジーを横断的に理解し、両者のコミュニケーションを媒介しながら、プロジェクトのあらゆる局面において技術を武器にチームの実現力を最大化します。2024年、日本のアニメ業界の未来を支えるチーム『ADX』を設立。
    bassdrum.org

    執筆:小野源太、森岡東洋志
    設計:森岡東洋志、小川恭平
    プログラミング:小野源太
    プロジェクトサポート:福井彩加
    (BASSDRUM)
    編集:柳田晴香