ffmpeg で OpenGL の表示が可能に

ffmpeg の OpenGL はこんなことができる

  • ffplay(sdl)で表示される色は圧縮レンジだが、opengl はフルレンジなので色の確認がしやすい
  • ffmpeg でレイアウトしたのを NLE , OBS, XSplit などで表示できる
  • NLE は 32bit ffmpeg しか読み込めない
  • OBS は 32bit, 64bit どちらも 32bit ffmpeg, 64bit ffmpeg  を読み込める
  • OBS は多重起動した opengl を区別して読み込めない
  • Dxtory, Xsplit は多重起動した opengl を区別して読み込める
  • ffmpeg から別の ffmpeg には渡せない
  • Dxtory は一瞬読み込めるだけで直ぐに映像が途切れる 途切れなくなってた 2015年1月30日追記
  • OpenGL が読み込むのは映像だけなので映像と音声が一致する映像を使う場合は音声の誤差を予め考慮する必要がある(0.02秒くらい)
  • 技術的には OBS の映像を OpenGL で出力して NLE 等で読み込ませることも可能になる
    これは OBS-MP で実現した。

ffmpeg の configure には、予め SDL をインストールする必要があり、ffplay をビルド出来る環境まで終えてから、ffmpeg の configure オプションに --enable-opengl を付ければ OpenGL 出力のできる ffmpeg が完成。再生させるときの注意点に入力ファイルのパス指定で日本語が含まれると読み込めないエラーになる。

動画再生コマンド
ffmpeg -re -i video -f opengl -

画像再生コマンド
ffmpeg -re -loop 1 -i img -vf fps=1 -vframes 100000 -pix_fmt rgb24 -f opengl -

画面左上にタイトルを付ける場合は "" で囲うとそれがタイトルになる。この場合はパイプ出力させない
ffmpeg -re -i video -f opengl "動画タイトル"

XSplit や Dxtory は動画タイトルを分けることで読み込み対象を区別しやすくできる。

入手先:FFmpegダウンロード お気に入りの動画を携帯で見よう 最新版を保存する。

実行には cmd.bat を実行し、入力ファイルのフルパスを指定する。

コメント

非公開コメント

プロフィール

ロベルト

お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab

広告リンク
Amazon
楽天市場

ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

当ブログは、Amazonアソシエイトに参加しています。