開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

ニコニコ動画用の動画をffmpegで用意する

 ニコニコ動画にアップロードする際、容量などを気にしないといけません。
 そのため圧縮率の高い効率的な動画を作りたいわけですが、いろんなソフトを使うのは面倒です。
 今回はffmpegコマンドを使って動画をニコニコ用にコンバートしてみました。

0. ffmpegの導入

 これは下記のページなどを参考にインストールしてください。

MacHomebrewを使う方法(玄人向け)
Mac OS XでFFmpegのインストールとWebM動画の作り方 - クジラ机ブログ

Macでバイナリを持ってくる方法(初心者向け)
MacOSX - MAC版のffmpegを使ってみた - Qiita

Windowsでパッケージ版を使用する方法(初心者向け)
音渦 windows での ffmpeg の使い方 (インストール編)

1. ffmpegを使う(1段目)

 今回ffmpegコマンドは2度用います。
 1回目で最適なコンバート方法を見出し、2回目で実行するとのことです。

 1回目は以下のようにコマンドを実行します。

ffmpeg -i "input.mp4" -vcodec libx264 -r 30 -b 1500k -s 512x288 -deinterlace -pass 1 -passlogfile "passlog" -an -y "upload.mp4"

 input.mp4にコンバート前の動画のファイル名を入力します。
 -r後の30はフレームレート(fps)です。ゲームなどでは30、あまり動かないものなら15とかでもOK。
 -s後は動画のピクセル値です。16x9なら512x288を、4x3なら512x384を指定します。
 -b後はビットレートです。この値が大きいほど高画質・大容量になります。一度試してみて、動画容量が大き過ぎたら500kぐらいに下げてみるのが良さそうです。

 これでpasslogファイルができ、動画コンバートの準備が整います。

2. ffmpegを使う(2段目)

 2回目は以下のようにコマンドを実行します。

ffmpeg -i "input.mp4" -vcodec libx264 -r 30 -b 1500k -s 512x288 -deinterlace -pass 2 -passlogfile "passlog" -acodec libvo_aacenc -ar 22050 -ab 64k -y "upload.mp4"

 input.mp4にコンバート前の動画のファイル名を入力します。1回目と同じです。
 -r``-s``-b共に1回目と同じ値を入力します。
 -acodecが音声の形式(のようなもの)です。とりあえずaacで良いかと思います。
 -arは音声のサンプリングレートです。より高音質にしたい場合は44100にします。
 -abは音声のビットレートです。より高音質にしたい場合は128kにします。

3. 動画をアップロードする

 プレミアム会員なら100Mバイト、一般会員なら40Mバイトの動画ファイルまで許容されています。
 ニコニコ動画|プレミアム会員の特典について
 この容量に収まればアップロードできます。

 ちなみに、ここに書いたコマンドで以下のような動画が出来ました。
 http://www.nicovideo.jp/watch/sm26942254:ttile
 ゲームのプレイ動画ですが、そこそこちゃんと見えるので満足です。