プログラミング-ffmpeg導入?-

[やること]
ffmpegの関数を利用してc言語で動画を扱えるようにする。

[0:導入環境]
windowsXP, Cygwin

[1:ffmpegのインストール]
http://codezine.jp/article/detail/2444?p=1
の通りに行った。(会員登録が必要)

SVN-r19507を利用した。
ただし, configureで--enable-swscaleのオプションを削除した。
(./configur --helpで確認したところ--enable-swscaleはなかった。)

<結果>
コマンドプロンプトからの実行は出来た。
ffplayが使えなかった。(インストールが不十分?)

$ ffmpeg
FFmpeg version SVN-r19507, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-shared --enable-gpl
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.32. 0
libavformat 52.36. 0 / 52.36. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Aug 18 2009 16:57:15, gcc: 3.4.4 (cygming special, gdc 0.12, using dm
d 0.125)
At least one output file must be specified

<問題>
サンプルがmakeができなかった。


[追記]
<問題への対応>

  • configeのオプションを以下のように変更

http://ffmpeg.org/general.htmlを見てなんとなく。

./configure --enable-shared --disable-static --enable-gpl

  • さらにサンプルのmakefileを以下のように変更

CC = gcc
CFLAGS = -Wall -I/usr/local/include
LDFLAGS = -L/usr/local/bin
LDLIBS = -lavutil -lavformat -lavcodec -lswscale -lavdevice
OBJS = make_thumb.o

make_thumb: $(OBJS)
$(CC) -o $@ $(LDFLAGS) $(OBJS) $(LDLIBS)

<結果>
とりあえず, サンプルのmakeはできた。

$ make
gcc -Wall -I/usr/local/include -c -o make_thumb.o make_thumb.c
make_thumb.c: In function `load_frame':
make_thumb.c:136: warning: `avcodec_decode_video' is deprecated (declared at /us
r/local/include/libavcodec/avcodec.h:3256)
make_thumb.c: In function `save_frame':
make_thumb.c:195: warning: `av_alloc_format_context' is deprecated (declared at
/usr/local/include/libavformat/avformat.h:801)
gcc -o make_thumb -L/usr/local/bin make_thumb.o -lavutil -lavformat -lavcodec -l
swscale -lavdevice

しかし, 想定した動作にならない。
バージョンまたはインストール方法またはmakeに問題?(よく分からない)

$ ./make_thumb sample.mov sample.jpeg
can't open input file.

[これから]
http://d.hatena.ne.jp/gtaka555/20080622/p1を参考に
Mingw・MSYSの環境を利用する方針に切り替える。

[自戒]
いつもmake関連でつまずいているので体系的に学ぶこと。