アクセシビリティ
Adobe
サインイン 注文状況 ユーザー登録

Flash Videoのエンコーディング


目次

カスタム設定の使用

準備が完了し、帯域幅戦略、ビデオのサイズおよびフレームレートが決まりました。 ここまで決まっていれば、後はFLVファイルの作成に集中できます。

よく耳にする不満に、次のようなものがあります。 「いつもデフォルト値を使っているのに、うまくいきません。 どういうことなのでしょうか」デフォルト設定の使用は手榴弾を投げているようなものだから、というのがその答えです。 Flash 8 Video Encoder設定のデフォルト値は、一般的な用途に合わせた大まかな概算値でしかありません。

「エンコーディング設定」ペインで、次の設定を行ってください。

  • デフォルトのエンコーディングプロファイルを無視します。
  • ファイルに名前を付けます。 ファイルは、エンコーディングしているビデオと同じ場所に保存されます。
  • 「ビデオ」タブをクリックします。
詳細設定

図3: デフォルトを無視し、ファイルに名前を付け、「ビデオ」タブをクリックします。

「ビデオ」をクリックして、Flash Videoエンコーディング設定パネルを開きます。ここでは、使用するコーデックを始めとして、非常に重要な決定をいくつか行う必要があります。ビデオコーデックポップアップメニューの2つのコーデックは、Sorenson SparkとOn2 VP6です。前述のように、選択すべきコーデックは、対象とするFlash Playerのバージョンによって決まります。On2 VP6は、Flash Player 8およびFlash Player 9での再生を対象としたプロジェクトの場合にのみ選択します。プロジェクトにアルファチャネルが含まれている場合は、Flash Player 8またはFlash Player 9を対象とします。Flash Player 7以前の場合は、Sorenson Sparkのみを選択できます。

ここで、FLVファイルのフレームレートを選択する必要があります。フレームレートポップアップメニューをクリックすると、エンコードするビデオと同じフレームレートから30 fpsのフレームレートまで、多くの選択肢が表示されます。QuickTimeまたはWindows Media Playerでビデオをプレビューしたときに作成したメモをチェックします。 ほとんどのアプリケーションでは、フレームレートは12または15 fpsにします。

注意: あらゆるルールと同様、このルールにも例外があります。 私たちは、スクリーンキャプチャソフトウェアを使用して、ビデオチュートリアルをいくつか用意しました。 これらのキャプチャは通常は物理サイズ640×480で行われ、ブラウザでの再生をスムーズにするために、ビデオチュートリアルのフレームレートは5 fpsです。フレームレートは、Frame Rateフィールドでの値の選択、およびキーボードを使用した値の入力によって、変更できます。

キーフレームとファイルサイズ

次に決定するのは、キーフレームの配置です。 このポップアップメニューでの選択肢は、「自動」と「カスタム」です。

多くの点において、ビデオはタイムライン上の一連の画像のようなものです。 各画像を作成する必要があり、そのためにデジタルビデオのファイルサイズは、かなり大きくなります。 ビデオファイルのサイズとプロセッサへの負荷を小さくするために、デジタルビデオでは、キーフレームと差分(デルタ)フレームという2種類のフレームを使用します。

キーフレームには、完全な画像が含まれます。 差分フレームには、見ることができればですが、フレーム間の差分だけが含まれます。 壁の前を歩く人を撮影する場合、キーフレームはPhotoshopの画像のようになり、人と、壁の詳細すべてを含みます。 一方、差分フレームには壁は含まれません。変化しないからです。差分フレーム内の情報は失われたのではありません。保存されていて、ビデオの再生時にフレームに戻されます。

これは、FLVファイルの最終的なファイルサイズに大きな影響を及ぼすため、理解する必要がある重要な概念です。 ビデオがキーフレームのみで構成され、15 fpsでエンコードされるとします。ビデオの各フレームが15KBの場合、ビデオは1秒で225KBになります。ここで、1秒ごとに1つのキーフレームを使用してみましょう。すなわち、フレーム1および15には完全な画像が配置されますが、その間の13フレームは差分フレームとなります。分かりやすいように、それぞれのファイルサイズを5KBとします。変化しないものは削除されるためです。その1秒のクリップのファイルサイズは、95KBにまで小さくなります。

On2 VP6コーデックおよびSparkコーデックでは、キーフレームはさらに分散されます。 例えば、300フレームごとに1つのキーフレームが配置されることも珍しくありません。 このことを計算してみれば、通常のFLVファイルが元のビデオの約10%のファイルサイズになる理由が、はっきりとわかります。

15 fpsで再生されるビデオの300フレームには、ビデオの20秒ごとに1つのキーフレームがあります。 前述の例を使うと、1秒ごとに1つのキーフレームがあるビデオのサイズは1.9MBになります。 キーフレームが300フレームごとに配置されるFLVファイルは、1.5MBのファイルサイズの20秒のビデオになります。

FLVの品質とキーフレームに関係するもう1つの要因は、ビデオ内の動きです。 疾走するF1レーサーや多数のパンおよびズームがビデオに含まれる場合、キーフレームの間隔を狭める必要があります。 農園の1本の木しかビデオに含まれない場合は、品質を落とすことなくキーフレームの間隔を広げることができます。このような理由で、エンコーディングの前にビデオを見ることを提案しました。

デジタルメディアのすばらしい点は、ソフトウェアを使用する際に、頼りになる一定のルールがあることです。 最初のルールは、ソフトウェアの機能に任せるということです。 つまり、経験豊かなデジタルビデオ制作者でないかぎり、Flash CS3 Video Encoder設定の「自動」オプションを選択するのが最適です。「自動」を選択すると、コーデックによってビデオ内の変化の多い領域(疾走するレーシングカー)やほとんど変わらない領域(畑の中の1本の木)がざっと確認され、キーフレームの配置が決まります。 SparkコーデックとOn2 VP6コーデックの大きな違いは、対象とするFlash Playerのバージョンは別として、On2 VP6コーデックのほうが一般にSparkよりも少ないキーフレームで優れた結果をもたらす点です。

最初のステップ

図4: コーデック、フレームレート、キーフレーム配置の選択が、処理の最初のステップです。

FLVファイルのサイズをさらに小さくする必要がある場合、カスタムキーフレーム間隔を指定して「自動」キーフレーム設定を無効にするとよいでしょう。 一般的なものであれば、まず5秒間隔に設定してみます。対象のフレームレート(上記の例では15 fps)に単純に5(秒)を掛けます。その結果(この例では75フレーム)をKeyframe Intervalフィールドに入力します。 ビデオの品質がよくない場合は、間隔を1秒(15フレーム)短くして、もう一度試します。 残念ながら、異なるキーフレーム設定をプレビューする最適な方法は、異なる間隔値のバージョンをそれぞれレンダリングし、目で見て比較することです。 しかし、これがFlash 8 Video Encoderでのバッチ処理があらゆるユーザに好まれている理由ではないでしょうか。負荷のかかる処理をコンピュータで処理できるように、レンダリングを設定してそれを夜通し処理させます。