OBS で同等以上のことができますのでイベント等でテロップを出してみたい方は OBS や VJ ソフトまたはキーイングできるハードウェアスイッチャーをおすすめします。
技術的には XAML のモックアップをゲームパッドで動かせるかどうか手探りで試しただけのクローンコードだらけのいい加減なものなので,部内でまじめに使われる際は適当な GUI ツールキットで一からのほうが早いはずです。
[Draft] WPF テロッパ
ダウンロード
本体
実行には Microsoft .NET Framework 3.5 と Microsoft .NET Framework 4.x の両方と Microsoft DirectX エンドユーザランタイム (June 2010) のインストールが必要です。
ソースコード(ソリューションファイル)
wpf_telopper-0.1.12-src.zip
画面デザインを変更する場合はこちらのソリューションファイルを Microsoft Visual C# 2010 SP1 以降で編集してからビルドしてください。アニメーションの変更などより高度なデザインの場合は Microsoft Expression Blend 4 SP1 で編集してください。ビルドには Microsoft Visual C# 2010 SP1 以降 (と,もしかすると Microsoft DirectX SDK June 2010,Microsoft Windows SDK v6.0A 以降) が必要です。また,諸々の素材を Release フォルダに直接置いているので,VC# 2010 でデバッグ実行する際は,プルダウンメニューの [プロジェクト],[のプロパティ],[デバッグ] タブ,「作業ディレクトリ」の [...] をクリックして Release フォルダを指定してください。VS 2012/2013 の場合は,ツールバーの Debug を Release に切り替えてください。
Microsoft Expression Blend 4 Microsoft Expression Blend 4 または Microsoft Blend for Visual Studio 2015 でソリューションファイルを読み込んで Adobe After Effects,Adobe Flash と同じ要領でキーフレームを打つとテロップをアニメーション表示にできます。また,Blender,3ds Max,Maya などで三次元モデルを作成してテロップとして使用することもできます。
起動に関わる修正履歴
wpf_telopper-0.1.9
2015 年
64-bit Windows で起動しない問題を修正
動作要件に Microsoft DirectX エンドユーザランタイムを追加
はじめに
概要
このソフトウェアはテキストファイルを読み込んでデスクトップ上にテロップのみを描画します。ハイビジョンキャプチャーカードのプレビューウィンドウの手前に,透過状態のウィンドウでテロップを表示すれば,十分に速い CPU と GPU であれば,双方をデスクトップ上でリアルタイムに合成できるかもしれないというものです。作ってはみたものの,手元にハイビジョンキャプチャーカードがないので未確認 です。手元の環境では Blackmagic Design Intensity Shuttle for USB 3.0 で動作を確認しています。カメラとコンピュータの間の HDMI ケーブルを無線などで延長して,送出卓脇またはプロジェクタ脇またはモニタ脇にコンピュータを設置できる環境と位置関係を想定しています。
ドキュメンタリー番組の制作打ち合わせや映像制作実習の教材にご利用ください。打ち合わせで紙や黒板とこのソフトウェアを相補的に使えると番組制作の経験がまだない場合でも完成時の画が浮かびやすいのではないかと思います。
使用例
プロジェクタ
ビデオカメラ + HDMI 無線ユニット + モバイルバッテリ
HDMI キャプチャユニット (Blackmagic Desgin Intensity Shuttle for USB 3.0)
無線コントローラ (Sony Computer Entertainment DUALSHOCK 4 + Logitec LBT-UAN04C1BK)
ノート PC + 予備機
ミキサ (この構成ではリップシンクなし)
経緯
このソフトウェアは放送部の部活動で欲しかったテロッパが手に届くような値段ではなかったので,作ってみようと思い立って 2001 年頃から何度か作ってみたテロッパの 3 つ目です。手法は次の表の二番目にあたるものです。
作ったというかコンセプト検証用のポトペタのモックアップにウェブ上のサンプルコードを F-BASIC と VBA の知識で貼りあわせた感じです。野放図になっているクローンコードをまとめると数百行のはずですので,学校行事などの本番に投入する場合は新規に書き起こされることをおすすめします。
リアルタイム映像に文字を載せたいときの手法の比較 (2018 年現在) 手法
製品,実装
価格
タイムラグ
自由度
手間
利点
利点じゃない方
映像用 DSP によるキーイング
ローランド,ソニー,ブラックマジックデザイン製などの放送用ビデオミキサ,スイッチャーなどと PowerPoint の組み合わせ
高〜極めて高い
ほぼない(内蔵のフレームシンクロナイザ + エフェクタ分? )
普通
なし
簡単,安全,高速
高価,重い,陳腐化しやすい,PowerPoint を動的に使う場合は VBA の知識が要る,アルファチャンネルの取り扱いが難しい
パソコン OS のデスクトップを利用した合成
WPF (C#),Java FX,Adobe Air,Qt,GTK,VCL などのアルファチャンネルを持った GUI ツールキットをキャプチャ映像の上に載せる
安価
キャプチャカードのバッファリング分 + 1 から 3 フレーム不利
高
中〜多
安価,RAD ツールによってはポトペタで作成できる
キャプチャ映像には干渉できないので,会場の音声を拾ってエフェクトに同期させるなどの高インタラクティブな仕上がりは期待できない
メディアアート用グラフィックライブラリ,VJ ソフトによる合成
Processing,openFrameworks,Cinder,vvvv,Cycling '74 MAX のいずれかとキャプチャカードとの組み合わせ
安価〜中程度
キャプチャカードのバッファリング分 + 1 から 3 フレーム不利
最高
最多
自由度が最も高く画像認識ライブラリの組み込みなどができるため頑張ればインタラクティブに仕上がる。無償のライブラリであれば安価
コーディングに時間がかかる
映像配信用ソフトによる合成
Open Broadcaster Software,Xsplit など
安価
実装依存
中
中
OBS であれば拡張可
-
ゲームエンジンによる合成
Unity + キャプチャカード制御プラグインなど
AVPro で 200 ドルから
実装依存
高い
多い
拡張性が高い
コーディングに時間がかかる
これ以前に作成したテロッパ
吉里吉里で黒バックに文字を表示したものをビデオカードのコンポジットまたは S 端子から NTSC で出力して DSP で黒を抜くもの 吉里吉里なのでスクリプトの記述がごく簡単。手元にキーイングできそうな FM TOWNS 用のビデオ入出力ボードがあることを失念していて表示機構まで作ったところで中止。2000 年代前半の超大手技術系映像制作会社でも背景黒塗りに白文字のパワーポイントとキーイング用の DSP ボードを組み合わせる手法があったので割と一般的な手法かと思います。
Processing のウェブカメラライブラリでキャプチャする映像にアルファチャンネル付きの画像オブジェクトを表示するもの Processing なのでプログラムの記述がある程度簡単でライブラリが豊富。Processing は日本語フォントを扱えないのでリアルタイムに文字入力を受ける機能を断念。
吉里吉里/KAG で作成したテロッパ (2003) フルスクリーンに黒バックのメッセージウィンドウを配置して DSP でのキーイングを前提としたもの。
Processing で作成したウェブカメラ用のテロッパ (2009) ウェブカメラの映像の上にアルファチャンネルを持った透過 PNG ファイルを配置したもの。Processing Video ライブラリ (Quick Time ベース) , DV カメラ, IEEE1394 カメラドライバ
このテロッパ
WPF (C#) でテロップを生成してキャプチャ映像とデスクトップで合成するもの WPF は OS 側で GPU 支援を使ってくれるためかなり高速に動作する。また Visual Studio に RAD ツールが同梱されているのでポトペタで作れる。
これ以降に作成したテロッパ
openFrameworks 用キャプチャライブラリでキャプチャする映像に文字ライブラリで文字を描画するもの openFrameworks (C++) なので非常に高速でライブラリが豊富
VJ 現場がかなり過酷な要件なので VJ で採用されるライブラリはほかの現場でも十二分に動きます。
openFrameworks で作成したテロッパ (2017) HDMI 入力の映像の上に文字列を描画しているもの。ofxBlackmagic2, ofxTrueTypeFontUC, ofxJoystick, ofOsc, あんずもじフォント, キャプチャ装置 (Blackmagic Design Intensity Shuttle for USB 3.0), HDMI 出力付き一眼カメラ, 16-50/2.8 APS-C レンズ
スクリーンショット
起動画面
動作イメージ
v0.1.13 操作ウィンドウ原寸 デュアルショックコントローラでは△+上下で素材のフェードインアウト,△+左右で素材の送り戻し,△+左スティックで素材の移動,△+右スティックで素材の拡大・縮小
wt_ticker.wmv ティッカー表示(動画 )
想定ユーザ
ハイビジョンキャプチャーカードとカメラはあるけど,キーヤーは持ってないよという中学校または高等学校の放送部(2020 年現在 Blackmagic 製のスイッチャーがかなり安くなってきました)
想定用途
番組制作の打ち合わせの際のテロップ・フリップ表示の実演
番組制作の教材
注意
コントローラに対してでたらめな入力を何秒か続けると入力待ちが積み上がってプログラムの動作がきわめて遅くなることがあります
フルスクリーン表示で操作が効かない場合は,Windows キーか,alt + tab キーでデスクトップに復帰できます。
おそらくうまく合成できない可能性のほうが高いです。合成の可否は,ハイビジョンキャプチャーカード側の仕様や,オーバーレイ表示の順序に依ります。
実フレームレートはコンピュータの性能に大きく依存します。
条件によっては突然落ちたりして,本番に耐えるものではないです。イベントなどでテロップを入れたい場合は,メーカー製のビデオミキサとキャラクタージェネレータをレンタルで調達するとよいかもしれません。VJ ソフト + MIDI コントローラでも行けそうです。
できること
ニュース番組風のテロップ表示
画像・映像素材表示
字幕表示
時刻表示
ティッカー表示
ホワイトボード表示
シリアル入力のテロップ表示(未検証)
放送室のゴミ箱の重さのモニタリングなどに使えます。Arduino や GR-SAKURA のようなマイコンボードとセンサを適切に組んでシリアル接続すれば,さまざまなセンサの値をリアルタイム表示できます。
ゲームパッドによる操作(既定のボタンアサインは,PSM SDK 付属ドライバ,JC-PS101U シリーズと JY-PSUAD11 シリーズ,DUALSHOCK 4 のみ)
できないこと
フレームレートの保証
キャプチャーデバイスの認識,操作
学校のイベントなど失敗がそれなりにクリティカルな用途での使用
動作要件
ソフトウェア
Microsoft Windows 7/8/8.1/10 (32/64-bit) 日本語版
お好みの日本語フォント
このソフトウェアの実行には,.NET Framework の 3 系と 4 系の両方と DirectX エンドユーザランタイムのインストールが必要です。また,フルスクリーン表示可能なキャプチャーソフトウェアが必要です。下記のソフトウェアで動作を確認しています。
Grass Valley EDIUS Pro 7 体験版
Grass Valley EDIUS Neo 3.5 体験版
アマレコ TV
OS が Windows 7 SP1 の場合
Windows 7 SP1 環境では,次の 2 つを Microsoft ダウンロードセンターからダウンロードしてインストールしてください。
Microsoft .NET Framework 4.0 または 4.5
Microsoft DirectX 11 DirectX エンドユーザランタイム(2013/02/17 訂正)
Windows 7 SP 1 では,.NET Framework 3.5 が標準でインストールされていますので,3 系のインストールは必要ありません。
OS が Windows 8 以降の場合
Windows 8 以降の環境では,「コントロールパネル」->「プログラムと機能」->「Windows の機能の有効化または無効化」から .NET Framework 3.5 を有効化するのに加えて DirectX エンドユーザランタイムをインストールしてください。
Microsoft .NET Framework 3.5
Microsoft DirectX エンドユーザランタイム
DirectX エンドユーザランタイムをインストールできない場合は Microsoft DirectX SDK June 2010 をインストールしてください。インストールオプションのすべてをインストールしなくても,Runtime と Utilities のみで動くようです。
Windows 8 以降では,.NET Framework 4.5 が標準でインストールされていますので,4 系のインストールは必要ありません。
ハードウェア
テロップの表示のみであれば,コンピュータ単体で実行できます。
PC/AT 互換コンピュータ
物理 2 コア以上の x86 互換 CPU
2G バイト以上の RAM
DirectX 10 世代以降の GPU
128M バイト以上の VRAM
テロップと外部入力映像の合成には次のハードウェアが必要です。
ハイビジョンビデオカメラやデジタル一眼レフのうち HDMI,D 端子,コンポーネント端子,SDI 端子などで手持ちのキャプチャカードと接続できるもの及び,ハイビジョンキャプチャーデバイスのうち,パソコン上でほぼ遅延なくフルスクリーンプレビュー可能なもの
Blackmagic Design Intensity Shuttle for USB 3.0
Blackmagic Design Intensity Pro 4K (PCIe)
Blackmagic Design Decklink Mini Recorder (PCIe)
または USB Video Class に対応したカメラ(ウェブカメラ,一部の HDV カメラなど)とプレビューソフト
2 面のマルチディスプレイ構成(普段パソコンの操作に使用しているモニタ + デジタルテレビなど)
テロップ表示側: 1280 x 720 ピクセルまたは 1920 x 1080 ピクセルの画面解像度
操作画面表示側: 1024 x 768 ピクセル以上の画面解像度
映像と音声を完全にリップシンクさせたい場合は音声側にディレイを噛ませる必要があります。
オプション機能の動作要件
ゲームパッドを使った操作
ゲームパッド
PlayStation 用デュアルショックコントローラ SONY SCPH-1200 + 下記の変換器
PlayStation 2 用デュアルショックコントローラ SONY SCPH-10010 + 下記の変換器
PlayStation 3 用デュアルショックコントローラ SONY CECH-ZC2J + 付属 USB ケーブル + PlayStation Mobile SDK 付属ドライバ
PlayStation 4 用デュアルショックコントローラ SONY CUH-ZCT1J + bluetooth 2.1+EDR 対応アダプタ + 標準ドライバ
コネクタ変換器
サンワサプライ製 JY-PSUAD11 シリーズ
エレコム製 JC-PS101U シリーズ
シリアル入力のテロップ表示
シリアル出力を持ったマイコンボードなど
Arduino Uno
GR-SAKURA
Raspberry Pi
動作確認
OS とランタイム
Windows 7 SP1 32-bit, .NET Framework 4.0, DirectX エンドユーザランタイム
Windows 7 SP1 64-bit, .NET Framework 4.5, DirectX エンドユーザランタイム
Windows 7 SP1 64-bit, .NET Framework 4.6, DirectX End-User Runtimes (June 2010)
Windows 8 32-bit, .NET Framework 3.5, DirectX SDK June 2010
Windows 8 64-bit, .NET Framework 3.5, DirectX SDK June 2010
Windows 8.1 32-bit, .NET Framework 3.5, DirectX エンドユーザランタイム
Windows 10 64-bit, .NET Framework 3.5, DirectX End-User Runtimes (June 2010)
コンピュータ
Intel Core i5 第 2 世代 / DDR3 SDRAM / Intel HD Graphics 4000 / Intel C216 / 1280 x 720
Intel Core i7 第 4 世代 / DDR3 SDRAM / Intel HD Graphics 4400 / Intel C220 / 1280 x 720
キャプチャデバイスとキャプチャソフトウェア
一応映るものの結構な確率で不安定な組み合わせ
Blackmagic Design Intensity Shuttle for USB 3.0 (Desktop Video 10.5) + Intel C216 (Intel USB 3.0 eXtensible Host Controller Driver 1.0.10) + Windows 7 SP1 64-bit + EDIUS Pro/Neo ※EDIUS Pro/Neo の場合,キャプチャープレビュー表示をフルスクリーン表示にしてから,Windows キーでタスクバーを表示して,テロップ用のウィンドウを選択してテロップを上に乗せる。
Blackmagic Design Intensity Shuttle for USB 3.0 (Desktop Video 10.5) + Intel C216 (Intel USB 3.0 eXtensible Host Controller Driver 1.0.10) + Windows 7 SP1 64-bit + アマレコ TV ※アマレコ TV はフルスクリーン表示を選択せずに,枠なしウィンドウを選択後,Windows 側でタスクバーを自動的に隠すに設定して,ウィンドウのハンドルを使用して画面全体に広げた後,alt + tab でテロップ用のウィンドウを乗せる。
コントローラ
デュアルショックコントローラ SONY SCPH-1200 アナログモード + USB アダプタ ELECOM JC-PS102U
デュアルショック 2 コントローラ SONY SCPH-10010 アナログモード + USB アダプタ ELECOM JC-PS102U
デュアルショック 3 コントローラ SONY CECH-ZC2J (PlayStation Mobile SDK 付属ドライバ) + 付属 USB ケーブル
デュアルショック 4 コントローラ SONY CUH-ZCT1J (OS 標準 HID ドライバ) + アダプタ Logitec LBT-UAN04C1BK (Bluetooth 4.0 Class 1,OS 標準ソフトウェアスタック)