マルチメディア:U3D 生成ソフトと ffmpeg の利用
TeX ユーザの集い 2014 の資料作成テクニック第3弾。今回はマルチメディア埋め込みについて。
既にこのブログで7回にわたって「PDFにマルチメディアを埋め込む」というテーマで記事を書いたので、まずはそちらを参照。全体への案内板はこちら。
3D モデル (Universal 3D) 生成に関して
以前の記事で、3D モデル埋め込みで IDTF 形式から U3D 形式に変換するツールを紹介した。初めは Windows 用のバイナリしか配布サイトを見つけられず、他の OS ではソースから make していたが、いくつかの追加情報を加え、改めて説明。
IDTF から U3D を生成するバイナリの入手法
【ビルド済みの変換ツールだけを簡単に入手する方法】
Windows:以下に実行ファイルを含むアーカイブがある。
Windows/Mac/Linux:以下で IDTFConverter の実行ファイルを配布している。
ここでは、有償の数値解析ソフトウェア MATLAB から 3D オブジェクトやそれを埋め込んだ PDF を出力するための関数を提供しているようだ。そして、その中で使用するバイナリとして IDTFConverter が必要になるらしい。上のページからリンクされている Releases にある「binaries_needed.tar」を解凍すれば、中には幸いなことに Windows, Mac, Linux 用バイナリが含まれている。もう少し詳しい説明は GitHub のページに書かれている。
【ソースから make する方法】
以下から必要なソース一式を入手できる。
ここの u3d-xxx.tar.gz から各自 make してバイナリを生成する。
補足:makeしたい場合は
実際に make するには libpng, jpeg, zlib というライブラリをインストールする必要がある。例えばMacでMacPortsを使ってパッケージ管理している場合は、
- 初めに
sudo port install libpng jpeg zlib
を実行 - ソースのアーカイブをデスクトップに展開した場合は
cd /Users/ユーザ名/Desktop/u3d-* cmake .
を実行 - Makefileを含むいくつかのファイルが生成したら
make
を実行
すると、ソースと同じディレクトリの中に目的の実行ファイルが生成する。
【他のソフトウェアの付属ツールとして入手する方法】
変換作業に必要なのは IDTF Converter だけであるが、実は第5回で紹介した MeshLab のプラグインの中に IDTFConverter と最小限のライブラリだけは含まれている。つまり、とりあえず MeshLab をインストールして中にあるバイナリをとってくるのも一つの手である。
- Windows の場合は
C:\Program Files\VCG\MeshLab\plugins\U3D_W32\
の中にある IDTFConverter.exe - Mac の場合は
/Applications/MeshLab/meshlab.app/Contents/plugins/U3D_OSX/
の中にある IDTFConverter.out
が実行ファイルである。
プログラム実行時の注意
Windows の場合は実行ファイルを直接指定する、すなわち
C:\Program Files\VCG\MeshLab\plugins\U3D_W32\IDTFConverter.exe
で動作するが、Mac の場合はいったん移動して
cd /Applications/MeshLab/meshlab.app/Contents/plugins/U3D_OSX/ ./IDTFConverter.out
としないと動作してくれなかった。
ちなみに、IDTFConverter にはオプションが存在する。IDTFConverter を引数なしで実行すると、詳細が表示されるが、ほとんどは quality を調節するオプションらしい*1。
動画の編集:ffmpeg の利用
以前の記事で、movie15 パッケージを使って動画を PDF に埋め込む方法を紹介した。movie15 が対応している音声や動画のフォーマットは以下のとおり。
aif, aifc, aiff | Audio Interchange File |
au, snd | NeXT/Sun Audio Format |
mid, rmi | Musical Instrument Digital Interface |
mp3, m3u | MPEG Audio Layer-3 |
avi | Audio/Video Interleaved |
mov, qt | Apple QuickTime |
mp4 | MPEG-4 Video/Audio |
mpeg, mpg | MPEG-1 & 2 Video |
ra, ram, rm | Real Media |
smil | Synchronized Multimedia |
swf | Adobe Macromedia |
wav | MS Audio Format |
wma | Windows Media Audio |
wmv | Windows Media Video |
ここにない形式は必然的に変換が必要となるが、このときに使えるのが ffmpeg である。
ffmpeg とは、コマンドラインで使用する動画および音声のエンコーダである。インストールは、もちろんソースからビルドすることもできるが、コンパイル済みのバイナリを入手する方法が簡単。公式サイトからのリンクのほかに、Windows なら
でもビルド済みの最新版バイナリを配布している。使い方の詳細は
に詳しいが、今回用いたのは以下の2つのコマンド。
- WebM 形式のムービーを MOV 形式に変換
ffmpeg -i 3oaa.webm 3oaa.mov
- 動画から音声トラックを削除
ffmpeg -i input.mov -an output.mov
もっと機能は豊富なので、ぜひ使ってみてほしい。
ちなみにブログのデザインを変えてみた。もちろんあの美文書みたいな背景を見つけたからだ(笑) このデザイン、「Illustrator で何かの図形を回転させて~すると作れるよ」と、友人の美術大生から教えてもらった。
Before:
After:
次回は化学に関する補足の2回目。
*1:ただし、いろいろ値をいじってみても、僕が実験した DNA 分子の Spacefill 表示から Jmol で出力した IDTF ファイルの変換では意味をなさなかった。確かに Spacefill 表示といえばカラフルな球がたくさんあるだけだが、それが理由であろうか?