Windows Media Player で動画.flv を再生する方法
「ffdshow」と「Flash Video decoders」をインストールする。
「ffdshow」導入手順
「ffdshow」とは何か
動画・音声フォーマットを圧縮・伸張するための DirectShow フィルターと VFW コーデック。 DirectShow フィルターとは、圧縮されたファイルを伸張するプログラムのこと。
ffdshow をインストールすると DirectShow・VFW に対応したメディアプレーヤーで ffdshow の機能(今回の場合 flv のデコード)が使用できるようになる。
「ffdshow」ダウンロード場所
フリーソフトなので、名前を検索エンジンで探せば見つかると思う。 k本的に無料ソフト・フリーソフト ffdshowから入手。
インストール方法
日本語対応のインストーラが用意されているので、インストーラの指示に従ってインストールするだけ。
コンポーネント・デコードするフォーマットの選択は必要に応じて決める。 コンポーネントは DirectShow フィルターと VFW インターフェースだけで良し。 (スタートメニューにショートカットメニューを追加しておけば) デコードするフォーマットはインストール後も簡単に変更可能。
なお、FLV1 形式のファイルは「ffdshow」をインストールしなくとも再生可能とのこと。 しかし、FLV4 形式のファイルを再生するには「ffdshow」が必要なのだそう。
「Flash Video decoders」導入手順
「Flash Video decoders」とは何か
「flv」形式の動画ファイルを再生するために必要な Directshow スプリッター&デコーダー。 Directshow スプリッターとは、動画を「映像」と「音声」に分離するプログラムのこと。 (動画は、再生時に「映像」と「音声」に分けられる)
Windows がデフォルトで分離できない動画フォーマット(FLV / MP4 等)のファイルを扱う際には、 特殊な Directshow スプリッターを導入する必要がある。
「Flash Video decoders」ダウンロード場所
フリーソフトなので、名前を検索エンジンで探せば見つかると思う。 k本的に無料ソフト・フリーソフト Flash Video decodersから入手可能。
インストール方法
- 解凍
- 「FLVSplitter.ax」をシステムフォルダ(デフォルトで「System32」という名前のフォルダ直下)に移動
- 解凍したフォルダ内にある「register.bat」を(Vista の場合右クリック→管理者として実行)実行する
- 「FLVSplitter.ax の DllRegisterServer は成功しました。」というダイアログが表示されればインストール完了
- ffdshow のコーデック設定画面で、「FLV1」を「libavcodec」に変更する
補足情報
「.bat」拡張子のファイルはバッチファイルと呼ばれるもので、 コマンドプロンプトで実行できる命令を「1命令1行毎」(for 文等複数行の命令は複数行で記述)に記述する。 バッチファイルを実行すれば、コマンドプロンプトでバッチファイル内に記述した命令を実行した場合と同じ処理が行われる。 中身はテキストなので、メモ帳で開けば、書かれている命令文を確認できる。
System32 フォルダは、OS の動作を制御するファイルが入っている場所。
DirectShow とは、Microsoft 社が提供する DirectX に含まれていた (2005 年 4 月に DirectX から除かれ、Windows SDK に含まれるようになった) 大容量のマルチメディアデータをストリーミング再生可能にする API のこと。
DirectX とは、動画・音声の再生制御(ハードウェアの制御)をアプリケーションソフトから“直接に”行えるようにする API 群。
VFW(Video for Windows)とは、Microsoft 社が提供する動画再生用 API のこと。(DirectShow の先達)
Windows SDK とは、Windows 用アプリケーションを作成する際に利用すると便利なプログラムやら文書やらの集まりのこと。
API(Application Program Interface)とは、アプリケーションから OS やミドルウェアの機能を利用する際の橋渡しを行う機能の集まり。 よく利用される機能を予めまとめておくことで、アプリケーション製作者のプログラミング作業が楽になる利点がある。 ファイル制御や画像処理の関数が代表例。
regsvr32 コマンドは COM コンポーネントをシステムに登録するために使う、Windows 付属のコンソールプログラム。 指定されたコンポーネント内の DllRegisterServer 関数を呼び出して、コンポーネントをシステムに登録する。 オプションに「-u」を付ければ(DllUnRegisterServer 関数を呼び出して)アンインストール。
COM とは Component Object Model の略。 Microsoft 社が提唱する、コンポーネント化されたプログラムを作成・利用するための基盤となる技術仕様。 この仕様に基づいてデータのやりとりができるコンポーネントのことを COM コンポーネントと呼ぶ。
上記文章中のコンポーネントとは、それぞれ特定の機能を持っているが、基本的に単体では使用できず、 他のプログラムと組み合わせて機能を実現・追加するために用いられるもの。(ソフトウェアコンポーネント)
DllRegisterServer(DllUnRegisterServer)関数とは、COM コンポーネントをシステムに登録(システムから解除)する命令群。 命令“群”といっても、10行ほどの命令文で作成できるもの。