クリエイター手抜きプロジェクト[273]Adobe Media Encoder CS5編 指定した映像ファイルをエンコードする
── 古籏一浩 ──

投稿:  著者:


Adobe Premiere CS5とセットになっていて、映像のエンコード処理を行うのがAdobe Media Encoder CS5です。役割分担としては、Premiereで編集し映像エンコードをMedia Encoderが行うことになります。

PremiereはJavaScriptからあまり制御することができませんが、Media EncoderはJavaScriptによっていろいろ制御することができます。フォーマットを指定してエンコードするのはもちろんですし、定期的にフォルダを監視して処理することもできます。ただし、イン点とアウト点を指定してエンコードするようなことはできません。やはり編集機能はPremiereにまかされているようです。

以下のスクリプトは、特定の場所にある映像ファイルをH.264形式でYouTube用にエンコードするものです。



●●●●はユーザー名(ユーザーフォルダ名)を指定してください。★★★★にはエンコードする元の映像ファイル名、▲▲▲▲にはエンコードし保存するファイル名を指定してください。なお、書き出されるファイルと同じファイル名がある場合には▲▲▲▲_1のように番号が付いて別名で保存されます。


// 指定した映像ファイルをエンコードする
var basePath = "/Users/●●●●/";
var srcFile = basePath+"Desktop/★★★★";
var saveFile = basePath+"Desktop/▲▲▲▲";
var eh = app.getEncoderHost();
var encoder = eh.createEncoderForFormat("H.264");
encoder.loadPreset("YouTube SD");
encoder.encode(srcFile, saveFile);
eh.runBatch();


違う形式でエンコードしたいと思う人は多いでしょう。その場合、形式は

var encoder = eh.createEncoderForFormat("H.264");

の行で指定します。H.264を別の形式名(QuickTimeとか)にします。そしてプリセットは

encoder.loadPreset("YouTube SD");

の行で指定します。形式名やプリセット名はMedia Encoderのポップアップから選択できる名前になります。

ただ、すべての形式とプリセットを調べるのは面倒です。そのような場合は、以下のスクリプトを実行すれば、テキストファイルにすべての形式と対応するプリセットが保存されます。


// プリセットを保存する
(function(){
var savefile = File.saveDialog("保存するファイル名を入れて下さい");
if (!savefile) return;
if (!savefile.open("w")){
alert("ファイルを保存できません");
return;
}
var eh = app.getEncoderHost();
var format = eh.getFormatList(); // 形式一覧を取得
for(var i=0; i<format.length; i++){
var encoder = eh.createEncoderForFormat(format[i]);
savefile.writeln("■形式:"+format[i]);
var list = encoder.getPresetList();
for(var j=0; j<list.length; j++){
savefile.writeln(" "+list[j].split("#")[1]);
}
}
})();

Media Encoder CS5では一部不具合があり、プリセット名が正しく記録されていないものもあります。また、カスタムで作成したプリセットも番号の羅列になってしまいます。


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/
>

大震災から一か月経過しました。復興するまでには、まだまだ先が長いようです。震災と計画停電のおかげで、ここ一か月の間に、販売できる商品が次々と消えてなくなっていきました。長野県は中部電力管内なので停電とは関係ないはずですが、工場は東京、千葉なので計画停電の影響で生産できず。仙台支社では亡くなった方もいたとのこと。親戚は避難所はあきらめて結局、南相馬の実家に戻ったけど、新聞も何も届かないそうで。屋内待避範囲だから物が届かないのは仕方ないのかもしれませんが......。

・すべての人に知っておいてほしい WEBデザインの基本原則【発売中!!】
< http://www.amazon.co.jp/dp/4844361813
>

・iPhone/iPad × HTML5アプリ制作【発売中!!】
< http://www.amazon.co.jp/dp/4797362618
>

・HTML5+JavaScriptアイデア&実践サンプル
< http://www.amazon.co.jp/dp/4048704486
>

・JavaScriptコーディング ベストプラクティス
< http://www.amazon.co.jp/dp/4844361791
>

・Google API Expertが解説するHTML5ガイドブック
< http://www.amazon.co.jp/dp/4844329278
>

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/
>

・Adobe Illustrator CS3+JavaScript 自動化サンプル集 発売中
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/
>