2013年06月16日

vid.stabのコンパイル&インストール

vid.stabは、手ぶれなどの、動画の細かい揺れを補正するフィルタです。
FFmpegに組み込んで使うことができます。

vid.stabをコンパイルするために、CMakeが必要ですので、あらかじめインストールしておいてください。
CMake
http://www.cmake.org/


vid.stabは、以下の場所にあります。
http://public.hronopik.de/vid.stab/

左メニューのDownloadから、以下のページに進みます。
http://public.hronopik.de/vid.stab/download.php?lang=en

On Github!
Get the source from github
から、以下のページに進みます。
https://github.com/georgmartius/vid.stab

「Download ZIP」ボタンをクリックして、
vid.stab-master.zip
を、適当なディレクトリに保存して、解凍します。

または、MSYSからGitを使って、以下のようにダウンロードします。
$ git clone https://github.com/georgmartius/vid.stab.git

以下の説明は、Gitを使った場合のディレクトリ名になっていますので、zipファイルをダウンロードした場合は読み替えてください。


2013/06/16 追記
shared library(libvidstab.dll)か、static library(libvidstab.a)のどちらかしかmakeできないようになっていて、デフォルトではshared libraryが作成されます。

2013/09/13 追記
2013/09/12の更新で、CMakeLists.txtの場所が変わりました。

CMakeLists.txt
46行目のコメントを解除、47行目をコメントアウトして、static libraryが作成されるように修正します。
add_library (vidstab STATIC ${SOURCES})
#add_library (vidstab SHARED ${SOURCES})


2014/08/13 追記
2014/08/12の更新で、CMakeLists.txtのshared libraryの切り替えオプションが変わりました。
cmakeのオプションに、「-DBUILD_SHARED_LIBS=OFF」を追加しました。

2016/06/13 追記
OpenMPに対応していないコンパイル環境のため、「-DUSE_OMP=OFF」を追加しました。

MSYSで、ソースコードを保存したディレクトリに移動し、
$ cd vid.stab
$ mkdir build
$ cd build
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DUSE_OMP=OFF
$ make
$ make install

以上で終了です。

【更新履歴】を見る
posted by あべちん at 07:28 | Comment(11) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
cmakeのオプションから切り替える方法は分からなかったのですが、staticライブラリのビルドは以下の手順にて可能でした。

1) 「cmake -G "..." 〜」の実行後、./src/CMakeLists.txtを開く
2) add_library の2行、STATIC 側を有効にする
3) make 実行

元々のCMakeLists.txtの STATIC 記述は(cmake実行で)上書きされてしまう様なので、make実行前に shared/static を切り替える事で必要なライブラリを得る事ができます。
Posted by maki at 2013年06月16日 18:58
ちょうど編集中にコメントしてしまったようです。。
蛇足になってしまいました、スミマセン。
Posted by maki at 2013年06月16日 19:08
makiさん、こんにちは。管理人です。

コメントありがとうございます!

ついさっき気がついて、記事を修正したところでした。

srcディレクトリとbuildディレクトリを分けているので、cmakeを実行する前に修正しても、static libraryをmakeできました。
Posted by あべちん at 2013年06月16日 19:12
>cmakeを実行する前に修正しても、static libraryをmakeできました。

あぁー、、申し訳ありません。手元のファイルを見直したところ、CMakeLists.txtの元ファイル確認を誤ってRelease-0.96-tarballの方を開いてチェックしていました。
gitの最新版は記事手順の通りに先編集可能でした。


以下、本記事を修正されてる事から既に認識済みの内容(ffmpeg再ビルド中?)かとは思っているのですが、一応。

編集前に「shared libraryからstatic libraryを生成」としてdlltoolを用いた手順が記載されていましたが、正しくはdll用のインポートライブラリ(*.dll.a)を生成する手順でした。その為、(20:30現在)最新のffmpeg/ffplayは libvidstab.dll が必須なバイナリになっています。
Posted by maki at 2013年06月16日 20:49
makiさん

ご指摘ありがとうございました。

ffmpeg、ffplay rev.54042をビルドし直して差し替えました。

今度こそ大丈夫だと思います。
Posted by あべちん at 2013年06月16日 22:57
管理人さん、おはようございます。

定期のMac版ガイド更新で、昨日「vid.stab」のgitを引っ張ったのですが、OpenMPという機能がデフォルトでオンになっていました。
マルチプロセッサでの動作に関するものらしいですが、Macではサポートされていません。

Windowsがどうなっているかは分かりませんが、OFFにするのは「DUSE_OMP=OFF」です。

参考になるか分かりませんが、情報までということで。

それでは。
Posted by 桃源老師 at 2015年06月08日 09:08
桃源老師さん、こんにちは。管理人です。

情報ありがとうございます。

OpenMPが有効になっていたとは、気が付きませんでした。

pkgconfigファイル(vidstab.pc)を確認したところ、libgompがリンクされて、OpenMPが有効になっていました。

libgompはgccに含まれているものなので、もしかしたらMacでも使えるようにしている人がいるかもしれません。

私が確認した限りでは、ffmpegでもvid.stabは問題なく効いていますので、とりあえずOpenMPを有効にしておきます。
Posted by あべちん at 2015年06月15日 03:18
管理人さん、こんばんは。

はい。OpenMP®/Clangというのを作っている人はいます。 https://clang-omp.github.io/

OS XではClangというのがgccの羊の皮を被っているのですが、OS標準のClangではOpenMPがサポートされていません。

ソースコードがあるので、まぁ対応できなくもないのですが、OpenMP対応のためにコンパイラを入れ替えて…という感じがして手続きを端折りました。(^ ^;

こんなことを書いたのはこのサイトが著名でMacを含めた色んな人が見る可能性があるからです。
Posted by 桃源老師 at 2015年06月18日 02:45
私も桃原様と同じで、私のコンパイラー(http://www.drangon.org/mingw/)だとomp.hがないとエラーで以下を使用してます。
https://github.com/georgmartius/vid.stab/archive/release-0.98b.tar.gz
Posted by お世話になります at 2015年06月19日 01:02
桃源老師さん、こんばんは。管理人です。

なるほど、OS XではClangが標準なんですね。

たしかに、vid.stabのためだけにコンパイラを入れ替えるよりは、OpenMPを無効にした方が楽ですね。

OpenMPがもっと普及すれば、標準でサポートされるようになるのかも知れません。
Posted by あべちん at 2015年06月29日 03:43
お世話になりますさん、こんばんは。管理人です。
リンク先のdrangonさんでしょうか?

最近、自分でgccもビルドして使っているので、他の方がビルドしているgccはよく分からないのですが、OpenMPに対応していない方が多いのでしょうか。

時間があるときに、Komisarさんや、TDMさんのgccが、OpenMPに対応しているか試してみます。
Posted by あべちん at 2015年06月29日 04:04
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/69508312
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック