Active Direct Showを使った動画の再生について

ホーム フォーラム CF2.5使用法全般 Active Direct Showを使った動画の再生について

  • このトピックには3件の返信、2人の参加者があり、最後にASDにより5年前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #32949
    ZAKUII
    参加者

    お世話になります。

    Active Direct Showを使った動画の再生について質問があります。
    複数のフレームにそのオブジェクトを配置しそれぞれに動画を設定して、再生が終わったら次のフレームで再生、終わったらまた次のフレームに…という風に順番に表示したいのです。

    次のフレームに移行の時に動画画面が一瞬消えてから次の動画が表示されるのですが、この切り替えの部分を消えることなくシームレスに移行することはできませんでしょうか?

    また、複数フレームに同じオブジェクトを使いまわすことができれば可能なのだろうとも思いますが、そのようなことは可能でしょうか?

    #32955
    ASD
    キーマスター

    Direct Showオブジェクトによる動画再生は、PCにインストールされているコーデックに依存します。コーデックの性能、また実行するPCの性能にも左右されるでしょう。

    また、大前提として、次の動画を再生する際にはファイルの読み込み処理が入りますので、動画の解像度・ビットレート・ファイルサイズなどにより読み込みにかかる時間も変わると思います(もしかしたら動画再生の準備の為に一瞬真っ暗になるのは避けられないのかもしれません)。

    苦肉の策ではありますが、前の動画の最後のシーンを画像として次のフレームに表示しておき、次の動画が再生されるまでそれを見せて誤魔化すというのはどうでしょうか。

    グローバル化についてですが、オブジェクトのプロパティに『グローバルオブジェクト』や『グローバル化』などの項目が無いオブジェクトはグローバル化できません。

    #32960
    ZAKUII
    参加者

    回答ありがとうございました。
    そうですが、Direct Showオブジェクトはフレームを跨いで使用できないのですか…。
    わかりました。

    >苦肉の策ではありますが、前の動画の最後のシーンを画像として次のフレームに表示しておき、次の動画が再生されるまでそれを見せて誤魔化すというのはどうでしょうか。

    この方法は具体的にはどのように処理するのでしょうか?
    もしそのような方法で対応するとしたら再生する動画は固定ではないので、次のフレームに移行する瞬間にDirect Showオブジェクト内で表示されている画像を保存し、フレームが移行した後にアクティブオブジェクト等に取り込んで表示してから動画の処理に移るという手続きを踏むかと思われますが。

    #32961
    ASD
    キーマスター

    前フレームでの再生終了時にスクリーンキャプチャオブジェクトで画面を撮影します。次のフレーム開始時にアクティブピクチャにその画像を表示、動画再生が始まったら破壊して動画を見せます。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2019/05/cf25_blog_2019-05-02_ActiveDirectShowでシームレス再生しているように誤魔化す.zip

    ↑プロパティに再生したい動画を指定してください。再生終了時、mfaと同じ場所に『scr.bmp』を作成します。

    • この返信は5年前にASDが編集しました。
    • この返信は5年前にASDが編集しました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。