前回のポストを書いた後に,念のために調べてみると,どうやら,media9なるものが,いまやpdfに動画を埋め込むために普通に使われているようだということが判明してしまった!う〜む,勉強不足を痛感する.遅れを取り返すべく,早速やってみたので,それを追加報告とする.
Table of Contents media9 beamerで動画が走るスライド原稿を作る(media9版) media9を使用したときの利点 media9を使用したときの欠点 結論 media9 media9はtexlive2018に含まれており,特に別途インストールする必要はなかった.media9については様々な情報があったが,多くはWindowsやLinuxに関してであり,そのままコピペして動くような極楽情報はなかなか見つからなかった.やはり,餅は餅屋で,OS X TeXにそのものズバリの情報があった.それが参考サイト5である.
参考サイト1:TeXWiki media9 参考サイト2:TeXでプレゼン - LaTeX Beamerを使う人のためのTips集 参考サイト3:How to embed video files in a PDF using LaTeX (a media9/beamer example) 参考サイト4:Beamer で PDF ファイルに動画を埋め込む 参考サイト5:media9 problems beamerで動画が走るスライド原稿を作る(media9版) 同一directoryにhogefuga.movがあるとすれば,以下のように書けば良い
preambleに,\usepackage{media9}を忘れずに追加しておく.
\newcommand{\showmovie}[1]{\includemedia[ activate=pageopen, deactivate=pageclose, width=110mm, height=72mm, addresource=#1, flashvars={ src=#1 &loop=true &autoPlay=false } ]{}{StrobeMediaPlayback.swf} } \begin{frame} \frametitle{hogefugaの動画} \centering \showmovie{hogefuga.mov} \end{frame} 110mmと72mmの数値はフレーム内の動画の収まり具合により適宜調整する.
loopは,ループ再生するかどうか
autoplayは自動再生するかどうか
media9を使用したときの利点 なんと言ってもべた書きよりもelegant! スライドを開けたときに,何もしなくても動画の静止画が映るので,前回のやり方のように背景をべた書きしなくて良い. media9を使用したときの欠点 もう完全にmedia9に乗り換えるつもりでいたが,以下に述べるようにいくつか欠点もあることが判明した.
media9はpdf自体に動画を埋め込むようである.したがって,200MBの動画を走らせるとすると,pdf自体が200MB以上の大きさになってしまう. それだけでなく,200MB程度の動画になると,途中で固まってしまう!これでは使い物にならない. 一方,前回記事のべた書き方式だと,pdf自体に動画を埋め込まないので,pdfは大きくならないし,動画指定のパスは効くし,200MBだろうともっと大きかろうと動画はガンガン動く. 結論 容量の小さな動画であれば,media9でも十分であろう. 私のように,容量の大きな動画を使用するような場合は,べた書きを使用するほうが良いであろう. ということで,結局,元の木阿弥に戻ることとなった.
実は,同じような内容について2010年に,TeX QA に投稿しているが,その後現在に至るまで使い続けることができており,一応,こちらでもまとめておくことにした.
beamerで動画が走るスライド原稿を作る 前述した ,TeX QA に経緯は投稿してあるので,詳細はそちらを読んでいただきたい.
参考にしたのは,Adobeのpdfのマニュアル(DVI specials for PDF generation) https://www.tug.org/TUGboat/tb30-1/tb94cho.pdf の以下の部分
3 Annotations An annotation is considered as an object with a location on a page. The type of the object is given by the value of the key `/Subtype', for instance, `/Text', `/Link', `/Sound', `/Movie', etc. (See [1, p. 615] for the list of all annotation types.) The location is given by an array object associated to the key `/Rect'.