この記事は
動画から連番静止画epsを生成してLaTeXでanimateでpdfに動画を埋め込む手順の解説です
動画からpngで連番静止画を抽出
ffmpeg -ss "00:03:00" -t "00:00:15" -i hogehoge.mp4 -vf scale=640:-1 -an -r 15 hogehoge_%05d.png
連番静止画をpngからepsに変換
今度はimagemagickを使ってpngからepsに変換。ついでにzip圧縮をかけて容量を削減しておく。
この時、ffmpegの出力は"hogehoge_00001.png"スタートなのに対し、imagemagickは"hogehoge_00000.eps"スタートな事に注意。
convert -density 72 src_*.png -compress zip eps3:hogehoge_%05d.eps
- densityはやたら巨大(mm単位のサイズ的な意味で)なepsを吐きやがったのでその対処
- eps level 3でzip圧縮する
LaTeXで埋め込む
animateパッケージを使用する
\usepackage[dvipdfmx]{animate}
参考にしたブログだとgraphicxもusepackageしていたが、自分の環境だとgraphicxの二重ロードでエラーになったので外している。
あとは動画を埋め込みたい所で
\animategraphics[height=4cm,autoplay,controls,loop]{15}{hogehoge_}{00000}{00149}
- 高さ4cm
- 自動的に再生開始
- 再生コントロール付き
- 自動ループ再生
- 15[FPS]
- 入力ファイルは"hogehoge_00000.eps"から"hogehoge_00149.eps"まで
正直再生コントロールは要らないかも。そもそもコントロールするほど長い動画はスライドに埋め込まないですよね?
フレームレートは連番静止画の再生スピードなので、オリジナルよりも高いFPSにすれば倍速にできる。
あ、それと、動画はAcrobatReaderじゃないと再生されないみたいで、少なくともubuntu標準のビューワーでは再生されませんでした。