ビデオ出力クラス [詳細]
#include <video.h>
mist::video::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, 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 | ~encoder () |
| デストラクタ | |
| 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フレームあたりの時間を返す | |
Protected メソッド | |
| 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 変数 | |
| 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サイズ(この枚数の連続フレーム中に必ず1枚以上Iフレームが存在する) | |
| size_type | max_b_frames_ |
| 最大連続Bフレーム数 | |
| size_type | audio_bit_rate_ |
| 音声のビットレート | |
| size_type | audio_sampling_rate_ |
| 音声のサンプリングレート | |
| size_type | audio_channels_ |
| 音声のチャンネル数 | |
ビデオ出力クラス
オーディオストリームは未サポート
|
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(デフォルト値) |
| [in] | qmin | … 固定品質の指定[0〜31](値が小さいほど高品質)。0以外を指定した場合はbit_rateは無視される |
| [in] | qmax | … 固定品質の指定[0〜31](値が小さいほど高品質)。0以外を指定した場合はbit_rateは無視される |
| [in] | gop_size | … 12(デフォルト値) |
| [in] | max_b_frames | … 2(デフォルト値) |
| [in] | audio_bit_rate | … 64000(デフォルト値) |
| [in] | audio_sampling_rate | … 44100(デフォルト値) |
| [in] | audio_channels | … 2(デフォルト値) |
|
inline |
ビデオファイル名およびMIME情報等を用いて出力用ビデオストリームを開く
| [in] | filename | … 出力ファイル名 |
| [in] | format_type | … ビデオの出力フォーマットに対応した拡張子("."を含む) |
| [in] | video_type | … 出力するビデオの名称 |
| [in] | mime_type | … 出力するビデオのMIMEタイプ |
| [in] | codec_id | … フォーマット内で使用するコーデックID |
|
inlineprotected |
AVOutputFormat 情報を用いて出力用ビデオストリームを開く
| [in] | filename | … 出力ファイル名 |
| [in] | format | … ビデオの出力フォーマット |
| [in] | video_codec_id | … フォーマット内で使用するビデオコーデックID |
| [in] | audio_codec_id | … フォーマット内で使用するオーディオコーデックID |
| [in] | default_pixel_format | … フォーマット内でデフォルトの画素表現 |
|
inline |
array2形式の画像をフレームバッファに書き込み,エンコードしてストリームに出力する
| [in] | image | … ビデオストリームにエンコードする画像 |
| [in] | tm | … ビデオストリームにエンコードする際のタイムスタンプ(-1の場合はフレームレートをもとに書き込み位置を算出する) |
参照先 mist::array2< T, Allocator >::height(), mist::array< T, Allocator >::size(), と mist::array2< T, Allocator >::width().
1.8.1.2