Video Writer
VideoWriterは、画像を圧縮してビデオファイルに保存します。 詳細...
データ構造体
| struct | IC4_VIDEO_WRITER VideoWriterを表します。 詳細... |
列挙型
| enum | IC4_VIDEO_WRITER_TYPE { IC4_VIDEO_WRITER_MP4_H264
, IC4_VIDEO_WRITER_MP4_H265
} 利用可能なVideoWriterのタイプを定義します。 詳細... |
関数
| bool | ic4_videowriter_create (enum IC4_VIDEO_WRITER_TYPE type, struct IC4_VIDEO_WRITER **ppVideoWriter) 指定したタイプの新しいVideoWriterを作成します。 |
| struct IC4_VIDEO_WRITER * | ic4_videowriter_ref (struct IC4_VIDEO_WRITER *pVideoWriter) VideoWriterの内部参照カウントを1つ増やします。 |
| void | ic4_videowriter_unref (struct IC4_VIDEO_WRITER *pVideoWriter) VideoWriterの内部参照カウントを1つ減らします。 |
| bool | ic4_videowriter_begin_file (struct IC4_VIDEO_WRITER *pVideoWriter, const char *file_name, const struct IC4_IMAGE_TYPE *image_type, double frame_rate) 画像を書き込める新しいビデオファイルを開きます。 |
| bool | ic4_videowriter_finish_file (struct IC4_VIDEO_WRITER *pVideoWriter) ビデオファイルへの書き込みを完了します。 |
| bool | ic4_videowriter_add_frame (struct IC4_VIDEO_WRITER *pVideoWriter, struct IC4_IMAGE_BUFFER *buffer) 現在開いているビデオファイルに画像を追加します。 |
| bool | ic4_videowriter_add_frame_copy (struct IC4_VIDEO_WRITER *pVideoWriter, const struct IC4_IMAGE_BUFFER *buffer) 現在開いているビデオファイルに画像を追加します。その過程で内容をコピーします。 |
| bool | ic4_videowriter_get_property_map (struct IC4_VIDEO_WRITER *pVideoWriter, struct IC4_PROPERTY_MAP **ppPropertyMap) エンコーダ設定用のPropertyMapを返します。 |
詳細説明
VideoWriterは、画像を圧縮してビデオファイルに保存します。
利用可能なVideoWriterは複数あります:
- H264エンコーダを使用したMP4ファイル
- H265エンコーダを使用したMP4ファイル
新しいVideoWriterを作成するには、目的のVideoWriterのタイプを渡して ic4_videowriter_create() を呼び出します。
ic4_videowriter_begin_file() を呼び出した後、ic4_videowriter_add_frame() を繰り返し呼び出してファイルに画像を書き込みます。ファイルを確定して閉じるには ic4_videowriter_finish_file() を呼び出します。
VideoWriterは、ic4_videowriter_get_property_map() が返すPropertyMapを通じて設定できます。このようなPropertyMapの使い方の詳細については、Properties を参照してください。
列挙型ドキュメント
◆ IC4_VIDEO_WRITER_TYPE
関数ドキュメント
◆ ic4_videowriter_add_frame()
| bool ic4_videowriter_add_frame | ( | struct IC4_VIDEO_WRITER * | pVideoWriter, |
| struct IC4_IMAGE_BUFFER * | buffer | ||
| ) |
現在開いているビデオファイルに画像を追加します。
- パラメータ
-
[in] pVideoWriter 以前にファイルへの書き込みを開始したVideoWriter [in] buffer ImageBuffer
- 注意
- ImageBufferのイメージタイプは、ファイルの開始時に ic4_videowriter_begin_file() に渡した
image_typeパラメータと一致している必要があります。
VideoWriterはImageBufferへの参照を保持する場合があります。これにより、ImageBufferの解放および再利用が遅延することがあります。この場合、バッファは共有状態となり、安全に書き込めなくなります(ic4_imagebuffer_is_writable を参照)。
VideoWriterが常にImageBufferからデータを即座にコピーするようにするには、ic4_videowriter_add_frame_copy を使用します。
- 戻り値
- 成功した場合は
true、それ以外の場合はfalseを返します。
エラー情報を取得するには ic4_get_last_error() を使用します。
◆ ic4_videowriter_add_frame_copy()
| bool ic4_videowriter_add_frame_copy | ( | struct IC4_VIDEO_WRITER * | pVideoWriter, |
| const struct IC4_IMAGE_BUFFER * | buffer | ||
| ) |
現在開いているビデオファイルに画像を追加します。その過程で内容をコピーします。
- パラメータ
-
[in] pVideoWriter 以前にファイルへの書き込みを開始したVideoWriter [in] buffer ImageBuffer
- 注意
- ImageBufferのイメージタイプは、ファイルの開始時に ic4_videowriter_begin_file() に渡した
image_typeパラメータと一致している必要があります。
ImageBufferの内容はコピーされるため、バッファの参照カウントは増加せず、最後の参照が解放されればすぐに再利用できます。
コピー操作が不要な場合に回避するには、ic4_videowriter_add_frame を使用します。
- 戻り値
- 成功した場合は
true、それ以外の場合はfalseを返します。
エラー情報を取得するには ic4_get_last_error() を使用します。
◆ ic4_videowriter_begin_file()
| bool ic4_videowriter_begin_file | ( | struct IC4_VIDEO_WRITER * | pVideoWriter, |
| const char * | file_name, | ||
| const struct IC4_IMAGE_TYPE * | image_type, | ||
| double | frame_rate | ||
| ) |
画像を書き込める新しいビデオファイルを開きます。
- パラメータ
-
[in] pVideoWriter VideoWriter [in] file_name 新しいビデオファイルの名前 [in] image_type 書き込む画像のイメージタイプ [in] frame_rate ビデオファイルの再生フレームレート
- 戻り値
- 成功した場合は
true、それ以外の場合はfalseを返します。
エラー情報を取得するには ic4_get_last_error() を使用します。
◆ ic4_videowriter_create()
| bool ic4_videowriter_create | ( | enum IC4_VIDEO_WRITER_TYPE | type, |
| struct IC4_VIDEO_WRITER ** | ppVideoWriter | ||
| ) |
指定したタイプの新しいVideoWriterを作成します。
- パラメータ
-
[in] type 作成するVideoWriterのタイプを選択します [out] ppVideoWriter 新しいVideoWriterのハンドルを受け取るポインタ
VideoWriterが不要になったら、ic4_videowriter_unref() を使用してオブジェクト参照を解放してください。
- 戻り値
- 成功した場合は
true、それ以外の場合はfalseを返します。
エラー情報を取得するには ic4_get_last_error() を使用します。
◆ ic4_videowriter_finish_file()
| bool ic4_videowriter_finish_file | ( | struct IC4_VIDEO_WRITER * | pVideoWriter | ) |
ビデオファイルへの書き込みを完了します。
- パラメータ
-
[in] pVideoWriter 以前にファイルへの書き込みを開始したVideoWriter
- 戻り値
- 成功した場合は
true、それ以外の場合はfalseを返します。
エラー情報を取得するには ic4_get_last_error() を使用します。
◆ ic4_videowriter_get_property_map()
| bool ic4_videowriter_get_property_map | ( | struct IC4_VIDEO_WRITER * | pVideoWriter, |
| struct IC4_PROPERTY_MAP ** | ppPropertyMap | ||
| ) |
エンコーダ設定用のPropertyMapを返します。
- パラメータ
-
[in] pVideoWriter VideoWriter [out] ppPropertyMap PropertyMapを受け取るハンドルへのポインタです。
PropertyMapが不要になったら、ic4_propmap_unref() を呼び出します。
- 戻り値
- 成功した場合は
true、それ以外の場合はfalseを返します。
エラー情報を取得するには ic4_get_last_error() を使用します。
◆ ic4_videowriter_ref()
| struct IC4_VIDEO_WRITER * ic4_videowriter_ref | ( | struct IC4_VIDEO_WRITER * | pVideoWriter | ) |
VideoWriterの内部参照カウントを1つ増やします。
- パラメータ
-
[in] pVideoWriter VideoWriterへのポインタ
- 戻り値
- pDisplay として渡されたポインタ
- 備考
- pVideoWriter が
NULLの場合、この関数はNULLを返します。エラー値は設定されません。
◆ ic4_videowriter_unref()
| void ic4_videowriter_unref | ( | struct IC4_VIDEO_WRITER * | pVideoWriter | ) |
VideoWriterの内部参照カウントを1つ減らします。
参照カウントが0に達すると、オブジェクトは破棄されます。
- パラメータ
-
[in] pVideoWriter VideoWriterへのポインタ
- 備考
- pVideoWriter が
NULLの場合、この関数は何も行いません。エラー値は設定されません。


