動画を色々いじってみたくてffmpegを試しました。
インストール系苦手なんです。知識が無いだけなのだけれども、大体ハマる。
今回も例にもれず、ややこしくなりました。
ffmpegをインストールして動かしてみる
僕はmacportsを使っているのでmacportsからインストールします。
ターミナルより
sudo port install ffmpeg
です。
インストールが完了したらffmpegのコマンドが効くか確認します。
ffmpeg
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers built on Mar 25 2014 08:36:03 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libass --enable-libbluray --enable-gnutls --enable-fontconfig --enable-libfreetype --disable-indev=jack --disable-outdev=xv --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --enable-vda --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid libavutil 52. 66.100 / 52. 66.100 libavcodec 55. 52.102 / 55. 52.102 libavformat 55. 33.100 / 55. 33.100 libavdevice 55. 10.100 / 55. 10.100 libavfilter 4. 2.100 / 4. 2.100 libavresample 1. 2. 0 / 1. 2. 0 libswscale 2. 5.102 / 2. 5.102 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg'
大丈夫そうです。
この時点でコンソールからffmpegで動画をいじれます。
ffmpeg -i foo.mp4 bar.flv
foo.mp4がbar.flvに早変わり!素敵。
phpで動かしたいのです
はまったのはここからでした。
アプリケーションを作りたかったので、phpから使いたかったのです。
php-ffmpegとか使おうとしたけど、何やら動かない。
どうしても動かない。
他の手を考えないと嫌になっちゃうので(笑)、phpのexecでとりあえず動かしてみようと考えました。
var_dump( exec('ffmpeg -i 2>&1', $out, $ret) ); print_r( $out ); var_dump( $ret );
としてみます。
コマンドが見つからないとのエラー。
むむむ。
グーグル先生に聞いてみると、どうやらシステムパスがうんたらかんたら、とおっしゃる。
which ffmpeg
とすると/opt/local/bin/ffmpegなので、これかと思い、/usr/binの中にシンボリックリンクを貼ってみました。
ln -s /opt/local/bin/ffmpeg /usr/bin
おお。エラーが変わりましたよ。
エラーはでているけど、一応コマンドは動いたぽい。
この後続々と.dylib関連のエラーが起きました。
全て/opt/local/libの中にある.dylibを/Applications/MAMP/Library/libに上書きしていきます。
sudo cp /opt/local/lib/libfreetype.6.dylib /Applications/MAMP/Library/lib/
3つほど上書きしたところで、別のpathのエラーがでました。
それも同様に上書きしていきます。
sudo cp /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib /Applications/MAMP/Library/lib/
6〜7個上記のエラーを回避したところで、ようやく望んだ結果が表示されましたよ!
結構力技だと思われます。ので、やるのであれば自己責任でお願い致します。
コメント