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

- データ構造
- データ構造索引
- クラス階層
- データフィールド

Public メソッド
クラス mist::video::h264::encoder

H264ビデオ出力クラス [詳細]

`#include <video.h>`

mist::video::h264::encoderに対する継承グラフ

## Public メソッド
| encoder (size_type w=320, size_type h=240, size_type frame_rate_num=1, size_type frame_rate_den=30, double frame_aspect_ratio=4.0/3.0, size_type bit_rate=1150000)
| コンストラクタ
| encoder (const std::string &filename, size_type w=320, size_type h=240, size_type frame_rate_num=1, size_type frame_rate_den=30, double frame_aspect_ratio=4.0/3.0, size_type bit_rate=1150000)
| コンストラクタ
virtual | ~encoder ()
| デストラクタ
Public メソッド inherited from mist::video::encoder
| encoder (size_type w=320, size_type h=240, size_type frame_rate_num=1, size_type frame_rate_den=30, double frame_aspect_ratio=4.0/3.0, size_type bit_rate=1150000, size_type qmin=0, size_type qmax=0, size_type gop_size=12, size_type max_b_frames=2, size_type audio_bit_rate=64000, size_type audio_sampling_rate=44100, size_type audio_channels=2)
| コンストラクタ
virtual bool | is_open () const
| ビデオストリームが開いているかどうかを返す
virtual bool | is_eof () const
| ビデオストリームの終わりに来たかどうかを返す
virtual bool | dump () const
| ストリームのフォーマットを標準出力にダンプする
virtual long double | time () const
| 現在のフレーム番号を得る
virtual long double | duration () const
| 総フレーム数を得る
virtual const std::string | filename () const
| ファイル名を得る
virtual size_type | bit_rate () const
| ビットレートを得る
virtual size_type | width () const
| フレームの幅を得る
virtual size_type | height () const
| フレームの高さを得る
virtual long double | frame_rate_numerator () const
| フレームレートを得る
virtual long double | frame_rate_denominator () const
| フレームレートベースを得る（実際のフレームレート＝フレームレート/フレームレートベース）
virtual long double | frame_aspect_ratio () const
| フレームのアスペクト比を得る（ウィンドウ幅/ウィンドウ高さ）
bool | open (const std::string &filename, const std::string &format_type, const std::string &video_type, const std::string &mime_type, codec_id_type codec_id=CODEC_ID_NONE)
| ビデオファイル名およびMIME情報等を用いて出力用ビデオストリームを開く
bool | close ()
| ビデオストリームを閉じる
template<class T , class Allocator >
bool | write (const array2< T, Allocator > &image, long double tm=-1.0)
| array2形式の画像をフレームバッファに書き込み，エンコードしてストリームに出力する
Public メソッド inherited from mist::video::video_io_vase
virtual bool | is_open () const =0
| ビデオストリームが開いているかどうかを返す
virtual bool | is_eof () const =0
| ビデオストリームの終わりに来たかどうかを返す
virtual bool | dump () const =0
| ストリームのフォーマットを標準出力にダンプする
virtual long double | time () const =0
| 現在のビデオストリーム上での再生位置を表す秒数
virtual long double | duration () const =0
| ビデオストリームの総秒数を返す
virtual const std::string | filename () const =0
| ファイル名を返す
virtual size_type | bit_rate () const =0
| ビットレートを返す
virtual size_type | width () const =0
| フレームの幅を返す
virtual size_type | height () const =0
| フレームの高さを返す
virtual long double | frame_rate_numerator () const =0
| フレームレート（A÷B）の分子部分のAを返す
virtual long double | frame_rate_denominator () const =0
| フレームレート（A÷B）の分母部分のBを返す
virtual long double | frame_aspect_ratio () const =0
| フレームのアスペクト比を得る（ウィンドウ幅/ウィンドウ高さ）
virtual long double | frame_rate () const
| フレームレートを返す
virtual long double | seconds_per_frame () const
| 1フレームあたりの時間を返す

## Additional Inherited Members
Protected メソッド inherited from mist::video::encoder
bool | open (const std::string &filename, AVOutputFormat *format, codec_id_type video_codec_id=CODEC_ID_NONE, codec_id_type audio_codec_id=CODEC_ID_NONE, PixelFormat default_pixel_format=PIX_FMT_YUV420P)
| AVOutputFormat 情報を用いて出力用ビデオストリームを開く
Protected 変数 inherited from mist::video::encoder
AVFormatContext * | p_fctx_
| フォーマット情報，デコーダ等
AVFrame * | p_frame_dst_
| 書き出されるフレーム画像バッファ
AVFrame * | p_frame_rgb_
| RGBフォーマットのフレーム画像バッファ(array2形式の画像を得るための中間データ)
SwsContext * | p_swscale_
| デコード後のフレームをRGBのフレームに変換するフィルタを指すポインタ
int64_t | frame_pts_
| ビデオストリーム中での現在のフレーム位置を保持する変数
bool | is_open_
| ビデオが開いているかどうかのフラグ
uint8_t * | encode_buf_
| エンコードバッファ
size_type | encode_buf_size_
| エンコードバッファのサイズ
size_type | width_
| フレーム画像の幅
size_type | height_
| フレーム画像の高さ
size_type | source_width_
| 内部で使用する変数
size_type | source_height_
| 内部で使用する変数
size_type | frame_rate_num_
| フレームレート
size_type | frame_rate_den_
| フレームレートベース（実際のフレームレート＝フレームレート/フレームレートベース）
double | frame_aspect_ratio_
| フレームのアスペクト比（幅÷高さ）
size_type | bit_rate_
| ビットレート
size_type | qmin_
| 圧縮のクオリティー[0〜32]（ビットレートとどちらかを指定）
size_type | qmax_
| 圧縮のクオリティー[0〜100]（ビットレートとどちらかを指定）
size_type | gop_size_
| GOPサイズ（この枚数の連続フレーム中に必ず１枚以上Iフレームが存在する）
size_type | max_b_frames_
| 最大連続Bフレーム数
size_type | audio_bit_rate_
| 音声のビットレート
size_type | audio_sampling_rate_
| 音声のサンプリングレート
size_type | audio_channels_
| 音声のチャンネル数

## 説明

H264ビデオ出力クラス

オーディオストリームは未サポート

## コンストラクタとデストラクタ

mist::video::h264::encoder::encoder | ( | size_type | w = `320`,
|  | size_type | h = `240`,
|  | size_type | frame_rate_num = `1`,
|  | size_type | frame_rate_den = `30`,
|  | double | frame_aspect_ratio = `4.0 / 3.0`,
|  | size_type | bit_rate = `1150000`
| ) |  |
| inline

コンストラクタ

引数

  [in] | w | … 320（デフォルト値）
  [in] | h | … 240（デフォルト値）
  [in] | frame_rate_num | … 1（デフォルト値）
  [in] | frame_rate_den | … 30（デフォルト値）
  [in] | frame_aspect_ratio | … 4/3（デフォルト値）
  [in] | bit_rate | … 1150000（デフォルト値）

mist::video::h264::encoder::encoder | ( | const std::string & | filename,
|  | size_type | w = `320`,
|  | size_type | h = `240`,
|  | size_type | frame_rate_num = `1`,
|  | size_type | frame_rate_den = `30`,
|  | double | frame_aspect_ratio = `4.0 / 3.0`,
|  | size_type | bit_rate = `1150000`
| ) |  |
| inline

コンストラクタ

コンストラクタの実行時に出力ビデオファイルの初期化を行う

引数

  [in] | filename | … 出力ファイル名
  [in] | w | … 320（デフォルト値）
  [in] | h | … 240（デフォルト値）
  [in] | frame_rate_num | … 1（デフォルト値）
  [in] | frame_rate_den | … 30（デフォルト値）
  [in] | frame_aspect_ratio | … 4/3（デフォルト値）
  [in] | bit_rate | … 1150000（デフォルト値）

このクラスの説明は次のファイルから生成されました:

- video.h