■説明
指定した映像ファイルを指定した形式でエンコードするには、いくつかの手順を踏みます。まず、encoderHostオブジェクトのcreateEncoderForFormat()メソッドを使ってエンコードする形式(コンテナの方)を指定します。次にプリセットを読み込みます。これはcreateEncoderForFormat()メソッドによって返されたencoderオブジェクトのloadPreset()メソッドを使います。loadPreset()のパラメーターにはプリセットを文字列で指定します。もし、該当するプリセットがない場合はloadPreset()メソッドはfalseを返します。trueの場合であれば該当するプリセットがあるのでエンコード処理を行います。
エンコードするファイルと出力ファイルはencoderオブジェクトのencode()メソッドを使います。最初のパラメーターに元映像のファイルをフルパスで指定します。2番目のパラメーターに出力先のファイルをフルパスで指定します。ファイルパスは~/のような相対パスを指定すると動作しません。フルパスで指定する必要があります。あとはencoderHostオブジェクトのrunBatch()メソッドを実行すればエンコードが開始されます。
■ソースコード
eHost = app.getEncoderHost();
enc = eHost.createEncoderForFormat("QuickTime");
flag = enc.loadPreset("HD 1080i 29.97, H.264, AAC 48kHz");
if (flag){
f = enc.encode("/Users/test/Desktop/00000.MTS", "/Users/test/Desktop/0.mov");
eHost.runBatch();
}else{
alert("プリセットが読み込めませんでした");
}
サンプルをダウンロード
目次へ戻る