- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

ネームスペース
ビデオファイルの入出力を行うライブラリ

## ネームスペース
namespace | mist::video
| ビデオファイルを扱うライブラリ

## 説明

本ライブラリは，http://ffmpeg.sourceforge.net/index.php で開発が行われている ffmpeg の libavcodec, libavformat を利用している エンコードとデコードはこのライブラリのAPIを用いて実装されているため，別途ライブラリを用意する必要がある

次のヘッダをインクルードする
#include <mist/io/video.h>
使用例(ビデオストリームから連番bmpファイルを作成)
mist::array2< mist::rgb< unsigned char > > img;
mist::video::decoder iv( "input.avi" );
iv.dump( );
char fname[ 256 ];
int i = 0;
while( !iv.is_eof( ) )
{
iv >> img;
sprintf( fname, "%04d.bmp", i++ );
mist::write_bmp( img, fname );
}
iv.close( );
使用例(入力ビデオをmpeg1ビデオに変換)
mist::array2< mist::rgb< unsigned char > > img;
mist::video::decoder iv( "input.avi" );
// コンストラクタの引数を変更して圧縮パラメータの変更
// （【注意！】ストリームを開く前に変更しなければならない）
mist::video::mpeg1::encoder ov( "output.mpg", 320, 240 );
ov.dump( );
while( !iv.is_eof( ) )
{
std::cout << iv.time( ) << std::endl;
iv >> img;
/* ここで img に何らかの画像処理を施すことも可能 */
ov << img;
}
ov.close( );
iv.close( );