2010/02/08(Mon)特定のFLVファイルをWinampで再生すると高負荷になる問題

2010/02/08 15:44 Software::Windows
動画・音楽再生アプリケーションはいくつか使い分けている私だが、その一つにWinampがある。
主としてはネトラジの再生用だが、普通にローカルのフォルダごとドロップして音楽を聴くためにも使っているが、表示が横長のバーにできるのが嬉しくて、セカンドディスプレイにタスクバーと同じ高さで表示しているのがちょうど便利でよい。

そんなWinampだが、特定のFLVファイルを再生するとCPUが100%に張り付いて*1マウスカーソルすらガクガクコマ飛びのようになるので、困っていた。
その解決方法Tips。

*1 : 正確にはマルチコアなので、1/コア数*100%分だが

原因

原因はどうやら、WinampにプリインストールされているFLV Decoder(Nullsoft Flash Video Decoder v1.01 [in_flv.dll])らしい。
ちなみに再生に問題があるファイルのコーデック情報は以下の通り。
FlashVideo 512x384 On2 VP6 23.00fps 683.94kb/s
MPEG1-LayerIII 44.10kHz 128.00kb/s CBR JointStereo
ちなみにFLVでも問題ないほうのコーデックはこちら。
FlashVideo 512x384 Sorenson H.263 23.00fps 76.91kb/s
MPEG1-LayerIII 44.10kHz 160.00kb/s CBR Stereo

なので、FLVだけ外部デコーダを利用してやることで解決できそうだと考えて設定したら解決した。

設定方法

設定方法は以下の通り。
  1. Winampのメインウィンドウで右クリックするか、タスクバー上で右クリックしWinampメニューを開く。
  2. [オプション(O)]-[設定(P)...]を開く。
  3. [プラグイン]-[入力]とツリーを辿る。
  4. "Nullsoft DirectShow Decoder v1.06 [in_dshow.dll]"をダブルクリックして、拡張子リストの末尾に";FLV"*2を追加して、閉じる。
これで外部のデコーダを利用するようになるので、後はffdshowなりを入れておけば充分。おすすめはCCCP。この中にffdshowも含まれている。

デフォルトではFLVを処理するようになっているが、上記の設定で再生されない場合は、[スタートメニュー]-[プログラム]-[Combined Community Codec Pack]-[Filters]-[FFDShow Video Decoder Configuration]と辿り、"Codecs"のページでVP6フォーマットが"livavcodec"になっているかを確認。

*2 : ダブルクオーテーションは含まない、セミコロンは必要