「Doc:JA/2.6/Manual/Render/Output/Video」の版間の差分

提供: wiki
< Doc:JA‎ | 2.6‎ | Manual‎ | Render‎ | Output
移動先: 案内検索
(初訳)
 
(1版 をインポートしました)
 
(相違点なし)

2018年6月29日 (金) 06:09時点における最新版


Page status (reviewing guidelines)

Page reviewed and in good shape

Preparing your work for video

(ビデオ用作品の準備)

いったんアニメーションの方法を習得すればきっと、お好きなコーデックでエンコードされた素敵なアニメーションを作り始めたくなるでしょう。また、コミュニティの人たちとインターネットで共有したくなるかもしれません。

遅かれ早かれ、テレビ用、あるいはおそらくDVDに書き出すためのアニメーションを作りたくなるでしょう。以下は特にビデオの準備作業を対象にした、挫折しないための秘訣です。最初の秘訣は、カメラビュー内の白い点線を覚えておくことです!

PC 用にレンダリングすると、外側の 点線の矩形より内側に描かれたイメージ全体が現れます。テレビ用なら、CRTの電子ビームの走査の構造上、走査線の一部が失われます。カメラビュー内にある 内側の 点線の矩形より内部にあるものは、画面上でも見えることが保証されます。二つの矩形の間にあるものはすべて、ビデオの視聴者が使うテレビによって、見える場合も見えない場合もあります。

Dimensions Presets

(寸法のプリセット)

Render-Dimensions-Presets.png

テレビの規格によってレンダリングサイズが厳密に指定されます。制作に便利なように、Blender には既定の設定が 11 あります:

Preset Resolution (X x Y) Aspect Ratio (X x Y) Frame Rate
DVCPRO HD 1080p 1280x1080 3:2 24 fps
DVCPRO HD 720p 960x720 4:3 24 fps
HDTV 1080p 1920x1080 1:1 24 fps
HDTV 720p 1280x720 1:1 24 fps
HDV 1080p 1440x1080 4:3 23.98 fps
HDV NTSC 1080p 1440x1080 4:3 29.97 fps
HDV PAL 1080p 1440x1080 4:3 25 fps
TV NTSC 16:9 720x480 40:33 29.97 fps
TV NTSC 4:3 720x486 10:11 29.97 fps
TV PAL 16:9 720x576 16:11 25 fps
TV PAL 4:3 720x576 12:11 25 fps

注意点として、たとえば 1600x1200 の解像度でアニメーションをレンダリングして DVD に書き込むと、テレビで見た時に不明瞭な歯切れの悪い絵になります。実際、DVD 書き込みソフトウェアは画像のサイズを上の解像度のいずれかにあわせなければならなくなり、約4倍のディスク容量とレンダリング時間を無駄にします。

Pixel Aspect Ratio

(ピクセルのアスペクト比)

昔のテレビの画面は、コンピューターモニタが持つような正方形のピクセルを持っていません。ピクセルはいくらか長方形で、コンピューターではきれいに見えないがテレビではきれいに見える、あらかじめ歪めた 絵を生成する必要があります。レンダリング時にリサンプリングされ画質の低下を招かないように、ピクセルの正確なアスペクト比を使うことが重要です。


Colour Saturation

(彩度)

ビデオテープとビデオ信号のほとんどは RGB モデルではなくYCrCb モデルベースです: より正確にはヨーロッパでは YUV(PAL)、アメリカ合衆国では YIQ(NTSC)です。後者は前者に非常によく似ているため、少し知識も必要です。

YCrCb モデルは情報を '輝度' または強度(Y)と、二つの '色度' の信号である赤と青(Cr と Cb)として送信します。白黒テレビは輝度だけを表示しますが、カラーテレビは色度(および輝度)から色を再現します。RGB から YCrCb 値を得るには、二つの手順を踏みます(斜体の 定数はシステム(PAL または NTCS)によって変わります):

まず、ガンマ補正を行います (g 値は NTSC で 2.2、PAL で 2.8):

  • R' = R1/g
  • G' = G1/g
  • B' = B1/g

それから変換します:

  • Y = 0.299R' + 0.587G' + 0.114B'
  • Cr = a1(R' - Y) + b1(B' - Y)
  • Cb = a2(R' - Y) + b2(B' - Y)

標準的な 24 ビットの RGB 画像は各チャネルに8ビットを持ちますが、帯域幅を下げるため、また人間の目が色度より輝度に敏感であることを踏まえて、輝度信号は二つの色度信号よりも多いビット数を使って送信されます。このビット拡張の結果、ビデオ内の色の変化はモニタで見慣れたものよりも小さなものにおさえられます。したがってすべての色が正しく表示されているわけではないことを覚えておいてください。

経験から言えば、色をなるべく '灰色がかったもの'、非彩色' にとどめてください。これで色の変化を他色との約 80% 以内におさえます。言い換えると、RGB の最高値と最低値の差が、0.8(範囲が[0-1]のとき)あるいは 200(範囲が[0-255]のとき)を超えないようにします。

これは厳密なものではなく、0.8 よりいくらか多くても許容できます。ただし、0.0 から 1.0 までのカラーコントラスト範囲を持つ RGB の表示は、コンピューターモニタでは明るく躍動的に見える一方で、ビデオではとても汚く見えるでしょう(彩色過多)。

Rendering to fields

(フィールドへのレンダリング)

フィールドレンダリングの結果

テレビ規格では1秒間あたりのフレーム数を 25(PAL)または 30(NTSC)に定めています。画面の発光体は明るさをそれほど長く維持しないため、これは目立ったちらつきの原因になり得ます。

ちらつきを最小限におさえるため、テレビはフレームの描画に、コンピューターの描画方式('プログレッシブ' 方式)ではなく ハーフフレーム(half-frames)、フィールド を倍のリフレッシュレートで描く方法をとります。したがって PAL では 秒間 50 ハーフフレーム、NTCS では秒間 60 ハーフフレームです。元々は送電線の周波数(ヨーロッパでは 50Hz、US で 60Hz)に縛られていました。

特に各フィールドは "interlace(インターレース/飛び越し)" されます。これはあるフィールドが完全なフレームのすべての偶数番目の走査線を描き、続くフィールドが奇数番目の走査線を描くという意味です。

各フィールド間には無視できないほどの時差があるため(1/50 か 1/60 秒)、フレームを通常の方法でレンダリングして二つのハーフフレームに分ける方法はうまくいきません。動いているものの縁に小刻みなぶれ(jitter)が出ます。

Options

(オプション)

フィールドレンダリングの設定
Fields(フィールド)
フィールドレンダリングを有効にします。Render パネルの Post Processing 欄にある Fields ボタンが押されていると、Blender は各フレームを2回にわけて作ります。はじめに偶数行だけをレンダリングし、タイムステップの半分だけ時間を進め、次に奇数行すべてをレンダリングします。PC 画面ではおかしな結果になりますが(図 フィールドレンダリングの結果)、テレビでは正しく表示されます。
Upper First(上優先) / Lower First(下優先)
はじめにレンダリングするフレームを偶数番目、奇数番目で切り替えます。
Still
フィールド間の half-frame time step を無効にします (x).
正しいフィールド順序の設定

Blender のデフォルトの設定では偶数フィールドを奇数フィールド より前に 作ります。これは ヨーロッパの PAL規格に従っています。NTSC では奇数フィールドを先に走査します。

当然ながら、選択を誤るとフィールドレンダリングをまったく使わないよりも結果は悪くなるでしょう。

正しいフィールド順がわからず困っているなら、それを確かめる簡単な方法があります。白い正方形が左から右に動く、黒い背景の短いテストアニメーションをレンダリングします。奇数のフィールド順でひとつ、偶数のフィールド順でもうひとつを作ります。これをテレビ画面で見てみます。正しいフィールド順のものは滑らかに見え、そうでないほうはひどい出来になります。この簡単なテストで 何時間もの レンダリング時間を節約できるでしょう…


フィールドとコンポジットノード

ノードは現時点ではフィールドを認識しません。うまく近傍演算(blur、vector blur など)を行うには情報が不足しすぎていることが理由のひとつです。解決策はアニメーションをフィールドなしの2倍のフレームレートでレンダリングし、あとから映像を組み合わせることです。


Video Files

(ビデオファイル)

以下の形式は、主にレンダリングしたシーケンスを再生可能な動画に圧縮するのに使われます(純粋な音声ファイルを作るのにも使えます)。

コーデック(codec)とは、ビデオを圧縮して DVD におさまるようにしたり、インターネットやケーブルを通じてストリーム出力を可能にしたり、あるいは単に手頃なファイルサイズにしたりするための小さなプログラムです。ビデオのチャネルを圧縮して容量を節約し、途切れない再生を可能にします。不可逆式(Lossy) のコーデックは画質と引き換えにファイルをより小さくします。H.264 のように、大きな画像に優れているコーデックもあります。コーデックは動画のエンコードおよびデコードに使われます。このため、エンコードを行うマシン(Blender)と対象となるマシンの両方に存在する必要があります。エンコードの結果はコンテナ(container)ファイルに収められます。

数百とは言わずとも数十のコーデックがあります。たとえば XviD、H.264、DivX、Microsoft などがあります。各々長所と短所があり、さまざまな OS やプレイヤーと互換性を持ちます。

ほとんどのコーデックは RGB または YUV 色空間のみを圧縮しますが、アルファチャネルを扱えるものもあります。以下は RGBA をサポートするコーデックです:

AVI Codec AVI コーデック圧縮。利用できるコーデックは OS によって違います。AVI codec をはじめに選ぶと、コーデックのダイアログが自動的に起動します。コーデックは AVI Codec 設定にある Set Codec ボタンを使うと直接変更できます。
AVI Jpeg AVI で Jpeg 圧縮を使います。不可逆で、ファイルは小さくなりますがコーデック圧縮アルゴリズムを使ったときほどは小さくなりません。Jpeg 圧縮はデジタルカムコーダーで使われる DV 形式でも使われます。
AVI Raw Audio-Video Interlaced (AVI)、フレームは非圧縮
Frameserver Blender がレンダーファームの一部として フレームリクエスト (frames upon request(eng))を出します。ポート番号は OpenGL User Preferences パネルで指定されています。
H.264 動画をH.264 コーデックでエンコードします。高度なエンコード をご覧ください。
MPEG 動画をMPEG コーデックでエンコードします。高度なエンコード をご覧ください。
Ogg Theora Theora コーデックで Ogg ファイルとしてエンコードします。高度なエンコード をご覧ください。
QuickTime Apple の Quicktime の .mov ファイルです。コーデックがインストールされており、この形式が最初に選ばれると、Quicktime コーデックのダイアログを使えます。Quicktime Encoding をご覧ください。
QuickTime がインストールされていれば GIF を読めます
Windows と Mac で [QuickTime] がインストールされていれば、Blender は GIF ファイルを読むことができます。GIF の機能(PSD の平坦化、Mac 上での PDF の平坦化他)は QuickTime についてきます。
Xvid Xvid コーデックでエンコードします。高度なエンコード をご覧ください。

Advanced Encoding

(高度なエンコード)

Manual-Render-FFMPEG-Video-2.5+.png

H.264MPEGOgg TheoraXvid のいずれかのコーデックが選ばれると、Encoding パネルが利用できるようになります。FFmpeg を使ってこれらのファイル形式やその他の形式をエンコードするための設定があります。

FFmpeg(英語サイト) は多数の形式でデジタル音声およびビデオの記録、変換、ストリームを行う、フリーでオープンソースのソフトウェアライブラリを集めたものです。この中には複数の他プロジェクトで使われている音声/ビデオコーデックライブラリである ilibavcodec や、音声/ビデオコンテナの mux および demux ライブラリである libavformat があります。


Video Settings

(ビデオの設定)

使いたいビデオコーデックの選択と圧縮の設定を行えます。圧縮形式の選択については、ファイルサイズ、プラットフォーム間の互換性、再生品質の間に妥協点があります。

システムコンソール を見ると、エンコード処理の出力の一部を見ることができます。blender -d で Blender を起動すれば、さらなる出力を見ることができます。

DV、SVCD、DVD などの既定セットを使うことができます。そのタイプの出力に最適な設定を選んだものです。もしくは手動で形式(MPEG-1、MPEG-2、MPEG-4、AVI、Quicktime (インストールされている場合)、DV、H.264、Xvid(インストールされている場合)を選ぶことができます。Blender がビデオストリームを圧縮するためには、お使いのコンピューターに正しいコーデックがインストールされている必要があります。

Video Formats

(ビデオ形式)

名称 拡張子 概要
MPEG-1 .mpg, .mpeg ビデオおよび音声向けの、不可逆な圧縮の規格です。VHS 品質の raw デジタルビデオおよび CD 音声を 1.5 Mビット/秒 まで圧縮するように設計されています。
MPEG-2 .dvd, .vob, .mpg., .mpeg "動画および付随する音声情報の共通符号化" のための規格。不可逆なビデオ圧縮と不可逆な音声データ圧縮方式の組み合わせで、現在利用できる記憶媒体や伝送帯域幅を使った動画の保存や伝送を可能にする、と書かれています。
MPEG-4(DivX) .mp4, .mpg, .mpeg MPEG-1 や MPEG-2 、および関係する他の規格の多くを取り入れ、新たな機能を追加しています。
AVI .avi Resource Interchange File Format (RIFF) の派生で、ファイルのデータをブロック、"チャンク(chunks)"に分割します。
Quicktime .mov マルチトラックの形式です。QuickTime と MP4 コンテナ形式は同じ MPEG-4 形式を使えます。ほとんどは QuickTime-only 環境で互換性があります。MP4 は国際規格で、より多くのサポートがあります。
DV .dv intraframe ビデオ圧縮方式で、フレームごとにビデオを圧縮するのに離散コサイン変換(DCT)を使います。音声は圧縮されずに格納されます。
H.264 .avi ("当面") ビデオ圧縮の規格で、現在もっとも一般的に使われる形式の一つです。録画、圧縮、高解像度ビデオの配布に使われています。
Xvid .avi ("当面") MPEG-4 規格に続くビデオコーデックライブラリです。Bフレーム、グローバルおよび1/4動き補償、lumi masking、格子量子化、および H.263、MPEG およびカスタム量子化行列といった ASP 機能を使います。Xvid の一番の競合相手は DivX Pro コーデックです。
Ogg .ogg, .ogv フリーで不可逆なビデオ圧縮形式です。Xiph.Org Foundation によって開発され、ライセンス料なしで配布されています。
Matroska .mkv オープンでフリーなコンテナ形式の規格です。コンテナ形式とは任意の数のビデオ、音声、画像、字幕トラックをひとつのファイルに保持できるファイル形式です。
Flash .flv インターネットで Adobe Flash Player を使ってビデオを配信するのに使われる、コンテナファイル形式です。
Wav .wav 非圧縮の(または軽く圧縮された)Microsoft および IBM の音声ファイル形式です。
Mp3 .mp3 不可逆なデータ圧縮を使う高圧縮率のデジタル音声のエンコード形式で、特許で保護されています。デジタル音声の圧縮やデジタルオーディオプレイヤー上での音楽の再生および転送において業界標準であり、また民生用の音声ストレージ用音声形式としても一般的です。


Video Codecs

(ビデオコーデック)

名称 概要
None 音声だけのエンコード用。
MPEG-1 (上の ビデオ形式 をご覧ください。)
MPEG-2 (上の ビデオ形式 をご覧ください。)
MPEG-4(DivX) (上の ビデオ形式 をご覧ください。)
HuffYUV 可逆式ビデオコーデックで、ビデオキャプチャの形式として非圧縮の YCbCr を置き換えるべく Ben Rudiak-Gould 氏によって作られました。
DV (上の ビデオ形式 をご覧ください。)
H.264 (上の ビデオ形式 をご覧ください。)
Xvid (上の ビデオ形式 をご覧ください。)
Theora (上の ビデオ形式 の Ogg をご覧ください。)
Flash Video (上の ビデオ形式 をご覧ください。)
FFmpeg video codec #1 FFV1 とも言います。可逆式 intra-frame のビデオコーデックです。可変長符号化(variable length coding)もエントロピー符号化(entropy coding)用の算術符号化(arithmetic coding)もできます。エンコーダーとデコーダーは FFmpeg 内にあるフリーでオープンソースのライブラリ libavcodec の一部です。

Options

(オプション)

Bitrate(ビットレート)
フレームごとのビット数である平均 ビットレート(品質)を設定します。ffmpeg -b:v(英語サイト) もご覧ください。
Rate(レート)
ビットレートの調節欄には MinimumMaximum もあります。
Buffer(バッファ)
decoder bitstream buffer(英語サイト) のサイズ。
GOP Size(GOPサイズ)
Group of Pictures ごとに含まれる画像の数。0にすると "intra_only" になり inter-frame(英語サイト) ビデオを無効にします。ffmpeg のドキュメントにはこう書かれています: "非常に低いビットレートでのストリーミングには、低いフレームレートと小さな GOP を使ってください。特に、Linux player がそれほど高速でなく、フレームが欠ける場合の RealVideo に当てはまります"
Autosplit Output(出力の自動分割)
ビデオが 2G を超える巨大なものなら、自動分割を有効にしてください。出力ファイルサイズの主制御には GOP または keyframe interlace を使います。通常は数値を上げるほど小さなファイルができますが、再生にはより高性能なデバイスが必要です。
Mux(マルチプレクサ)
Multiplexing(英語サイト)の設定。
Rate
マルチプレクサストリームの最大ビットレート。
Packet Size
(ffmpeg のドキュメントに記述がありません)
標準
コーデックは突飛なビデオサイズをエンコードできません。したがって XY サイズには標準的なテレビサイズ用のプリセットで使われているものだけを使ってください。


Audio Settings

(音声の設定)

選択したコーデックを使って音声がエンコードされます。

音声コーデック(Audio Codecs)

MP2 不可逆な音声圧縮形式で、ISO/IEC 11172-3 で定義されました。
MP3 (上述 ビデオ形式 の MP3 をご覧ください)
AC3 Audio Codec 3 はドルビーラボラトリーズが開発した音声圧縮技術です。
AAC "先進的音響符号化(Advanced Audio Codec)" は規格化された、デジタル音声向けの不可逆な圧縮およびエンコード方式です。MP3 形式の後継になるべく設計され、通常は同様のビットレートの MP3 よりも音質がよくなります。
Vorbis MP3 や AAC に相当する、オープン標準で高圧縮の形式です。AAC や Windows Media Audio のような他の MDCT 形式に匹敵する複雑な計算を行う一方、これらと同等か高い音質の小さなファイルを作ることから、他の不可逆な音声形式の多くよりも性能が優れていることが過去に証明されてきました。
FLAC フリーの可逆式音声コーデック(Free Loss-less Audio Codec)です。FLAC のアルゴリズムで圧縮されたデジタル音声は元のサイズの 50-60% に抑えられ、復元すると元の音声データとまったく同じコピーになります。
PCM Pulse Code Modulation はサンプリングしたアナログ信号をデジタルで表すのに使われる方式です。コンピュータや各種 Blu-ray、CD および DVD 形式、あるいはデジタル電話システムなどのその他の用途にも使われる標準的な形式です。


Bitrate
各コーデックに対して、動画内の音声のビットレート(品質)を調節できます。この例は 128kbps での MP3 のエンコードです。ビットレートを高めるほどファイルが大きくなりストリームが重くなりますが、音は良くなります。互換性のため、2のべき乗になるようにしてください。
Samplerate
音声の1秒あたりのサンプル数を調節します。デフォルトの 44100 は CD 音声を含む多くのファイル形式の標準で、高品質なサウンドを作ります。
Volume
音声の音量を設定します。


Tips

(ヒント)

選択すべき形式は、画像を使って何を行うかによります。

動画をポストプロセスや特別なエフェクトなしで作るのなら、AVI-JPEGAVI Codec を使い、XviD のオープンなコーデックを選びます。VSE に読み込んだ音声とともに動画を出力するのなら、FFMPEG を使います。

動画にポストプロセスを施すつもりなら OpenEXR 画像としてレンダリングされたフレーム一式を使うのが一番です。ファイルを一つだけにしたいのなら、AVI Raw を選びます。AVI Raw は巨大ですが、ポストプロセス用に出力の正確な品質を維持します。compositing/sequencing のようなポストプロセスのあとで、圧縮できます。圧縮済みのファイルにポストプロセスを施したいとは思わないでしょう。圧縮による画像の歪み(artifacts)が、ポストプロセスで行った作業を消してしまう可能性があるからです。

なお、ビデオ形式に直接レンダリングしたいとは思わないかもしれません。レンダリング中に問題が起きれば、はじめからすべてのフレームを再レンダリングする必要があります。もしはじめに一連の静止画(デフォルトの PNG、あるいはより高品質な OpenEXR)をレンダリングすれば、Video Sequence Editor (VSE) (eng)内で Image Strip を使ってつなぎあわせることができます。この方法では、以下のことが簡単にできます:

  • 問題発生箇所(フレーム)からレンダリングを再開する
  • (数分や数時間でなく)数秒で別のビデオオプションを試してみる
  • VSE の他の機能を楽しむ。たとえば前のレンダー、音声、ビデオクリップ等から Image Strip を追加します。

Home-made Render Farm

(自家製レンダーファーム)

Homemade-Render-Farm.png

レンダリングの作業負荷を複数マシンで分担する簡単な方法です:

  1. 共有ディレクトリを準備します(例:Windows 共有や NFS マウント)
  2. "Overwrite(上書き)" のチェックを外し、"Placeholders(場所の確保)" にチェックします
  3. 望むだけの数のマシンを使って、そのディレクトリへのレンダリングを始めます。マシン同士がお互いの足を踏んでしまうことはありません。