« 2010年5月 | トップページ | 2011年10月 »

2011年9月

2011年9月27日 (火)

ffdshow tryouts rev3765での出力色空間の削減とその影響

2011/11/22追記:
  ・ffdshow tryouts rev4054で、RGB24出力が復活したようです。 


少し古い話になりますが、2011/02/25にリリースされたffdshow tryouts revision 3765において、

  - Removed some never used colorspaces (使われない色空間を削除しました)

という変更がありました。(ffdshow tryoutsのChangelogを参照)

どう変わったのか、rev3765以前とrev3765以降の「ビデオデコーダーの設定→Decoder→出力」の欄を見てみましょう。

■rev3765以前

Beforerev3765

■rev3765以降

Afterrev3765

 
「サポートされた出力色空間」の部分を見ると、rev3765以前は10種類あった色空間が、rev3765以降では5種類に減らされています。

 ●削除された色空間
    I420/IYUV、YVYU、RGB24、RGB16、RGB15

 ●残された色空間
    YV12、NV12、YUY2、UYVY、RGB32

「VFWの設定」のほうでも同様なのですが、色空間の中でも特にRGB24が削除されてしまったことで、

  「ffdshow tryoutsを更新したら、これまで読み込めていたはずの動画ファイルが読み込めなくなってしまった」

という現象が発生することがあります。

例としては、MikuMikuDance(MMD)の「背景AVIの読み込み」が挙げられます。
「背景AVIの読み込み」はVFW(Video For Windows)の仕組みを利用して作られているのですが、
どうやらRGB24でのデコード要求をしてくるようで、RGB24でデコードできないと読み込み失敗となります。
つまり、ffdshow tryouts rev3765以降のVFWデコーダーは、「背景AVIの読み込み」では直接使えないことになります。

対処方法は以前書いた下記の記事のほうに追記しましたが、他のアプリケーションでも
似たような問題が起きる可能性があるので、気をつけたほうがよさそうです。

  MikuMikuDanceの背景AVI読み込みについて(関連:VFW入力とDirectShow入力): さまよう金の髭

 
しかし、なんでRGB24まで削除しちゃったんでしょうね。
「うちのVFWアプリケーションにも影響出たんだけど::」と悲しんでる外人さんもいたようです。

  SourceForge.net: ffdshow: Detail: 3309952 - Problem with VFW in rev > 3750

| | コメント (0) | トラックバック (0)

LAV Filters 0.35のインストール画面と設定画面のスクリーンショット

LAV Filters 0.35のインストール画面と設定画面のスクリーンショットを貼っておきます。
対応フォーマットや設定項目の確認などに役立てばいいなと。
LAV Filtersの導入については前の記事も参考になれば幸いです。

 ※注意・・・この記事に貼ってあるスクリーンショットは、全てデフォルト設定でインストールした時のものです。

長くなるのでたたんでおきます。

続きを読む "LAV Filters 0.35のインストール画面と設定画面のスクリーンショット"

| | コメント (0) | トラックバック (0)

LAV Filters 0.35を少しだけ試してみた

※2011/09/27 19:30追記
  記事公開直後、なんかMP4の再生(特に音声)がおかしいことに気づきました。
  MPC-HC 1.5.2.3456の内蔵スプリッタ+デコーダーで再生するとギリギリそれなりに再生できるものが、
  内蔵MP4スプリッタをやめてLAV Splitterにしただけで途切れたり遅延したりするようになります。
  デコーダーをffdshow tryoutsにすると更にひどくなりますが、こんなに負荷高かったっけか・・・?
  低スペックなうちの環境のせいかもしれませんが、Haaliに戻すことも含めて再検討中です・・・。

※2011/09/27 23:00追記
  ●その後色々試してみたところ、どうやら
     「LAV Splitterを使うと、CPU使用率が100%近くになった際に音声再生が破綻しやすい」
    という感じでした。音声が途切れたり同じ箇所の音声を何度か繰り返したりします。
    MPC-HC内蔵スプリッタやHaali Media Splitterを使った場合は音声が破綻しにくい感じなので、
    LAV Splitterのこの挙動が目立ったようです。
    設定か何かで改善できるのかもしれませんが、めぼしいところを変えてみても変化がありませんでした。
  ●ffdshow tryoutsの負荷が高かったのは、
     ◎MPC-HCのレンダラ指定でVMR7(renderless)を指定したため、
       ffdshow tryoutsのデコーダーでYUV→RGB32変換を実行し、VMR7にRGB32で渡していた。
     ◎おまけにrev3765で、「YV12からRGBへの高画質変換」がデフォルトで有効になったので
       それも影響して余計に負荷が高くなった?(今回最新のrev3984を導入)
    というのが原因だったようです。
    MPC-HCでレンダラの指定をVMR9(renderless)にしたところ、
    ffdshowからVMR9へYV12で渡すようになり、再生負荷は軽減されました。
  ●もしかすると間違ってるかもしれませんが、今の自分の知識ではこれが精一杯。
  ●そんなわけで、LAV Splitterの導入は当面やめることにし、Haali Media Splitterに戻すことにしました。
    うちのPCは、他のアプリを全て落としてMPC-HCだけにしても
    720p 25fpsのMP4すらまともに再生できないほど低スペックなので、
    LAV Splitterはあまり向かないようですね・・・。
    これもふまえて記事を修正しました。

=====以下、記事=======

最近動画関係のスレで「LAV Splitter」とか「LAV Filters」というのを
ちょくちょく見かけるので、ちょっと調べてみました。
下記のフォーラムからダウンロードすることができます。

  LAV Filters - DirectShow Media Splitter and Decoders - Doom9's Forum

書いてあるとおり、LAV Filtersはffmpegのライブラリ(libavformatなど)を使った
DirectShowのスプリッターとデコーダーのセットのようです。
現時点の最新版は2011/09/07のv0.35となっており、
以下の3つがセットになっています。(個別にインストールすることも可能)
  LAV Splitter
  LAV Video Decoder
  LAV Audio Decoder
要するにコーデックパックのようなものだと考えればよいでしょう。
MP4やFLV、MPEGなどを始めとする色々な種類のコンテナやコーデックをサポートしているので、
これ1つで大抵の動画をDirectShowで再生・読み込みできるようになります。
ただしDirectShowフィルタのみであり、VFW(VCM)コーデックなどは入っていません。
試しにインストールしてみたのですが、いくつか注意すべき点もあったので書いておきます。

■インストール前の動画再生関連の環境
  OS: WindowsXP 32bit SP3
  Haali Media Splitter
  ffdshow tryouts
  MPC-Standalone Filtersの「FLV Splitter(FLVSplitter.ax)」
  On2 Flix Proの「On2 Flv Splitter Filter(flvsplit.dll)」「On2 Video Decoder Filter(flvdecvp6.dll)」

  ※普段はMP4やFLVくらいしか再生しません。
  ※Haali Media Splitterは主にMP4やMPEG-TSのスプリッターとして利用。
  ※ffdshow tryoutsは、H.264/AVCとAACのビデオデコーダーと、一部のVFWデコーダーを使う程度。
  ※FLV関連のフィルタについては、こちらこちら の記事を参照。

■インストール前の作業
  色々と競合するとまずいかもしれないと思い、
     Haali Media Splitter
     ffdshow tryouts
  の2つはアンインストールしておきました。
  Haali Media Splitterについては、LAV Filters 0.35のzip版のreadme.txtに
     「アイツ(Haali)はおかしな方法で登録してやがるからな。
      (Haaliを)アンインストールするか、(Haaliの)axファイルをリネームしといてくれ。」
  と書いてあったので。
  FLV系のフィルタは、まあ大丈夫だろうと思い入れたままにしておきました。
  できればFLV系についてはOn2社のフィルタのほうを有効にしたかったので。
  (ffmpeg系のVP6デコーダーは、稀におかしなデコードをすることがあるようなので。)

■インストール
  インストーラー版(.exe)と、zip版(.zip)があります。
  インストーラー版では、
     ・インストール時に、処理させるコンテナやコーデックを選択することができる
     ・スタートメニューにプログラムグループが登録され、
      そこからスプリッターやデコーダーの設定を行なうことができる。
  という特徴があります。
  zip版ではバッチファイルでregsvr32を実行するだけです。システムフォルダ等へのコピーも行ないません。
  また、スタートメニューへの登録もないので、細かい設定などはどこでやればよいのかわかりませんでした。
  インストーラー版を使うのが無難なようです。

■結果
  確かに色々な動画を再生できるようになりました。
  とくに、QuickTimeの各種movファイルや、RealPlayerのRealMediaのファイルを
  DirectShowで再生・読み込みできるようになるのは、それらの動画を扱う人にとっては大きなメリットかもしれません。
  自分では扱わないのですが以前調べた感じでは、QuickTime AlternativeやReal Alternativeなど、
  ライセンス的にもなんだか怪しそうなもの(?)を使うしかなさそうな感じでした。それが不要になりますね。
  MPC-Standalone FiltersにもRealSplitter.axなどがあるようですが自分はよくわかってません。

  というか、QuickTime Alternativeなどを配布していた(?)、Codec Guideを見に行ってみたら、
  今年7月頃からLAV SplitterなどをK-Lite Codec Packに導入しており、
  QuickTime Alternativeなどのリンクは見当たらなくなっていました。
  (しばらく見に行ってなかったので、もっと前からなくなってたのかもしれませんが。)

いくつか気になった挙動については、以下で述べていきます。

続きを読む "LAV Filters 0.35を少しだけ試してみた"

| | コメント (0) | トラックバック (0)

2011年9月17日 (土)

AviUtlと拡張編集の小ネタ KENくんからの隠しメッセージ

AviUtlスレなどでは割と有名なようですが、AviUtlのバイナリには
作者であるKENくんからの隠しメッセージが含まれています。

例えば、現時点の最新版である「AviUtl 0.99j」の「aviutl.exe」をバイナリエディタで開き、
"Kenkun"で検索すると以下のようなメッセージを見つけることができます。
(うっかりバイナリを編集して保存してしまうとAviUtlが異常を起こす可能性があるので注意しましょう。)

      「萌える動画作ろうぜヽ(`Д´)ノ AviUtlはツンデレ仕様となっております(´・ω・`)」

Aviutl99j

 
実は、隠しメッセージは「拡張編集Plugin」にも含まれています。

続きを読む "AviUtlと拡張編集の小ネタ KENくんからの隠しメッセージ"

| | コメント (0) | トラックバック (0)

2011年9月16日 (金)

アニメキャラに自動でヒゲを描き足すNiVEサンプル

せっかくブログを復活させたので、少し前に作った動画の宣伝でも・・・。

タイトルどおりですね。
詳細は動画説明文に書いてますが、NiVE1とAnimeFaceプラグイン、BitmapBridgeプラグインを使い、
エクスプレッションで目と口、ヒゲの描画処理を記述しています。
まあぶっちゃけ以前書いた記事の焼き直しで、ヒゲを描く機能を追加しただけですw

AnimeFaceはそれなりに処理が重いので、私のPC環境ではこのアニマスPVを出力するのに9時間半かかりました。
まあ、CeleronM423(1GHz)、メモリ1.5GBという5年前のモバイルノートを使ってますから仕方ありませんね。
マルチコア?何それおいしいの?っていう感じですし。
最近妙にHDDが回ったり、しばらく処理が固まったりするようになったので、そろそろやばいかもしれません・・・。・゚・(ノ∀`)・゚・。

最後にアイマスヒゲ部コミュに新しい動画がきてたのでそちらの紹介もw

マディンPがニコニコ動画のアイマスヒゲ部コミュの生放送で作った絵をまとめたものです。
この人の「どんな絵にも自然にヒゲを描き足す程度の能力」はとても素晴らしいですw
なんでこんなになじんでるんだwww

| | コメント (0) | トラックバック (0)

2011年9月12日 (月)

AviUtl+拡張x264GuiEx v1.43でのニコニコ動画向けエンコード設定例

2012/5/30更新:
  ●x264guiEx v1.43向けに記事を更新しました。
    ファイルサイズ上限やビットレート上限のチェック機構など、
   便利な仕組みが色々と追加されています。
  ●H.264 Levelの指定は特にしなくてもいいやということで説明を削除しています。
    (元々の目的は--refの値が過大にならないよう抑制することでした。
    そのあたりをちゃんと注意していれば敢えてLevelを指定する必要はありません。)
  ●FlashPlayer 11.2では、ソフトウェアデコードの仕様が変わり、
    ハードウェアアクセラレーション有効時と同様に、
       「colormatrixを無視しBT.601で強制デコードする」
    という仕様になったようです。
    ただしまた仕様が変わることもあるかもしれないのでcolormatrixはつけておきましょう。
  ●設定の参考になるサイトへのリンクを追加しました。
  ●x264guiExには、作者のrigaya氏が作ったニコニコ動画向けプリセットが
    同梱されているので、それを使う場合の設定方法も書いてみました。
  ●記事の変更履歴が長くなったので下に移しました。 

----------------------------記事ここから----------------------------

この記事では、rigaya氏のAviUtl用プラグイン「拡張x264guiEx」を使った、
ニコニコ動画向けのエンコード設定の基本について説明します。

AviUtlを使ったMP4エンコードの方法については、ニコニコ動画まとめWikiの
「AviUtlを使ったMP4(H.264)エンコード」のページにまとめられていますが、
まあそれの簡易版といった位置づけです。

■説明に使用しているx264guiExのバージョンは、v1.43 (2012/5/24リリース)です。

■AviUtl本体は0.99k2以降が推奨されています。

x264.exeやmp4box.exeが古いままだと問題が起きることがあります。

  特にx264.exeはr1673以降が必須となりますが、
  --input-rangeなど、一部のオプションはr1673では動作しないので、
  x264guiEx_readme.txtで推奨されているr2184~r2200といった
  新しいバージョンを使うと良いでしょう。
  ニコニコ動画まとめWikiを見て、新しいものをダウンロードしておきましょう。

■基本的な設定を示しただけですので、細かい調整は各自で行なってください。
  このままでも割と綺麗にエンコードできますが画質など満足いかないこともあると思います。
  ただし、注意しないと正常に再生できない動画が出来上がることがあるので、
  以下のページを参考にして色々調べておきましょう。

    ●パラダイス☆ケンジ x264でのニコニコ動画用エンコードで注意すべき設定(AviUtl)

    ●拡張 x264 出力(GUI)Exの設定項目とその機能について - ニコニコ動画まとめwiki

    ●動画がおかしくなる方は大百科をクリック→とは - ニコニコ大百科

■「colormatrixをsmpte170mに。」について
  この設定とは別に、AviUtlの「設定→色変換の設定」の「出力」を、
  必ず「BT.601」に設定しておいてください。

  (AviUtlのデフォルト設定はBT.601になっていますので
   変えてなければ大丈夫だと思いますが。)


■最も基本的な設定を自分で行う場合

「x264」タブと音声,Muxの設定

X264guiex_1_43_mediumsetting

「フレーム」タブの設定

X264guiex_1_43_mediumsetting_framet




■x264guiExに付属している、ニコニコ動画向けのプリセットを利用する場合

X264guiex_1_43_presetsetting


 
この記事の過去の変更履歴

2011/11/3修正:
  ●H.264 Levelの設定内容を修正しました。(縦576未満は3.1、縦576以上は4.1を推奨)
  ●エコノミー動画では色が変わって見えてしまうことがあるという記述を追加しました。
  ●説明の追加にともない、設定画面のスクリーンショットをv1.13のものに更新しました。
    (まとめWikiにアップしたものをそのまま流用。)
  ●記事のタイトルも記事更新時の最新バージョンにあわせることにしました。(今回は1.13)
  ●例によってニコニコ動画まとめWikiに書いた内容と同じなので、そちらを見たほうがよいです。

2011/10/11修正:
  ●「H.264 Level」の設定が抜けていました。
    明示的に指定しないと、FlashPlayerのハードウェアアクセラレーション(GPU再生支援)が
    有効になっている場合に、映像が乱れることがあるようです。
    (ローカルに落としてDXVAで再生した場合も同様かも。)
    例によって自分の環境ではハードウェアアクセラレーションが効かないので未確認ですが・・・。
  ●説明の追加にともない、設定画面のスクリーンショットをv1.12のものに更新しました。
    (まとめWikiにアップしたものをそのまま流用。)
  ●ニコニコ動画まとめWikiの記述もv1.02以降の説明に更新されました。(というか更新しました。)

2011/09/23修正:
  ●colormatrixの指定の説明で「auto」や「bt709」にする例について書いていましたが、FlashPlayerは
     「ハードウェアアクセラレーションを有効にすると、colormatrixを無視し、
      解像度に関わらず強制的にBT.601でデコードする」
     「ハードウェアアクセラレーションを無効にすると、colormatrixを解釈するが、
      colormatrixが無い場合は解像度に関わらず強制的にBT.709でデコードする」

   という動作になっているそうです。(うちはハードウェアアクセラレーションが効かないので確認できませんが・・・)
   この仕様があるため、必ずBT.601でエンコードしたほうが良いようです。
   そのため
      ・colormatrixは必ず「smpte170m」にする
      ・AviUtlの「色空間の設定」の「出力」は「BT.601」にする

   というふうに説明を修正しました。
   詳しくは
      拡張 x264 出力(GUI)Exの設定項目とその機能について - ニコニコ動画まとめwiki
   のページを参照して下さい。4月頃からちゃんと書かれていたのですね・・・。見逃してました。

| | コメント (0) | トラックバック (0)

« 2010年5月 | トップページ | 2011年10月 »