Acetaminophen’s diary

化学に関すること,TeXに関すること,ゆきだるまに関すること。

マルチメディア: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 というライブラリをインストールする必要がある。例えばMacMacPortsを使ってパッケージ管理している場合は、

  1. 初めに
    sudo port install libpng jpeg zlib
    
    を実行
  2. ソースのアーカイブをデスクトップに展開した場合は
    cd /Users/ユーザ名/Desktop/u3d-*
    cmake .
    
    を実行
  3. 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 で何かの図形を回転させて~すると作れるよ」と、友人の美術大生から教えてもらった。

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε美文書作成入門

 

 

Before:

f:id:acetaminophen:20141114133902p:plain

After:

f:id:acetaminophen:20141114133921p:plain

 

次回は化学に関する補足の2回目。

*1:ただし、いろいろ値をいじってみても、僕が実験した DNA 分子の Spacefill 表示から Jmol で出力した IDTF ファイルの変換では意味をなさなかった。確かに Spacefill 表示といえばカラフルな球がたくさんあるだけだが、それが理由であろうか?