3DFFPlay

動画編集で有名なffmpegのダウンロードファイルの中にあるffplay.exeは、強力な3D動画プレーヤーになることがわかりましたが、コンソールアプリなので、いまいち使い勝手が良くありません。
そこで、ffplay.exeの3D関係の設定を簡単にするGUIベースのアプリ3Dffplayを作成しました。
3Dffplay.exeとffplay.exeを同じフォルダに格納し、3Dffplay.exeを起動します。メニューの設定で、入力のステレオ形式と出力のステレオ形式を指定し、再生したい3D動画もしくは、静止画をドラッグアンドドロップすると再生を始めます。
ほとんどのステレオ形式に対応しており、再生パフォーマンスもかなり高いプレーヤーです。
また、再生中は、キーボードやマウスで全画面表示、動画の一時停止や音量調整等ができます。



ダウンロード
3dffplay010.zip 3DFFPlay Ver0.1 2023/2/6 21kbyte

ffplay.exeのダウンロード
FFmpegの公式ページでは、ソースコードの配布しか行っていません。
Downloadボタンを押し、Windows実行ファイルとしてビルドされたファイルをダウンロードして下さい。
Downloadボタン -> Get packages & executable files(Windows) -> Windows builds by BtbN -> Latest Auto-Build -> ffmpeg-master-latest-win64-gpl.zip
2023/2/6時点では、https://github.com/BtbN/FFmpeg-Builds/releases にある"ffmpeg-master-latest-win64-gpl.zip"をダウンロードして下さい。
(ダウンロードリンクは変更される可能性がありますので、公式ページからのリンクを使う事をお勧めします)

事前準備
1. "ffmpeg-master-latest-win64-gpl.zip"を上述のサイトからダウンロードし、解凍する。
2. 解凍した中に"bin"というフォルダがあり、その中に、ffplay.exeがあるので、それを 3dffplay.exeと同じフォルダに格納する。
3. 3dffplay.exeを起動する。

使い方
1. 3dffplay.exeを起動すると以下の画面が表示される

赤枠で囲まれた所に、現在の設定が表示される
青枠で囲まれた所に、プレーヤー表示画面でのキーボード、マウス操作方法が表示される

1. メニュー→File→Settingでステレオ形式等を設定する。

・Launch in full screen : チェックすると全画面表示でプレーヤーが起動する
・Play Original Video : チェックすると3Dの入出力設定を無視し、単純に指定ファイルを再生する
・Set stereoscopic image format of input : 入力ファイルの3D形式をドロップダウンリストから選択する
・Set stereoscopic image format of output : 再生する3D形式をドロップダウンリストから選択する
・Error check mode : チェックするとffplay.exeの実行状況をコマンドプロンプト表示する。再生しない時の問題がある時は、ここをチェックすると、原因がある程度判ると思います。

2.ドラッグアンドドロップによる映像再生
3Dffplay.exeの起動画面に、映像ファイル(動画、静止画)をドラッグアンドドロップすると、プレーヤーが起動し、設定した条件で再生する。
再生中に別の映像ファイルを3Dffplay.exeの画面(再生画面ではありません)にドラッグアンドドロップすると、映像が新しい映像に切り替わります。
再生を終了したい場合は、再生画面の右上の閉じるボタンで閉じるか、全画面再生時は、ESCキーもしくは、Qキーを押して下さい。

3.メニューからの映像再生
File→Openで下記のダイアログが開きます。

再生したい映像を選択し、3D形式等を設定し、開くボタンを押すと、プレーヤーが起動し、設定した条件で再生する。

ffplay.exeのメリット
・H265のMP4動画再生等、対応する動画フォーマットの種類が豊富
・再生パフォーマンスが高い→低スペックのPCでも使える可能性がある

ffplay(ffmpeg)の3D関係の解説リンク
https://trac.ffmpeg.org/wiki/Stereoscopic
https://ffmpeg.org/ffmpeg-filters.html#stereo3d

既知の問題
3Dffplay.exeは、ffplay.exeという映像プレーヤーを起動しているだけなので、ffplay.exeの問題には、対応できません
現時点で判っているffplay.exeの問題には、以下の通りです。
1. Set stereoscopic image format of output を interleaved rowsにすると表示横幅が期待値の半分になる。
interleaved出力は、元映像サイズで表示しないと正しく表示されません。なので、例えば、フルHDに全画面表示する場合は、元画像をHalf A/Bで1920x1080で作成し、
input : A/B (注意:Half A/Bにすると横幅が半分になってしまいます)
output : interleaved rows
にすると正しく表示するようです。

2. 3DTV用に全画面でHalf SBS表示すると、中央寄せで表示されてしまう

3DTV用には、下のように表示してほしい


3. サブモニタから起動しても、全画面表示は常にプライマリモニタに表示されてしまう。
 マルチモニタ環境で使用する場合は、表示したい画面をプライマリに設定する必要がある。