SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

画像は静止画でもいいから高音質なflvファイルを作成する方法

某動画配信サイトへ動画をアップしようとしたのですが,wmv形式でアップしたらファイルが再エンコードされて,かなり劣化してしまったので,自分でflvを作る方法を調べてみました.

自分で弾いてみた,歌ってみた,というような動画をアップする場合,画質はあまりこだわらないから,音声は極力劣化させたくない,となりますよね.
そこで,今回の目的は
・画像は静止画orスライドショーのようなものでいい
・音声は極力圧縮しない
とします.

注意するべきニコニコ動画の使用

・wmv,aviなどはアップする際にエンコードされる.エンコードの品質を自分で調整したい場合は,flvに自分でエンコードしてアップする.
・40M以上のflvはアップできない.
・解像度は512*384,これ以外だと拡大・縮小されて汚くなる.この際,ニアレストネイバー法で変換されるので,解像度があっていないと,ギザギザが目立つ.

用意するもの

  • 使用ソフト

・AVIMaker
・Media Coder

  • 用意する素材

・表示する静止画像(bmp形式)
- ニコニコでは解像度が512*384なので,出来れば画像もこのサイズで作っておく
・音声ファイル(wav形式)

手順

使用ソフトの準備

AVIMakerとMediaCoderを以下のサイトからダウンロードしてきて,それぞれファイルを解凍・インストールします.
AVIMaker
http://www.vector.co.jp/soft/win95/art/se121264.html
MediaCoder
http://cowscorpion.com/MultimediaTools/MediaCoder.html

次に,AVIMakerを起動して,元になるaviファイルを作成します.
  1. 「File」メニューの,Open Image Files をクリックして,使用する画像をダイアログで選択します.
  2. Object filesに出てきたファイル名を選択して,その下のLoopの値を作成する動画の秒数にしてから,リストボックスの右側にあるボタンをクリックします.
  3. 画面右側中段のFrames/secを最低の1fpsにします.
  4. MakingAVIというボタンをおして,動画を作成します.(圧縮形式などを聞かれますが,flvに変換する際に圧縮するので,このときは無圧縮で大丈夫です.)
  5. 音声を加えるために,「File」メニューの Open wave files をクリックして,ダイアログで使用するwavファイルを選択します.
  6. Add waveというボタンを押して,動画に音声を加えます.

以上で,aviファイルが作成できます.
(Play AVIボタンを押すと,作成した動画を再生できます.)

出来上がったaviファイルを,MediaCoderでflvに変換します.

MediaCoderの使い方参考サイト↓
http://www.gigafree.net/media/conv/mediacoder.html

  1. 「ファイル」メニューの「出力フォルダをセット」を選んで,ファイルの出力場所を設定する.
  2. 変換するaviファイルをMediaCoderのウインドウにドラッグ&ドロップ
  3. 下段左側の「オーディオ」タブの設定をする
    • エンコーダを「LAME MP3」,あとは規定の設定で問題ないと思います.
  4. 右側に「LAME MP3」というタブがあるので,ここでMP3の品質を設定する.
    • レートモードを「CBR」にして,ビットレートを192kくらいにしておけば十分だと思います.
  5. 下段左側の「ビデオ」タブの設定をする
    • モードを「Bitrate-based」にしてビットレートは低めにする.(100kbpsくらいかな・・)
    • 形式とコンテナを「Flash Video」にする.
  6. 下段左側の「画像」タブの設定をする.
    • リサイズにチェックを入れて「512*384」にする.
    • フレームレートをとりあえず24fpsくらいにする.(あまりfpsが低いと,アップロードする際にエンコードに失敗した,と表示されてアップできない事がある.)
  7. 「変換」メニューから,変換開始をクリック.


以上で,動画のビットレートは低めにして,高音質なflvが作成できます.
5分弱くらいのもので,12Mくらいのサイズになりました.