2011年5月5日木曜日

libavcodec による動画のサムネイル作成

動画ファイルから動画位置を0から1までの割合で指定し、サムネイルを作成し保存する例題です。

引数により動画位置や出力ファイル(デフォルト JPG、指定により PPM)を指定し、サムネイルを作成します。

AVFormatContext により動画の長さ(TimeStamp)が取得できない際(MKV 等で多い)には動画位置の指定が上手くいかない場合がありますが、それ以外の場合には上手く取得されています。

コンパイルの際には、libavcodec 等のヘッダやライブラリを指定する必要があるため、makefile による指定方法も掲載しています。
libavcodec によりデコードされ取得される画像から、PPM で保存する場合には RGB888 に変換する必要があります。
変換には、swscale を利用しています。

avthumb.cpp

makefile
実行結果

0 件のコメント:

コメントを投稿