Skip to content

Instantly share code, notes, and snippets.

@uupaa
Last active February 27, 2017 06:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uupaa/fd0957cbdb3f02534f7349a28db12910 to your computer and use it in GitHub Desktop.
Save uupaa/fd0957cbdb3f02534f7349a28db12910 to your computer and use it in GitHub Desktop.
frei0r 動作環境の確認

ffmpeg で frei0r を使い始める前に、frei0r が利用可能かどうかを確認します。

適当なコマンド(ffmpeg -i a.mp4 -v debug -vf frei0r=glow:0.5 b.mp4) を実行しエラーがでない事を確認します。

以下のように /usr/local/lib/frei0r-1/glow.dylib が存在しないといったエラーが出ている場合は、若干の手作業が必要になります。

ffmpeg -i a.mp4 -v debug -vf frei0r=glow:0.5 b.mp4

> [Parsed_frei0r_0 @ 0x7fb77ac00480] compat: called with args=[glow:0.5]
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Setting 'filter_name' to value 'glow'
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Setting 'filter_params' to value '0.5'
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Looking for frei0r effect in '/usr/local/lib/frei0r-1/glow.dylib'.
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Looking for frei0r effect in '~/.frei0r-1/lib/glow.dylib'.
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Looking for frei0r effect in '/usr/local/lib/frei0r-1/glow.dylib'.
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Looking for frei0r effect in '/usr/lib/frei0r-1/glow.dylib'.
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Looking for frei0r effect in '/usr/local/lib64/frei0r-1/glow.dylib'.
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Looking for frei0r effect in '/usr/lib64/frei0r-1/glow.dylib'.
> [Parsed_frei0r_0 @ 0x7fb77ac00480] Could not find module 'glow'.
> [AVFilterGraph @ 0x7fb77ae08b40] Error initializing filter 'frei0r' with args 'glow:0.5'
> Error opening filters!

http://superuser.com/questions/396834/cant-get-ffmpeg-to-use-frei0r-on-osx-through-homebrew を参考に対策します。

  • /usr/local/lib/frei0r-1/glow.dylib を解決します    - frei0r はデフォルトで /usr/local/lib/frei0r-1/*.dylib~/.frei0r-1/lib/*.dylib を参照します    - so はあるが dylib が無い場合はエラーになります    - つまり /usr/local/lib/frei0r-1/glow.so が存在する場合は cp glow.so glow.dylib を行います    - /usr/local/lib/frei0r-1/glow.so が存在しない場合は brew link frei0r を 行いリンク先を確認します。また /usr/local/lib/frei0r-1/~/.frei0r-1/lib に該当するファイルが無いか探します

解決例:

# brew link でリンク先を確認する
brew link frei0r
> /usr/local/Cellar/frei0r/1.4

# /usr/local/lib/frei0r-1 の実体にリンクされている事を確認する
ls -l /usr/local/lib/frei0r-1
> /usr/local/lib/frei0r-1 -> ../Cellar/frei0r/1.4/lib/frei0r-1

# /usr/local/lib/frei0r-1/glow.so をコピーし glow.dylib を作成する
cd /usr/local/lib/frei0r-1/
cp glow.so glow.dylib
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment