« ニコニコ動画にアップロードしてみた | メイン | Dカセ動画カッセい化委員会 »

動画をエンコードする(ニコニコ動画)

[カテゴリー:動画共有方法]

撮影した動画をエンコードします。

撮影しただけの動画はファイルサイズが大きすぎてとても共有することはできません。
その為、ファイルサイズを小さくする必要性があります。
そのファイルサイズを小さくする事をエンコードといいます。

ここではニコニコ動画にアップロードするためのエンコード方法を紹介します。


ニコニコ動画に画質を保ったままアップロードするには、FLV形式で動画を作成する必要があります。
このFLV形式というものを作るためにはいくつかのソフトウェアが必要となります。
そのソフトウェアを下記にまとめたので、基本的にすべてのソフトウェアをダウンロードし、準備しておいてください。
すべて無料で使用することができます。


エンコードには専用のソフトウェアを使用します。
ここではVirtualDubModというソフトウェアを使います。
ダウンロード(外部リンク)
導入方法(外部リンク)

上記バージョンが見つからない場合は、
最新バージョンのVirtualDubを使用してください。
http://virtualdub.sourceforge.net/(外部リンク)

日本語化パッチは以下のサイトから探してください。
http://tnetsixenon.xrea.jp/(外部リンク)

そしてエンコードする為にコーデックというものをインストールする必要があります。

画像用コーデック
VP6 VFW codec(外部リンク)
VP6形式の画像コーデックです。

音声用コーデック
Lame(外部リンク)
mp3形式に変換するための音声用コーデックです。
lame.exeが必要となるため、DivX(Stage6)で使用するためにダウンロードしたLameACMとは異なったものをダウンロードする必要があります。
finalとついているバージョンをダウンロードしましょう。
デスクトップなどに保存すると謝って削除してしまう可能性があるため、Program Files等のフォルダにLameフォルダを作成して保存する事をお勧めします。

Lame Ivy Frontend Encoder
lame.exeを保存した後にダウンロードします。
lame.exeを視覚的に操作できるソフトウェアです。


MEncoderファイルセット
音声ファイルと画像ファイルを結合し、FLV形式に変換するために必要です。
リンクが切れている場合はこちらをご利用ください(こちらはバージョン等が古い可能性があります)

FLVP
FLV形式に変換した動画を視聴することができます。




ここではVirtualDubMod バージョン1.4.13日本語バージョンを用いて解説します。
また、ここでは2Passエンコードというエンコード方法の手順を解説します。
この2Passエンコードというものは、時間がかかる代わりに高品質(画像が綺麗でファイルサイズが小さい)の動画を作成するために必要なものです。

ニコニコ動画ではStage6(DivX)と異なり、
ファイルサイズ及び最大ビットレートの上限が設けられています。
そのため好き勝手にエンコードすることはできず、
制限の範囲内でいかに高い品質を維持できるかが鍵となります。

ニコニコ動画での制限をまとめると以下のようになります。
・FLV形式のみ
・実際のファイルサイズが40MB(41,943,040 byte)以下
・ファイルの解像度は512x384以下
・画像と音声の合計した実ビットレートが656.384[kbps]以下
・音声のサンプリングレートは44100Hz、22050Hz、11025Hz、5512Hz のいずれか


エンコードの手順は以下の通りです。
1.動画を開く
2.動画が複数ファイル存在する場合は結合する
3.不必要な部分を削除する
4.フィルタをかける
5.動画の分割時間を計算する
6.動画範囲を選択する
7.音声(wav)ファイル抽出をバッチ登録する
8.音声の入力設定を「無し」に指定する
9.画像用コーデックの設定をする(1Pass目)
10.現在の設定でバッチ登録する
11.画像用コーデックの設定をする(2Pass目)
12.現在の設定でバッチ登録する
13.手順6~12を、分割した個数分繰り返す
14.エンコードを開始する
15.wavファイルをmp3に変換する
16.画像ファイルと音声ファイルを結合する


1.動画を開く
メインメニューの「ファイル」→「開く」を選択し、
ファイルダイアログでエンコードする動画を選択します。
複数ファイルが存在する場合は、一番最初のファイルを選択します。


2.動画が複数ファイル存在する場合は結合する
Frapsで撮影した場合、4GB区切りのファイルが複数作成されています。
これらを結合し、一つのファイルにする必要があります。
「ファイル」→「AVI Segmentを追加」を選択し、二つ目の動画ファイル…
同様に「ファイル」→「AVI Segmentを追加」を選択し、三つ目の動画ファイル…
といったように、全ての動画を順番に読み込む必要があります。
Dxtoryで録画し、一つのファイルとなっている場合はこの作業は必要ありません。

順番どおり読み込めているか、ウィンドウ下部にあるスライドを移動させて確認します。
キープ/キャッスルのHPバーを基準にすると確認が容易です。


3.不必要な部分を削除する
ニコニコ動画ではファイルサイズの制限が厳しく、不必要な部分は削除などの編集が必須です。
例えば、戦争開始時のエンチャントから前線までの時間や、デッドしてから前線復帰までの時間です。
その部分が必要だと判断すれば削除する必要はありませんが、多くの場合視聴者は退屈しています。

削除する部分はある場合は、その削除する部分の開始地点をスライドで選択し、←ボタンをクリックします。
(この時点では何も変化は現れません)

その次に削除する部分の終了地点をスライドで選択し、→ボタンをクリックすると、
削除する部分が青く選択されます。

この状態でDeleteキーを押すことにより、選択部分を削除することができます。
削除する部分が複数ある場合は、この作業を繰り返します。



4.フィルタをかける
画像をエンコードする際にかけるフィルタの設定をします。
ニコニコ動画にアップロードする場合、解像度が512x384より大きい場合、自動的にエンコードされ、
画質が悪化してしまいます。
その為、Full-Size等の設定で高解像度で録画したファイルは縮小する必要があります。
(Half-Sizeで録画し、解像度が小さい場合はこの作業は不要です)

なお、アスペクト比が4:3もしくは16:9である必要があります。
それ以外のアスペクト比の動画を用いる場合は、Resizeフィルタで黒ベタを追加し、
アスペクト比を上記のものに変更してください。

エンコードする動画の解像度は、縦横共に16の倍数である必要があります。

また、FLV形式に変換する時に、勝手に画像の上下が反転されてしまうため、
その対策としてエンコードする時点で上下を反転させておく必要があります。
(上下反転を2度繰り返すと元に戻るため)

フィルタのかけかたはこちらの記事をご参照ください。



5.動画の分割時間を計算する
ニコニコ動画ではファイルサイズ制限の関係から、1つの戦争(20~25分ほどの動画)を、
3つほどに分割してアップロードすることが流行しています。
そのためエンコードしようとしている動画の再生時間を確認し、それを分割数で割った時間の動画を作成することになります。

まずは動画の時間を確認します。
スライドを一番右まで移動させ、画面下部の再生時間の部分を確認します。

この数値を3で割ります。
例画像の場合は28分40秒のため、1つの動画を9分30秒程で作成すれば3分割できることになります。
ここでの分割時間はあまりシビアに考える必要はありません。
その分割する部分が戦闘の最中であれば多少増減させます。
ただし時間が8分以内であれば最高ビットレートでエンコードできるため、
この場合は4分割することも選択肢として考えられます。



6.動画範囲を選択する
動画の分割範囲を選択します。
ここで選択した範囲のみ、エンコード等の対象となるため、
分割範囲を選択→エンコード設定→その次の分割範囲を選択→エンコード設定…
という繰り返し作業が必要となります。

スライドで分割の開始地点と終了地点を選択します。

1つ目の分割部分であれは開始地点は一番左、終了地点は手順5で計算した分割時間となります。
例画像では約10分の部分を選択しています。



7.音声(wav)ファイル抽出をバッチ登録する
FLV形式を作成するためには、音声ファイルと画像ファイルをそれぞれ別に作成し、
その二つのファイルを結合するという手順を踏む必要があります。
その為DivX(Stage6)の手順とは異なり、音声ファイルのみを別に保存し、
動画ファイル自体は音声がないものを作成します。

音声のみを抽出するには、
メインメニュー「AVI」→「保存[WAV]を選択します。

保存場所を確認するファイルダイアログが表示される為、
任意の場所を選択し、保存名を入力します。(数字で管理すると便利なため、audio01と設定してあります)
「今すぐは実行せず、ジョブリストに追加して後で処理する」にチェックをいれ、保存します。

2つ目の分割動画をエンコードする際に、メインメニュー「AVI」→「保存[WAV]が選択できなくなっている場合は、
音声の入力設定を「Audio入力[AVI]」に変更し、保存設定を行います。
この作業をした後は、下の手順8を忘れずに実行してください。



8.音声の入力設定を「無し」に指定する
音声のみで別に保存する設定を行ったため、画像には音声が入らないように設定します。
メインメニュー「AVI」→「Audio」→「Audio入力[無し]」を選択します。


9.画像用コーデックの設定をする(1Pass目)
画像用コーデックのVP6設定をします。
「Video」→「CODEC」を選択し、コーデック選択画面を開きます。

コーデック選択画面で「VP62R Heightened Sharpness Profile」コーデックを選択します。

右側にある「設定」ボタンをクリックし、DivX設定画面を開きます。

画面上部の設定から順に解説します。

Bitrate:
ビットレートを入力します。この数値は分割時間によって上下します。
また、FEZ動画はビットレートが膨らむ傾向にあるため、
ここで設定した値よりも実ビットレートは増加してしまいます。

分割時間が10分以下であれば480、8分30秒以下であれば540と設定します。
それ以下の時間でもこれ以上増やしてはいけません。

Mode:
エンコードのモードを選択します。
1Pass目であれば「Two Pass - First Pass」
2Pass目であれば「Two Pass - Second Pass - Best Quality」を選択します。

End Usage:
動画のビットレート配分を選択します。
Local File Playback[VBR]を選択します。

Material:
Progressiveを選択します。

Noise Reduction、Sharpness:
変更の必要はありません。

AutoKeyframe、Max Frames Btw Keys:
自動的にキーフレームを作成するか選択します。
AutokeyFrameにはチェックを入れます。
MaxFrames BtwKeysはキーフレームを強制的に挿入するフレーム数となります。
この数値を大きくすると、ファイルサイズが小さくなりますが、動画を途中から再生する際に不便です。
逆に小さくするとファイルサイズが大きくなりやすいですが、動画を途中から再生する際に便利です。
キーフレームが少なすぎるとアップした後のコメントを指定して時間ジャンプなどが使えなくなります。


10.現在の設定でバッチ登録する
現在の設定でエンコードするという情報を保存し、後ほど2度のエンコードを自動的に連続実行させることができます。
2Passエンコードの為2回、そして戦争を3分割していればその3倍、合計6回のエンコードが必要です。
手作業では手間がかかるため、バッチ登録をしておきましょう。

「AVI」→「名前を付けてAVIを出力」を選択し、ファイルダイアログを表示させます。
ファイル名をわかりやすい物(分割番号を入力しておくと便利です)に変更した後、
「今すぐは実行せず、ジョブリストに追加して後で処理する」にチェックを入れます。
チェックが入った状態で「保存」ボタンをクリックすると、エンコードは開始せずに設定のみ保存されます。


11.画像用コーデックの設定をする(2Pass目)
2Pass目のエンコード設定を行い、その状態でさらに設定保存する必要があります。
先ほどの画像用コーデックの設定と同様に、VP6の設定ウィンドウを開きます。

先ほど設定した情報がそのまま残っているはずですので、
Modeのみ「Two Pass - Second Pass - Best Quality」に変更し、OKボタンをクリックします。
コーデック選択画面で再度OKをクリックします。



12.現在の設定でバッチ登録する
「AVI」→「名前を付けてAVIを出力」を選択し、ファイルダイアログを表示させます。
何も変更せずに「保存」ボタンをクリックします。

ファイル名についてまとめておくと、
2Passエンコードの場合はファイル名を変更せずに実施します。
しかし動画を分割してエンコードする際に、異なった分割部分のエンコード結果を同名にしておくと、
古いファイルが上書きされてしまい分割数分のファイルが残りません。

つまり、
・Audio01を抽出
・Video01の1Pass目
・Video01の2Pass目
・Audio02の抽出
・Video02の1Pass目
・Video02の2Pass目 ...
という順序で保存をしていきます。

1つ目のエンコード設定を完了した時点でのジョブリストを確認しておきます。


13.手順6~12を、分割した個数分繰り返す
動画を3つに分割することに決めていれば、後2回、選択した分割部分を変更してエンコード設定をします。
分割部分は、開始地点(その前の分割部分の終了地点)で「←」、
終了地点で「→」ボタンをクリックすれば変更することができます。


気をつける点は以下の通りです。
・動画エンコードは音声無しの設定にする事を忘れない
・異なった分割動画で同じファイル名を使用しない(上書きに気をつける)



14.エンコードを開始する
保存してある設定でエンコードを開始します。
「ファイル」→「ジョブコントロール」を選択し、ジョブコントロール画面を表示させます。
先ほど登録した2つの設定が表示されている事を確認し、「開始」ボタンをクリックします。

あとは自動的に動画が作成されるのを待つのみです。
エンコードが終了したら、きちんと再生できるか確認してください。



15.wavファイルをmp3に変換する
エンコードが完了したら、3つのwavファイルをmp3形式に変換します。
Lame Ivy Frontend Encoder(life.exe)を起動します。
lame.exeは自動検索で認識してくれます。

life.exeの画面内に抽出した3つのwavファイルをドラッグします。
オプション設定ボタンをクリックし、オプション画面を開きます。

エンコード設定をします。例画像と同じように(赤丸で囲ってある部分は特に)設定します。

全曲変換ボタンをクリックし、エンコードを開始します。



16.画像ファイルと音声ファイルを結合する
いよいよVP6形式でエンコードした画像ファイルと、mp3でエンコードした音声を結合し、FLV形式に変換します。

MEncoderファイルセットを開き、
中にある「FLV_ffmpegmux_D&D.bat」に、動画と音声のファイルを選択してドラッグします。

FLV化はすぐに終了します。
MEncoderファイルセットのフォルダに保存されたFLVファイルのファイルサイズを確認し、40MB以下になっていれば成功です。

FLVPを起動し、FLVファイルをドラッグして再生できるか確認してみてください。

コメント (7)

染:

面倒くさすぎて途中で読み飛ばしてしまった俺は負け組み。
まぁあそこは匿名のままゼイ動画を上げても叩かれるような場所だろうからどうでもいい^q^

risa@celp:

も、もうちょっと簡潔にを心がけます。

Dホルホル:

2passエンコってありえないほど時間かかるんだな^^;
10時間ぐらい経っても終わってないOTL
映像処理レートが0.60fpsまで落ちるんだがこれって普通?

Celp@risa:

1pass目で6-10fps
2pass目で1-2fpsだったので普通のようです。

優先度上げたり常駐落としたりすると気休めにはなるかもしれませんね。
一番良いのは使わない時に放置しておくことですが

emperor of Ether:

調べもしないで文句ばっかり言うやつばかりだな・・・

エンコード設定、非常に参考になった サンクス

1024:

MEncoderファイルセット
リンクが切れているようです。

Celp:

Mencoderファイルセットを一時的にサイト内アップローダにアップし、説明文の中にリンクを追加しました。
本家配布サイトが復活した際に削除する予定です。

コメントを投稿

表示されている数字を入力してください。

コメントしてください。

About

2007年09月02日 12:30に投稿されたエントリーのページです。

ひとつ前の投稿は「ニコニコ動画にアップロードしてみた」です。

次の投稿は「Dカセ動画カッセい化委員会」です。

カテゴリー 最近のコメント

アーカイブ

メールフォーム(本人のみに届きます)
Message

Name
Powered by
Movable Type 3.34