mpeg_encode

機能

画像ファイルからMPEG-1のデータを作る

起動方法

    mpeg_encode  [-stat stat_file] [-quiet num_seconds] [-no_frame_summary]
                [-gop gop_num] [-combine_gops] [-frames  first_frame  last_frame]
                [-combine_frames] [-nice] [-max_machines num_machines]
                [-snr] param_file

機能

画像ファイルからMPEG-1形式のデータファイルを作る(エンコードする)コマンドである。
param_fileに入力ファイルなどのデータを記述しておく。
param_fileのパラメータは次の通り。

OUTPUT output_file
出力するファイル名を指定する。

INPUT_DIR directory
画像ファイルの存在するディレクトリーを指定する。

INPUT
画像ファイルの記述始まり。

END_INPUT
画像ファイルの記述終り。 画像ファイルはINPUTとEND_INPUTの間に記述する。 例えば
INPUT anim*.ppm [1-480] END_INPUT はanim1.ppm,anim2.ppm...anim480.ppmという画像ファイルがエンコードされる。
INPUT anim.*.ppm [001-480] END_INPUT はanim001.ppm,anim002.ppm...anim480.ppmという画像ファイルがエンコードされる。
INPUT anim.*.ppm [001-480+4] END_INPUT というふうに+4をつけるとanim1.ppm,anim5.ppm,anim9.ppm...という 画像ファイルがエンコードされる。

BASE_FILE_FORMAT [YUV or PPM or PNM]
画像ファイルの種類を指定する。 YUVの場合は
YUV_SIZE "w"x"h" を指定すること。

INPUT_CONVERT conversion_command
ppm,yuv以外の画像フォーマットを 変換する時に使用する時のコマンドを指定する。 例えばgifファイルをエンコードする場合は
INPUT_CONVERT giftoppm * とすればgifの画像ファイルをgiftoppmによってppmに変換してからMPEGにエンコードする。
また画像ファイルがcompressなどで圧縮されている時、
INPUT_CONVERT zcat * | pnmscale -xsize 320 -ysize 240 とすれば解凍しながら、320x240の大きさにスケールしてエンコードされる。

GOP_SIZE n
画像のグループの枚数を指定する。

SLICES_PER_FRAME n
1フレームごとのスライスの数を指定する。

PIXEL (FULL or HALF)
モーションベクトルとしてhalf-pixelかfully-pixelを使用するかを指定する。

RANGE n
圧縮のために+/1nフレームを使用する。

PSEARCH_ALG algorithm
P-フレームをサーチするためのアルゴリズムを指定する。 EXHAUSTIVE, TWOLEVEL, SUBSAMPLE, LOGARITHMICの内の一つを指定する。

BSEARCH_ALG algorithm
B-フレームをサーチするためのアルゴリズムを指定する。 SIMPLE, CROSS2, EXHAUSTIVEの内の一つを指定する。

IQSCALE n
I-フレームのqスケールの値nを指定する。

PQSCALE n
P-フレームのqスケールの値nを指定する。

BQSCALE n
B-フレームのqスケールの値nを指定する。

REFERENCE_FRAME (ORIGINAL or DECODED)
ORIGINALを指定するとモーションベクターとしてオリジナルの画像を指定する。 DECODEDを指定するとモーションベクターとしてデコードされた画像を指定する。 こちらの方が画質は良くなるがエンコードに時間がかかる。
次のパラメータはオプションである。

FORCE_I_ALIGN parallel execution の場合に指定する。

param_fileの例

とりあえずはOUTPUT,INPUT_DIRとINPUT,END_INPUTの間にある ファイル名、番号を書き変えればこのまま使用できる。

PATTERN		IBBPBBPBBPBBPBB
OUTPUT		anim.mpg

BASE_FILE_FORMAT	PPM
GOP_SIZE	30
SLICES_PER_FRAME	1

PIXEL		HALF
RANGE		10
PSEARCH_ALG	LOGARITHMIC
BSEARCH_ALG	CROSS2
IQSCALE		8
PQSCALE		10
BQSCALE		25

REFERENCE_FRAME	ORIGINAL

INPUT_CONVERT	*

INPUT_DIR	pic

INPUT
anim*.ppm	[1-480]
END_INPUT
INPUT_DIRのところはカレントディレクトリに画像ファイルがある場合には INPUT_DIR pic の代わりに INPUT_DIR . ( .(ピリオド)はカレントディレクトリを表すピリオド ) と書いておく。

オプション

-stat stat_file
エンコードの情報をstat_fileに書き出す。
-quiet num_seconds
num_seconds経過するまでは残り時間を表示しない。 num_secondsが負の値の場合は表示をしない。 0の場合は表示をする。(デフォールト)
-no_frame_summary
各フレームにおける表示をやらない。
-gop gop_num
gop_numで指定されたGOPをエンコードする。
-combine_gops
いくつかのGOPファイルを一つのMPEGファイルに結合する。
-frames first_frame
last_frame first_frameからlast_frameまでをエンコードする。
-nice
並列実行の時に実行を最適化する。
-max_machines
num_machines 並列実行の時の実行するマシンの最大数を指定する。
-snr signal-to-noise
レシオを表示する。

参照


Home | Contents
Mail