minfo
DirectShowを利用して再生するメディアプレーヤー。
学習目的なので機能の不備、不具合が満載です。
DirectShowのヘルプやサンプルを見ながら実装できそうな機能を試行錯誤しつつ実装しています。
ファイル情報欄は
- ファイルサイズ
- 長さ(秒)
- ビデオの大きさ
- 再生時に達成した平均フレームレート/作成時のフレームレート
- 描画したフレーム数/スキップしたフレーム数
- ビデオ レンダラに渡される連続フレーム間の平均時間 (ミリ秒)
フレームの目標レンダリング時間とレンダリングが実際に開始した時間の平均時間差
(ミリ秒)
フレームの目標レンダリング時間とレンダリングが実際に開始した時間の平均時間差(標準偏差)
(ミリ秒)
ミュートボタンの右は
- 現在のビデオのサイズ(幅と高さ)
- 現在のアスペクト比(幅÷高さの値)
- オリジナルのサイズ(幅と高さ)
目次
- ホイール操作でプレーヤーの拡大・縮小
- ビデオのアスペクト比をウィンドウに合わせて表示するオプション。
- ビデオ映像の静止画をキャプチャしてクリップボードへコピーする機能。
- リスト中のファイルのリネーム、移動、コピー、削除などのファイル操作機能。
- 他のプログラムへファイルを「送る」(ファイル名を渡して起動させる)機能。
- 終了時の再生位置を記録して次に起動するときに再現するレジュームオプション。
- メニュー表示、ツールバー、ショートカットのカスタマイズ機能。
対応メディア
このプログラムはDirectShowを利用しています。
再生可能なメディアは大体WindowsMediaPlayerと同じです。
WMPで再生できればこのプログラムでもOK(のはず)ということです。
ただし、CDは場合によってはエラーが出てしまうかもしれませんしDVDには対応していません。
amazonでダウンロードしたmp3ファイルも再生できるようになりました。
プレイリストはm3u、m3u8、pls、wplの読み込みと書き込みに対応しています。
ffdshowやFLVSplitter、MP4Splitterなどをインストールして利用すればDivXやflv、mp4などのファイルの再生も可能です。
flvファイルを再生させるにはffdshowとFLVSplitterをインストールし、ffdshowのビデオデコーダの設定でFLV1をONにすることで再生できます。
YouTubeの高画質モードのmp4ファイルはffdshowとMP4Splitterをインストールし、ffdshowのビデオデコーダの設定でH.264/AVCをONにし音声デコーダの設定でAACをONにすることで再生できます。
DivXはffdshowのインストールだけでいけます。
ビデオデコーダのDivX関連のコーデックをONにすることで再生できます。
詳しくはそれぞれ
をどうぞ。
動作環境
Windows XP SP3, Windows 7 SP1で動作確認。
Vistaではわかりませんが動くかも知れません。
95,98やmeでは動きません。
インストール
専用のフォルダを作りminfo.exeとsqlite3.dllの二つのファイルをコピーします。
設定ファイルを複数作るので専用のフォルダを作って下さい。
minfo.exeと同じフォルダには以下のファイルとフォルダが作られます。
- minfo.ini - 設定ファイル。
- minfo.library.sqlite3 - 読み込んだファイルのタグ情報を記録したデータベースファイル。
- minfo.resume.m3u8 - レジューム用のリストファイル。
- SendToフォルダ - 「送る」用のショートカットファイルをおくフォルダ。
- allow.duplication - 複数起動を許可するかどうかの判定用ファイル。
- minfo.exe.heapchecker.log - プログラムに不具合があった時に作られるログファイル。
レジストリにはビデオの表示を壁紙モードにしたときに壁紙の情報を書き込みます。
アンインストール
専用のフォルダごと削除します。
専用のフォルダを作らなかった場合は以下のファイルとフォルダを削除します。
- minfo.exe - 本体。
- sqlite3.dll - ライブラリ作成用のdllファイル。
- minfo.ini - 設定ファイル。
- minfo.library.sqlite3 - 読み込んだファイルのタグ情報を記録したデータベースファイル。
- minfo.resume.m3u8 - 前回終了時のリストを記録したプレイリスト。
- SendToフォルダ - 「送る」用のショートカットファイルをおくフォルダ。
- minfo.exe.heapchecker.log - プログラムに不具合があった時に作られるログファイル。
レジストリは壁紙ビデオモードでビデオを再生する場合に壁紙の情報を書き換えます。
それ以外にこのプログラムの設定情報をレジストリに持つことはありません。
minfo
minfo.exe 2012-06-20:Ver 0.17.36.225
sqlite3.dll
ファイルは圧縮していません。
ダウンロードしてそのまま実行できます。
ソースコード
ソースコードは公開しているというよりもバックアップ目的です。
なので見通しは悪いですしこれらとは別に共通ライブラリも全部ダウンロードしてセットアップしないとコンパイルできません。
- ウィンドウモードで動画を再生させる場合は問題ないと思いますが、壁紙モードで再生させる場合は下記の制限があります。
- 他のプレーヤーで動画を再生していると音は出ますが映像は出ません。
壁紙ビデオはオーバーレイというのを利用しているのですが、これが既に他のプレーヤーで利用されていると使えないためです。
- デスクトップだけでなく色の値で RGB が 16,0,16 の色の部分は他のウィンドウだろうが絵だろうが所かまわず映像が映ってしまいます。
16,0,16 の色のところに映像を映す(オーバーレイする)ということです。
- Windows 7ではエアロがオフになります。
- もしかしたらXPのSP2以降でないとだめなのかも知れません。
XPを再インストールしてみたらSP2を適用するまで表示できなくなっていたので。
- 2009年にネットブック(XP SP3)を買ったところ、他のプレーヤーでオーバーレイを使用して動画を再生していてもちゃんと壁紙ビデオとして再生できてしまいました。
最近のPCだと複数のプレーヤーで同時にオーバーレイが使えるようです。
私のネットブックでは2つ同時にオーバーレイ表示ができました。
このあたりはグラフィックのチップで変わってくるものなのでしょうか。
- ビデオの画像をキャプチャしてクリップボードへコピーする機能はffdshowのインストールが必須になります。
ffdshowのバージョンはffdshow_rev3760_20110218_clsid.exe以前のものである必要があります。
ダウンロード
ffdshow
ダウンロード - ffdshow - SourceForge.JP
http://sourceforge.jp/projects/ffdshow-tryout/releases/
64bit版や32bit版や過去の版など、えらい数のダウンロードファイルがありますがffdshow_rev3760_20110218_clsid.exe以前のものを選択して下さい。
2011-03-07以降のバージョンだとキャプチャできません。
- 非力なCPUで高解像度のビデオを再生した場合ビデオの表示が音声に追いつかず後れてしまうことがあります。
その結果表示しているフレームと時間にずれが生じます。
ビデオ映像のキャプチャは時間を基にしているため、そのような場合表示されているフレームとキャプチャされるフレームが食い違います。
ツールバー
詳細はこちら
メニュー
詳細はこちら
履歴
詳細はこちら