mp4の動画が簡単に作成できて、かつ画像サイズ、フレームレート、画質等を自由に扱えるアプリケーション (できればフリーソフト) がないものか・・・・と色々探しまくり、私が辿り着いた方法を紹介したページです。

Windows で MP4 動画を作るには

携帯動画変換君を改造するのが手っ取り早いです。
この携帯動画変換君は、ほんの少しの改造でかなり自由なエンコードツールに早変わりします。

携帯動画変換君
携帯動画変換君
▲ドラッグ&ドロップするだけで、指定の形式へ動画変換出来ます。

どこを改造するのか

「携帯動画変換君」のフォルダの中を覗いてみます。
クリックすると大きい画像が見れます
▲クリックで拡大
「XXXXX.ini」という名前のイニシャルファイルを開くと、その中身はFFmpegのコマンドラインである事が分かります。

つまり、このイニシャルファイルを編集してしまえば、

mp4動画が作れるようになるのです!ヾ(*´∀`*)ノ

改造の一例

例えば「Transcoding_PC_H264.ini」の中の一文を、以下のように書き換えます。
わずかでもFFmpegや動画エンコードの知識があれば、解らない部分も推測でなんとかなる筈。

元のファイル

[Item0]
Title=QVGA標準画質最大30fps
TitleE=QVGA Normal quality30fps
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 30-i "<%InputFile%>" -title "<%Title%>"-timestamp "<%TimeStamp%>" -bitexact -vcodec h264 -coder1 -bufsize 128 -g 250 -s 320x240 -b 384 -acodec aac -ac 2 -ar 48000 -ab 64 -f mp4 "<%OutputFile%>.MP4""

↓青&赤い所を削除、下のオレンジに書き換え↓

書き換え後のファイル

[Item0]
Title=my大きさ指定なし 最大120fps
TitleE=VGAHigh quality 120fps
Command0=""<%AppPath%>\cores\ffmpeg" -y -maxfr 120-i "<%InputFile%>" -title "<%Title%>"-timestamp "<%TimeStamp%>" -bitexact -vcodec h264 -coder1 -bufsize 1024 -g 1000 -qscale 23 -acodec aac -ac 2 -ar 48000 -ab 64 -f mp4 "<%OutputFile%>.MP4""

※上記の変更ポイント


そして、再度セットアップして「携帯動画変換君」を立ち上げると。。。

携帯動画変換君
自分で設定したファイルが出てきました!

この状態の携帯動画変換君に「自分で作った動画」を放り込んでやれば、好きな大きさで、かつ最大120FPSまでの H.264 な MP4 動画が簡単に作成できるようになります。

自分で良く行うエンコード設定を何個でも登録できてしまうので、非常に便利です。

 

このページのメインとなる情報はここまでです。
以下はおまけ。(このページ初出時の戯言を整理したものです。)

当時 mp4エンコードツールを探していた経緯

当時はこんなコトで悩んでいました。

  1. CG動画を制作するには、Windowsでは やはりAviファイルで作るのが、一番お手軽である。
    • しかし、ブラウザで見ようとするとAviは結構曲者である。
  2. いざブログを書いてみると、どうしても1ページに5~6個動画サンプルを置きたくなるケースがある。
    • しかも保存する価値の無い、比較用の味も素っ気も無い動画だ。
    • ダウンロードするのではなく、ワンクリックで開いて見られるようにしたい。
  3. しかし、(恐らく)一番利用者の多い「Internet Explorer」では、Aviファイル直リンクでは再生されない。
    • かといって 埋め込みすれば重くなるし、読み込みに負荷がかかり過ぎる。
    • Xvid、DivXなどを使うと、そんなのインストールしたくないよ!ってな人も出てくるだろう。
  4. Aviにすると、Macな人が再生するのに大変そうだ
    • 会社にはMacがあり、Xvidを再生もエンコードも出来るようにしてみた。しかしMacの場合ブラウザ上で再生させる方法がわからなかった。
  5. と、ゆーワケで次の候補を考えた。
    • それが「h264でエンコしてmp4動画ファイルにする」である。

今時、iTuneなら誰でも持っているだろう。コレなら誰でも再生でき、ほぼ全てのブラウザが対応する。やはりこれからの主流はmp4かもしれない。

2007年時点での問題

mp4エンコードには壁があった。当時は、mp4にエンコードできるソフトが限られてしまっていたのだ。大別して

の3種類しか見つからない。
簡単に使えて自由度の高いツールはなかなか見つからないのだ。

簡単にMP4動画作れるツールは沢山存在する。しかし、『携帯、PSP、iPodで再生できるフォーマットに変換』を目的としたものばかりで、自由度が無い。
256X192 や 448x336 の動画作りたい!とか、60FPSにしたい!って要望に応えてくれないのだ。

H264-MP4を使った動画産業は今、まさしく急成長をしようとしている分野だ。そう簡単にホビーユースで万能なツールは出てこないだろうと、ブログ立ち上げの際は動画のMP4化は諦めてスタートした。しかし、ブログ開設3週間目にして、早くも「やはりMP4が必要だ」という考えに至ってしまった。

うーむ、何かお手軽なエンコードツールはない物か・・・・

FFmpegにたどり着いた。

このページを投稿する2日ほど前から、FFmpegの勉強を開始した。

しかしFFmpegは「コマンドラインで作動させる」エンコードツール。
2007年当時は コンパイル済みのffmpeg.exe を配布する有志も少なく、自分でコンパイルする必要があった。万能だが実に面倒臭いシロモノである。当時の私にとっては今更お近づきになりたくない分野のモノだった。

うーむ。何とかして FFmpeg を楽に使えないものだろうか。

そして、ここからヒントをもらった

机上の空論 (http://blog.livedoor.jp/moro_tyo/archives/50621502.html) というサイトを見つけた。
ここにヒントが書いてあったのだ。

※サイト消失していたので、該当箇所をまるっと転載

FFmpeg とはオープンソースで開発されている動画エンコーディングパッケージである。動画のエンコーディング/コーデック変換をする ffmpeg、動画再生をする ffplay、動画配信のためのサーバーである ffserver を提供する。
http://ffmpeg.mplayerhq.hu/index.html

ffmpeg の利点

  • エンコードが速く、対応フォーマットも多い。
  • コマンドラインから使えるために自作のアプリケーションから呼び出して使える。
     ("携帯動画変換君"や"Riva FLV Encoder"の中でも使われている。)
  • 動画のエンコーディング/デコーディングを担当するライブラリである libavcodec も直接利用可能。

参考 : http://megaui.net/oss4art/wiki/FFmpeg
    http://www.xucker.jpn.org/pc/ffmpeg_install.html


試しに使ってみた。
自分でコンパイルするのが面倒なので、"携帯動画変換君"をダウンロードして、その中から ffmpeg.exe を引っこ抜いてきた。

コマンドラインで
ffmpeg -i input.avi -f mov output.mov
と入力。
avi形式である input.avi を mov形式の output.mov に変換できた。
うおー!
参考 : http://www.nurs.or.jp/~calcium/wiki/index.php?ffmpeg%20usage

でも、wmv → avi に変換しようとしたら、エラーが起きて実行できなかった。
どうやら、パラメータとかちゃんと指定してやらないといけないらしい?

この中の、以下の一文に目が止まった。

自分でコンパイルするのが面倒なので、"携帯動画変換君"をダウンロードして、その中から ffmpeg.exe を引っこ抜いてきた。

その中から ffmpeg.exe を引っこ抜く・・・・

その中から ffmpeg.exe を引っこ抜く・・・・?

その中から ffmpeg.exe を引っこ抜く!

書いてある内容とは全く逆のお話になってしまうが、ここから「引っこ抜いた ffmpeg が使えるのなら、その逆で 携帯動画変換君 に ffmpeg のパラメータを持ち込めれば私の場合はOKなんじゃない?」という発想に至った。

と言う訳で、携帯動画変換君の改造に至った。
既にアップした動画をすべてmp4で作り直し、それに対応して色々ページ修正。今後このブログに置く動画サンプルは、当面の間は上記方法で作成したmp4動画になる予定。