RSSフィード:

前回まで日刊VOCALOIDランキングをどのように制作していたかを紹介しました。
前回紹介した3日間の作業の結果、なんとかランキングらしいものが完成したのですが、
それを試作品とはせずにいきなり本番(第1回)としてしまいました。
第1回が完成したのは25時でした。集計は18時でしたので、
7時間かかったことになります。

第1回目の時点で細かなところで手動操作の必要な部分がいくつかありましたので、
第2回目以降で少しずつ自動化を進めていきました。
第2回目以降の動画投稿時間を見ますと、約22時、21時、19時と
段々と早くなっており、少しずつ改善されているのが分かります。
一度ランキングを公開してしまうと休むことはできないので、
制作や自動化の作業は大変でした。システムが完全な状態になってから公開したほうが
よかったかもしれません。

日刊を作るまでは動画作成経験がありませんでした。色々な失敗があり、
今から思えばもっとうまくできたと思うところがたくさんあります。
第1回目を午前1時に公開して、午前7時くらいにどのくらい再生されているか
チェックしたのですが、なんと再生がたったの1しかなくて、かなりあせりました。
当時は1コメ(最初に自分でコメントを入れる)をしないと新着動画として
表示されないことを知らず、また、タグを自分でつけなかったので
検索に引っかからなかったからです。
このままでは誰にも見てもらえないと不安になりましたが、
その日の夕方にもう一度見てみると500再生ほどされていたので少し安心しました。
1週間後には2,000再生ほどになってました。
しかし、週刊VOCALOIDランキングが5~6万再生、2つある月刊は両方とも当時は
1万再生程度ありましたので、日刊も1万再生くらいいくと考えていたのですが、
現実は2,000~3,000再生程度(当時)だったのは見込み違いでした。

by rankingloid

これまでのプログラムの動作をまとめると、

ランキングデータ等の準備(C# 自作プログラム)

音声データ、画像サムネイルの抜き出し(FFmpeg)

ランキングデータ、画像からランキング本編画面(画像)の作成(C# 自作プログラム)

画像、音声から動画を生成(Slide Show Movie Maker をUWSCで自動操作)

エンコード

アップロード(最初の半月は手動)

となります。

エンコードは通常の方法と同じです。エンコードの知識は全く無かったので、
ニコニコ動画まとめwikiに書かれている方法をそのまま用いました。
エンコーダはコマンドラインから実行できるので、自動操作は簡単です。

上の動作の1つ1つはそれぞれボタン1つで実行可能なようにしました。
プログラミングにかかった時間は2月の3連休の3日間だけですので、
それほど多くの時間はかかっていません。この後これらを全自動でできるようにし、
さらにニコニコ動画の仕様変更に対応していく方がむしろ大変だったりしたのですが、
その話は後日書きます。

というわけで、3連休の最終日の夜に第1回目の日刊VOCALOIDランキングが完成しました。
いよいよ公開です。

by rankingloid

ランキングデータの集計は、当時公開されているプログラムがなかったので、
自分でプログラムを書いて行う必要がありました。当時は「毎時間更新のデイリーランキング」が
あったので、そのランキングの18時更新分のデータを集計して使います。
プログラムでやることは、ランキングページのHTMLを取得し、タイトルや投稿日時、再生数、
コメント数、マイリスト数の数値などの情報を抜き出す処理です。
これらの処理はプログラミング言語C#でコーディングすることにしました。
C#の経験はこれまでほとんどなかったので、その勉強も兼ねていました。
Visual Studio .NET 2008(Express Edition)は無料で手に入る開発環境で、
自動インデントや、コード補完(インテリセンス)、デバッグ機能など、無料とは思えない便利な
機能がたくさんあります。C#で本格的なプログラムを書いたのは初めてですが、
Web接続(ランキングページ取得)や文字列処理など、Google で情報を検索しつつ、
なんとか書くことができました。

ランキング画面にタイトルや再生数などのポイント情報を表示するのは、
C#.NET の画像ライブラリを用いることにしました。.NET の画像ライブラリは非常に扱いやすく、
初心者の私でも画像生成が簡単にできました。たとえば、このようなコードが
書けます(一部省略してあります)。プログラミングを知らない人は雰囲気だけご覧ください。


※クリックで拡大します



静止画ですが、このようにしてランキング紹介部分が生成できました。

by rankingloid

日刊VOCALOIDランキングを自動化するにあたり、シーンの選択(どの部分を切り取るか)は
重要な課題でした。ですがここは何も考えず、60秒~80秒の位置を機械的に切り取ることにし、
後々に改良していくことにしました。60秒~80秒を選んだのも半分適当で、サビがくるのは
この辺りだろうということで、検証もせずに決めました。これが意外とうまく紹介できている様で
(できていないときもありますが)、2年近くたった今でもこの方式のまま変えずにきています。
そろそろ改良しようと思っているのですが、なかなか良い方法が思いつきません。


動画・音声の変換は初期の頃からずっと FFmpeg を使っています。
このソフトは様々な動画・音声形式を指定した形式に変換してくれます。
ありがたいことにオープンソースとして公開されていて、もちろん無料で使えます。
ただ、ソフト公式サイトではプログラム本体が配布されておらず、ソースコードだけが置いているため、
自分でソースコードをコンパイルするか、別の非公式配布サイトを見つけて入手する必要があります
(ライセンス的にこれは問題ありません)。このソフトの便利なところは、
コマンドラインから呼び出して使う形式なので、自動制御するのが非常に楽であることです。


たとえば、動画ファイルから音声を抜き出して、サンプリングレートを44,100Hzに変換し、
60秒から20秒間切り取るには、以下のコマンドを実行します。


ffmpeg -i video.flv -vn -acodec pcm_s16le -ar 44100 -ss 60 -t 20 output.wav


前回紹介した Slide Show Movie Maker では動画を扱うことはできないので、
ランクインした動画は70秒の地点を静止画で紹介することにしました。
動画ファイルから70秒の地点の画像を抜き出し、サイズを416×312に変更するには、
以下のコマンドを実行します。


ffmpeg -i video.flv -f mjpeg -ss 70 -vframes 1 -s 416×312 -an output.jpg


このように、FFmpeg はいろいろと細かなオプションを指定できるプログラムです。


by rankingloid

あけましておめでとうございます。
今年もよろしくお願いいたします。

昨年は大きな活動は出来ませんでいたが、
今年は皆様に楽しいものをお見せできるように頑張って行きたいと思います。
次回活動についても近いうちにお知らせしたいと思いますので、
2010年もニコニコ放送局をよろしくお願いたします。


さて、ニコニコでは年末年始にかけて数多くのランキング動画が公開されています。
正月はランキング動画でのんびり2009年を振り返って見ては如何でしょうか。


2010年も各ランキング動画をよろしくお願いします。

by NICOID

Page 1 of 1312345...Last »