タグ「ffmpeg」が付けられているもの

前回の記事からの更新です。

今回は、AAC関係のものをビルドに含めているので再配布不可なビルドです。
ffmpegを2.1系にした事で、VP9, H265/HEVC が使えるようになっています。

前回からの変更点

  • ビルドに以下を追加
    • gmerlin (frei0rの依存)
    • frei0r
    • libaacplus
    • mp4v2
    • libfaac
    • fdk-aac
  • ffmpeg-2.0.1からffmpeg-2.1.1にバージョンアップ
  • libblurayを0.3から0.5にバージョンアップ
  • vid.stabのバージョンを 9ed9836e10567f76decfa7fac178bb70a7bb9452 に固定
    • trunkや0.98はvsLocalmotions2TransformsSimpleが消えていてffmpegのビルドでエラーになるため
    • またこのバージョンにした事でCMakeファイルの場所がsrcから直下に変更された
  • libvpxを1.2.0から1.3.0にバージョンアップ
    • vp9のため

ffmpegをCentOS6.3でビルドした時のメモを残しておきます。

なお、指定したオプションは再配布可能な範囲での指定なので、自分でビルドする場合はもっとフルにオプション指定した方が良いと思います。例えば、--enable-nonfreeとか--enable-libfdk-aacとか。

※この記事は後のビルドのためのベースとなるもので、最終的にはsharedリンクを完全に無くし、指定できるオプションは可能な限り付けることを目標としています。

 

 

ffmpegで動画をエンコードしていたら、気になる事があったのでメモ。誰か解決策を知っていたら教えてください(TxT)

困っていること

frapsで撮影したとある動画をx264に変換すると酷いことになる。

before

after

beforeの動画はこちらです。1GB以上あるので注意。

変換コマンドは以下の通り

./ffmpeg -i test.avi -c:v libx264 -preset slow test.mp4

この動画は現バージョンのffmpegを通すと、以下のエラーが発生します。

Too long VLC (31) in init_vlc
Error building tree
Error decoding plane 2
Error while decoding stream #0:0: Operation not permitted9

このエラーはlibavcodec/huffman.hFF_HUFFMAN_BITSを増やす修正でFIXできます。なお、元々は9だったものが10に修正された経緯がありますが、この動画は12くらいにしないと駄目でした。なお、16にすると出力ファイルが異常に大きくなり、24にすると12と同じサイズになります。・・・なんで?(;´Д`)
というわけで、まずはこのエラーを回避するためにFF_HUFFMAN_BITS12に変更してビルドしました。

 

次に試したのは以下のコマンド。pix_fmtを指定しました。

./ffmpeg -i test.avi -c:v -pix_fmt rgb24 libx264 -preset slow test.mp4

多少マシになったものの、やっぱりおかしな感じになります。

ちなみに、エンコードする時にサイズを変更すると大丈夫なのです。

./ffmpeg -i test.avi -s 720x480 -c:v libx264 -preset slow test.mp4

ffmpegのバージョンはこんな感じ↓です。

# ./ffmpeg -version
ffmpeg version 2.0.1
built on Aug 30 2013 16:30:36 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
configuration: --enable-gpl --enable-version3 --enable-avisynth --enable-fontconfig --enable-libass --enable-libbluray --enable-libcaca --enable-libcdio --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxvid --disable-outdev=sdl --disable-ffprobe --disable-ffserver --optflags='-O2 -finline-functions'
libavutil      52. 38.100 / 52. 38.100
libavcodec     55. 18.102 / 55. 18.102
libavformat    55. 12.100 / 55. 12.100
libavdevice    55.  3.100 / 55.  3.100
libavfilter     3. 79.101 /  3. 79.101
libswscale      2.  3.100 /  2.  3.100
libswresample   0. 17.102 /  0. 17.102
libpostproc    52.  3.100 / 52.  3.100

ffmpegのビルドの記事は別途かきます。  → 書きました

うーん・・。わからん(´・ω・`)