現在(2016/2/19)3.0系が最新です
1.x系、2.0、2.1、2.2、2.3、2.4系はメンテされていないそうです。
3.x系は3.0
2.x系は2.8.6
2.7.6
2.6.8
2.5.1
がそれぞれリリースされています。
双方コンパイルオプションが異なるので、適宜追加していきますか。
2.8系から3.0系でのコンパイルオプションの変更点としては
AACがネイティブサポートになったことで、libaacplus及びlibvo-aacencの
サポートがなくなったようです。
それ以外にlibquvi、libstagefright-h264がコンパイルオプションから消えて
chromaprint、gcrypt、gmp、librubberband、libtesseract、libzimg、netcdfが
新たに増えています。
2.5系ではx265(libx265 hevc)でのエンコードに対応したところでしょうか
Fedora/RHEL系のrpmを作ってあるので、使ってみたい方はこちらから適当に持って行ってください。
なお、momo-i-reposのrpm入れておくとyumで依存関係もろもろインストールしてくれると思いますよ
Fedora23での3.0用のコンパイルオプション
--extra-cflags='-fPIC \
-I/usr/include/samba-4.0' \
--extra-ldflags='-lstdc++ \
-lsmbclient' \
--enable-shared \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-avresample \
--enable-videotoolbox \
--enable-bzlib \
--enable-chromaprint \
--enable-fontconfig \
--enable-gcrypt \
--enable-gmp \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libdc1394 \
--enable-libfaac \
--enable-libgsm \
--enable-libmp3lame \
--enable-libnut \
--enable-libopenh264 \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-libzimg \
--enable-memalign-hack \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC \
--enable-pthreads \
--enable-postproc \
--enable-avfilter \
--enable-x11grab \
--enable-libxcb \
--enable-libxcb-shm \
--enable-libxcb-xfixes \
--enable-libxcb-shape \
--enable-libopencv \
--enable-libcdio \
--enable-libfreetype \
--enable-libvo-amrwbenc \
--enable-libfdk-aac \
--enable-frei0r \
--enable-libcelt \
--enable-libvpx \
--enable-libfribidi \
--enable-libtesseract \
--enable-libtheora \
--enable-libass \
--enable-libbluray \
--enable-libv4l2 \
--enable-netcdf \
--enable-openal \
--enable-libschroedinger \
--enable-libpulse \
--enable-librubberband \
--enable-gnutls \
--enable-openssl \
--enable-libspeex \
--enable-libgme \
--enable-libzmq \
--enable-libshine \
--enable-libsmbclient \
--enable-libgsm \
--enable-libtwolame \
--enable-libopus \
--enable-ladspa \
--enable-libcaca \
--enable-libiec61883 \
--enable-libmodplug \
--enable-libilbc \
--enable-libssh \
--enable-libvidstab \
--enable-libwavpack \
--enable-libzvbi \
--enable-pic \
--enable-thumb \
--enable-libbs2b \
--enable-libwebp \
--enable-libx265 \
--enable-opengl \
--enable-opencl \
--enable-libdcadec \
--enable-decklink \
--enable-libkvazaar \
--enable-libsnappy
Fedora22での2.7.1用のコンパイルオプション
./configure \
'--extra-cflags=-fPIC -I/usr/include/samba-4.0' \
'--extra-ldflags=-lstdc++ -lsmbclient' \
--enable-shared \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-avresample \
--enable-bzlib \
--enable-fontconfig \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libdc1394 \
--enable-libfaac \
--enable-libgsm \
--enable-libmp3lame \
--enable-libnut \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-memalign-hack \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC \
--enable-pthreads \
--enable-postproc \
--enable-avfilter \
--enable-x11grab \
--enable-libxcb \
--enable-libxcb-shm \
--enable-libxcb-xfixes \
--enable-libxcb-shape \
--enable-libaacplus \
--enable-libopencv \
--enable-libcdio \
--enable-libfreetype \
--enable-libvo-aacenc \
--enable-libvo-amrwbenc \
--enable-libfdk-aac \
--enable-frei0r \
--enable-libcelt \
--enable-libvpx \
--enable-libfribidi \
--enable-libtheora \
--enable-libass \
--enable-libbluray \
--enable-libv4l2 \
--enable-openal \
--enable-libschroedinger \
--enable-libpulse \
--enable-gnutls \
--enable-openssl \
--enable-libspeex \
--enable-libgme \
--enable-libzmq \
--enable-libshine \
--enable-libsmbclient \
--enable-libgsm \
--enable-libtwolame \
--enable-libopus \
--enable-ladspa \
--enable-libcaca \
--enable-libiec61883 \
--enable-libmodplug \
--enable-libilbc \
--enable-libssh \
--enable-libvidstab \
--enable-libwavpack \
--enable-libzvbi \
--enable-pic \
--enable-thumb \
--enable-libbs2b \
--enable-libwebp \
--enable-libx265 \
--enable-opengl \
--enable-opencl \
--enable-libdcadec \
--enable-decklink
Fedora20での1.2.6のコンパイルオプション
./configure \
--extra-cflags=-fPIC \
--extra-ldflags="-lstdc++" \
--enable-shared \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-avresample \
--enable-bzlib \
--enable-fontconfig \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libdc1394 \
--enable-libfaac \
--enable-libgsm \
--enable-libmp3lame \
--enable-libnut \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-memalign-hack \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC \
--enable-pthreads \
--enable-postproc \
--enable-avfilter \
--enable-x11grab \
--enable-libaacplus \
--enable-libopencv \
--enable-libcdio \
--enable-libfreetype \
--enable-libvo-aacenc \
--enable-libvo-amrwbenc \
--enable-libfdk-aac \
--enable-frei0r \
--enable-libcelt \
--enable-libvpx \
--enable-libtheora \
--enable-libass \
--enable-libbluray \
--enable-libv4l2 \
--enable-openal \
--enable-libschroedinger \
--enable-libpulse \
--enable-gnutls \
--enable-openssl \
--enable-libspeex \
--enable-libgsm \
--enable-libmodplug \
--enable-libtwolame \
--enable-libopus \
--enable-libcaca \
--enable-libiec61883 \
--enable-libilbc \
--enable-pic \
--enable-thumb
Fedora20での2.1.4のコンパイルオプション
./configure \
--extra-cflags=-fPIC \
--extra-ldflags=-lstdc++ \
--enable-shared \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-avresample \
--enable-bzlib \
--enable-fontconfig \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libdc1394 \
--enable-libfaac \
--enable-libgsm \
--enable-libmp3lame \
--enable-libnut \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-memalign-hack \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC \
--enable-pthreads \
--enable-postproc \
--enable-avfilter \
--enable-x11grab \
--enable-libaacplus \
--enable-libopencv \
--enable-libcdio \
--enable-libfreetype \
--enable-libvo-aacenc \
--enable-libvo-amrwbenc \
--enable-libfdk-aac \
--enable-frei0r \
--enable-libcelt \
--enable-libvpx \
--enable-opencl \
--enable-libtheora \
--enable-libass \
--enable-libbluray \
--enable-libv4l2 \
--enable-openal \
--enable-libschroedinger \
--enable-libpulse \
--enable-gnutls \
--enable-openssl \
--enable-libspeex \
--enable-libgme \
--enable-libzmq \
--enable-libshine \
--disable-yasm \
--enable-libgsm \
--enable-libmodplug \
--enable-libtwolame \
--enable-libopus \
--enable-ladspa \
--enable-libcaca \
--enable-libiec61883 \
--enable-libilbc \
--enable-libssh \
--enable-libvidstab \
--enable-libwavpack \
--enable-libzvbi \
--enable-pic \
--enable-thumb
更に久しぶりに更新(2012/5/8)
コミットの3bbf3f7e42247b7a8b34b1e8cc891b59e1327bb8でlibdiracが消え去りました。
で、コミットの653d117c29123d353ce3bdd7de71e830a26733c1までで新しいっぽいのがいくつか増えてます?
--enable-fontconfig
--enable-frei0r
--enable-libass
--enable-libbluray
--enable-libcelt
--enable-libgsm
--enable-libmodplug
--enable-libstagefright-h264
--enable-libutvideo
--enable-libv4l2
久しぶりにちょっとだけ更新(2011/10/01)
HP: http://ffmpeg.org/
SVNはもうオワタらしいので、git使うようにしましょう。
git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git pull
久しぶりにコンパイルオプションのぞいたらいっぱい増えてました?
--enable-openal
--enable-libaacplus
--enable-libopencv
--enable-libcdio
--enable-libfreetype
--enable-libvo-aacenc
--enable-libvo-amrwbenc
リビジョン15000辺りからだいぶコンパイルオプションが安定してきました。
いろいろと(後述)遊ぶためにコンパイルオプションを追加しています。
faac faad2(23620位からなくなった) a52codec amr x264 xvid libvpx librtmpはソースから
うちの環境では、それ以外はyumでインストールされてました。
Fedora15にして、カーネルが2.6.38になったんですが、linux/videodev.hがなくなったせいで
ffmpegのmake時にlibdc1394が原因でエラーが出てました。
とりあえずはコンパイルオプションから消して動いてます。
git-N-30266-g701012d時点
x264が115以上じゃないとコンパイルで怒られます。
リビジョン23620時点
amrがopencore-amrに変更されています。
vp8でのエンコード/デコードができるようになったみたいです
librtmpを使えるようになったそうです。
今のところこんな感じ
LDFLAGS="-lssl -lcrypto" CFLAGS="-fPIC -m64" ./configure \
--extra-cflags=-fPIC \
--enable-shared \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-bzlib \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libdc1394 \
--enable-libdirac \
--enable-libfaac \
--enable-libgsm \
--enable-libmp3lame \
--enable-libnut \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libschroedinger \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libxvid \
--enable-encoder=h264 \
--enable-memalign-hack \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC \
--enable-pthreads \
--enable-postproc \
--enable-avfilter \
--enable-x11grab \
--enable-libxavs \
--enable-openal \
--enable-libaacplus \
--enable-libopencv \
--enable-libcdio \
--enable-libfreetype \
--enable-libvo-aacenc \
--enable-libvo-amrwbenc
リビジョン12665時点
「--cross-compile」が「--enable-cross-compile」に変更されています。
ffprobeというメディアファイルの情報のみ取得するツールが増えています。
リビジョン12420時点
「--enable-pp」と「--enable-swscaler」が「--enable-postproc」と「--enable-swscale」に変更されています。
リビジョン11660時点
libamrがnonfreeになったそうで--enable-nonfreeを追加しなければコンパイルできません。
リビジョン11113時点
ここのパッチをあてておきます。http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-November/038837.html
cd /usr/local/srcsvn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure \
--enable-shared \
--enable-gpl \
--enable-nonfree \
--enable-postproc \
--enable-swscale \
--enable-avfilter \
--enable-avfilter-lavf \
--enable-pthreads \
--enable-x11grab \
--enable-libamr-nb \
--enable-libamr-wb \
--enable-libdc1394 \
--enable-libdirac \
--enable-libfaac \
--enable-libfaad \
--enable-libfaadbin \
--enable-libgsm \
--enable-libmp3lame \
--enable-libnut \
--enable-libschroedinger \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-zlib \
--enable-encoder=h264 \
--enable-memalign-hack \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
export CPATH=/usr/local/include:$CPATH
make
make install
exportしておくとmakeでundefined reference to~~が出なくなるかもしれないそうです。
リビジョン15589時点
「--enable-liba52bin」がなくなりました。
リビジョン15668時点
lix264のバージョンが最新で無いと怒られます。
libx264 version must be >= 0.65.
リビジョン15741時点
CFLAGS="-fPIC -m64" ./configure \
--enable-shared \
--enable-gpl \
--enable-pthreads \
--enable-libamr-nb \
--enable-libamr-wb \
--enable-libfaac \
--enable-libfaad \
--enable-libmp3lame \
--enable-libtheora \
--enable-libvorbis \
--enable-libxvid \
--enable-cross-compile \
--enable-x11grab \
--enable-libgsm \
--enable-libfaadbin \
--extra-ldflags=-fPIC \
--extra-cflags=-fPIC \
--enable-nonfree \
--enable-postproc \
--enable-swscale \
--enable-avfilter \
--enable-avfilter-lavf \
--enable-libx264 \
--enable-encoder=h264 \
--enable-libdc1394
リビジョン18021時点
「--enable-swscale」がなくなりました。
リビジョン19631頃
amr-wbとamr-nbが消えてopencore-amrを使用するようになりました。
「--enable-libamr-nb --enable-libamr-wb」の代わりに
「--enable-libopencore-amrnb」と「--enable-libopencore-amrwb」を使用しないといけません。
また、「--enable-version3」が増えました。(GPLV3用
ffmpegを使って動画変換でyoutubeとかニコニコみたいな動画投稿型配信サービス?ができるらしいですね。
そこらへんもphpmotionやらclipbucketの辺りでやるとしましょう。
ffmpegでストリーミング配信
とりあえず動くっぽいことが判明しました。物はMicrosoft Corp. LifeCam NX-6000です。
/etc/ffserver.conf
Port 12345
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 500
MaxBandwidth 10000
CustomLog /var/log/ffmpeg.log
#NoDaemon
File /tmp/feed.ffm
FileMaxSize 200M
ACL allow 127.0.0.1
Feed feed.ffm
Format asf
VideoFrameRate 25
VideoBufferSize 40
VideoSize 320x240
VideoBitRate 512
VideoGopSize 30
NoAudio
StartSendOnKey
Feed feed.ffm
Format 3gp
NoAudio
VideoFrameRate 25
VideoBufferSize 40
VideoSize 320x240
VideoBitRate 512
VideoGopSize 30
VideoCodec mpeg4
#
#Feed feed.ffm
#Format rtp
#VideoCodec libx264
#VideoFrameRate 24
#VideoBitRate 100
#VideoSize 480x272
#AVPresetVideo default
#AVPresetVideo baseline
#AVOptionVideo flags +global_header
#AudioCodec libfaac
#AudioBitRate 32
#AudioChannels 2
#AudioSampleRate 22050
#AVOptionAudio flags +global_header
#
Format status
ACL allow localhost
ACL allow 192.168.xx.0 192.168.255.255
うちのF13+ffmpeg-r23620ではrawvideoがこんどは使えなくなったのでvideo4linux2に変更
ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 http://localhost:12345/feed1.ffm
利用するプラグインの置き場所
いつも何処からダウンロードするのか忘れるのでメモをのこしておこうと思います。(久しぶりに更新)
- xvid(1.3.3): http://www.xvid.org/
- x264(git): git://git.videolan.org/x264.git
- x265(hg): http://hg.videolan.org/x265
- libogg(1.3.2): http://xiph.org/
- libvorbis(1.3.4): http://xiph.org/
- libtheora(1.1.1): http://xiph.org/
- libflac(1.3.1): http://xiph.org/
- libnut(svn): svn://svn.mplayerhq.hu/nut/src/trunk
- lame(3.99.5): http://lame.sourceforge.net/download.php
- gsm(1.0.13): http://www.quut.com/gsm/
- faad2(2.7): http://sourceforge.net/projects/faac/
- faac(1.28): http://sourceforge.net/projects/faac/
- amrwb(7.0.0.3): http://www.penguin.cz/~utx/amr.en.html
- amrnb(7.0.0.2): http://www.penguin.cz/~utx/amr.en.html
- opencore-amr(0.1.3): http://sourceforge.net/projects/opencore-amr/
- liba52(0.7.4): http://liba52.sourceforge.net/
- libsndfile(1.0.25): http://www.mega-nerd.com/libsndfile/
- libdc1394(2.2.3): http://sourceforge.net/projects/libdc1394/
- libschroedinger(1.1): http://www.diracvideo.org/download/schroedinger/ (http://gnunet.org/libextractor/)
- dirac(1.0.2): http://www.diracvideo.org/download/dirac-research/
- speex(git): http://git.xiph.org/speex.git
- libvpx(1.3.0): http://code.google.com/p/webm/downloads/list
- librtmp(svn): http://rtmpdump.mplayerhq.hu/
- aacplus: http://217.20.164.161/~tipok/aacplus
- vo-aacenc: http://sourceforge.net/projects/opencore-amr/
- vo-amrwbenc: http://sourceforge.net/projects/opencore-amr/
コメントを追加