2014年4月3日木曜日

macでffmpeg (h265エンコード) その1インストール

ほぼ半年ぶりにffmpegを触ってみる。
先日ver2.2がリリースされて、hevcのエンコードに対応したようです。
ということで、久しぶりにコンパイル。
今回はマックで。

すでに、homebrewは2.2に対応済みでした。
brew install ffmpeg
これだけで、ffmpegがコンパイルできてしまった。
(かなりショック。半年前にcentosにインストールしたときは、結構苦労した記憶が。。。)

ただし、もう少しオプションを付けて、コンパイルしてやる必要があります。
brew info ffmpeg
brew options ffmpeg
これで、make時のオプションを確認できます。
(h264オプションはあるが、h265(hevc)の記述がない。。。)

とりあえず、このオプション設定でやり直してみる。
brew install ffmpeg --with-libvpx --with-libvorbis --with-openjpeg --with-ffplay --with-tools

ffmpeg を実行
以下結果の表示
------------------------------------------------------------------------------------------------
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr  3 2014 08:52:57 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libvpx --enable-ffplay --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
  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
------------------------------------------------------------------------------------------------

やはり、h265に対応できていない。
 ということで、hevcエンコードを試すには、
・x265 or openhevc の用意(自前でmake?)
・ffmpeg にリンク(configure, makeオプション?)
が必要になる。

brewはmakeオプションは付加できるようだけど、configureオプションは付けられないようなので、以下を直接編集。
/usr/local/Library/Formula/ffmpeg.rb
(brew edit で対応するようだが、今回は勢いにまかせて、よくわからないまま、viで直接編集してしまった。)
264をキーワードに同じ感じで265を追加。(以下3行を適切に!)  option "without-x265", "Disable H.265 encoder"
  depends_on 'x265' => :recommended
  args << "--enable-libx265" if build.with? 'x265'
(h264と同じようにデフォルトでリンクされるようにした)

次にh265エンコーダーの本体を用意。
openhevc か、x265かわからないけど、自前で用意しなきゃと思いながらも、
brew search x265
と打ってみたら、用意されている。早速インストール。
brew install x265
 で、ffmpegを、もう一度インストール。
brew install ffmpeg --with-libvpx --with-libvorbis --with-openjpeg --with-ffplay --with-tools
ffmpegコマンドで確認。
------------------------------------------------------------------------------------------------
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr  3 2014 09:39:57 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libx265 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libvpx --enable-ffplay --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
  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 ------------------------------------------------------------------------------------------------
一応、libx265がリンクされている。

今日は、ここまで。

念のために。
今回変更したファイル
/usr/local/Library/Formula/ffmpeg.rb
これは、homebrewのファイルで、gitで管理されています。
なので、 /usr/local に移動して、
git add Library/Formula/ffmpeg.rb
git commit -m "h265のオレオレ対応"
としておいてください。
でないと、これ以降の brew update で、commit しろとメッセージが出て、そこで止まってしまうので。





0 件のコメント:

コメントを投稿