はじめに
計算結果を可視化するときはVisItを使っている。
しかし、スナップショットをつなげて動画を作りたいとき、よく落ちてしまう。
おそらくMacbook proのメモリ不足だろう。
リモートで計算機(CentOS8)を動かしたいが、踏み台サーバーの関係でX11を送ることができなかった。
(本当はVNCを導入したいが、時間がないのでとりあえず保留にした)
VisItで動画を作るとき、まずスナップショットとしてppmファイル等が出力される。
途中で落ちてしまっても、落ちるまでのppmファイルは残っていた。
もしかしてこれをconvertすれば動画を作れるのではないか?と思ったので、リモート計算機にppmファイルを送り、そちらでconvertすることにした。
前提とやりたいこと、やったことは以下の通りである。
- CentOS8の計算機にはconvertは入っている
- ppmファイルをつなげてmpgの動画にしたい
- ffmpegのインストールをした
ffmpegのインストール(Mac)
まずMacbook proで試しに10枚くらいのppmファイルをconvertしようとするとエラーを吐いた。
% convert -delay 10 -loop 0 movie000?.ppm movie.mpg
sh: ffmpeg: command not found
これはbrewでいけそうである。
% brew install ffmpeg
ちなみにbrewをsudoでやろうとすると怒られるのでやらないほうがいい(多分)。
Error: Running Homebrew as root is extremely dangerous and no longer supported.
ffmpegのインストール(CentOS8)
CentOS8にもffmpegを入れたいのでこちらを参考にする。
ちなみにyumでinstallしようとするとできなかった。
$ sudo yum install ffmpeg
一致した引数がありません: ffmpeg
エラー: 一致するものが見つかりません: ffmpeg
ということで、以下のコマンドを入力。
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
$ sudo yum install http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.14-2.el7.x86_64.rpm
$ sudo yum install ffmpeg ffmpeg-devel
ppmをmpgにconvert
$ convert -delay 10 -loop 0 movie*.ppm movie.mpg &
数分はかかったし、126 GBあるメモリをほぼフルに使っていたので、32 GBのメモリのMacbook proも落ちて当然…という感じなのだろう。
おわりに
もしかしたら今後はVisItでスナップショットのみ出力(Macbook pro)して、それらをconvertして動画にする(CentOS8)のがいいのかもしれない。