ビデオ出力クラス [詳細]
#include <video.h>
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().