任务单 #34198

Media FoundationもしくはDirectShowへの対応

开放日期: 2014-08-19 01:56 最后更新: 2015-12-13 18:20

报告人:
属主:
状态:
关闭
组件:
优先:
6
严重性:
5 - Medium
处理结果:
Accepted
文件:
4
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

現状、動画再生はVideo for Windowsのみの対応となっているが、すでにこれに対応していないcodecが増えてきている。また、この方式での動画再生はシステム負荷が大きく、解像度が大きくなると十分な性能を維持できない。

そのため、Media FoundationもしくはDirectShowでの動画再生に対応し、codec対応の強化と、再生性能の改善を行う。

任务单历史 (3/78 Histories)

2014-08-19 01:56 Updated by: yyagi
  • New Ticket "Media FoundationもしくはDirectShowへの対応" created
2015-01-05 02:22 Updated by: yyagi
  • 优先 Update from 5 - Medium to 6
评论

再生負荷低減と、VfWサポートがやばくなってきていることから、そろそろちゃんと対応したい。優先度を5→6に変更した。

2015-10-31 04:16 Updated by: chnmr0
  • 属主 Update from (无) to chnmr0
2015-10-31 11:46 Updated by: kairera0467
评论

Ver.Kのほうで行った、FDKのDirectShow機能を使用するまでの手順を書いておきます。
<使用手順>
1.DLLを入れる。
2.「DTXManiaGR.exe.x86.manifest」の内容を書き換える(Ver.Kでは以下のとおり)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="FDK.MemoryRenderer" version="1.0.0.0"></assemblyIdentity>
</dependentAssembly>
</dependency>

</assembly>
3.「DirectShowLib-2005.dll」を参照に追加する(これはもう終わってたかも)

2015-10-31 12:18 Updated by: chnmr0
评论

ありがとうございます。

どうやら DirectShow の機能は呼び出せているようです。

2015-10-31 19:00 Updated by: chnmr0
评论

rev. 867 で DirectShow で再生するためのクラスを追加しました。

2015-10-31 19:18 Updated by: yyagi
评论

DShow対応お疲れ様です。 下記のファイルあたりもコミットしていただけますと幸いです。 (「CAVIDSクラスが見つからない」エラーになってビルドできなかったです)

DTXManiaプロジェクト/DTXManiaGR.exe.manifest
DTXManiaプロジェクト/DTXManiaソリューション.sln
DTXManiaプロジェクト/DTXManiaソリューション.csproj
FDK17プロジェクト/FDK19.csproj

2015-10-31 20:18 Updated by: chnmr0
评论

申し訳ありません。

追加し忘れてました。

(FDK.csproj のみの変更です)

2015-11-02 19:04 Updated by: chnmr0
评论

すみません、超重いのでMFで組んでみます。

2015-11-05 23:11 Updated by: chnmr0
评论

rev. 869-870

結果的に DShow で実装する運びとなりました。

カクカクしないようになったと思います。

2015-11-08 16:15 Updated by: yyagi
评论

DirectShowへの対応、お疲れ様でした。ありがとうございます。

さっそく試してみたのですが、

  • 一部演奏データで、動画が黒画面になります。まあこれはフィルタ対応の関係なのかなと思うのですが・・・
  • 一部演奏データで、演奏開始されないものがあります。(Nowloadingが終わったのち、演奏画面が表示されずに黒画面のままずっと待たされる)

どちらも、ログでは「ピンが接続されていないので、操作は実行できません。」という例外になっているようでした。ですが、GraphEdit上では、ピンは接続されています。(後で画像添付します)

こちらでも原因を調査してみますが、すみませんがそちらでも確認いただけないでしょうか。 NGデータ2つを、以前使ったOneDriveフォルダ経由でお送りします。 (片方は私がベンチマーク用に作ったものです。このデータを使った性能確認は以前このスレッドで行っています: https://osdn.jp/ticket/browse.php?group_id=5350&tid=32435 )

2015-11-08 16:30 Updated by: chnmr0
评论

了解です。

こちらで原因を調べてみます。

2015-11-09 21:49 Updated by: chnmr0
评论

私のビルド環境ではいただいたデータで動画が映りました。

バイナリのコミット漏れと思われますので rev. 871 で追加いたしました。

(初歩的なミスが続いて申し訳ないです・・・)

2015-11-10 01:48 Updated by: yyagi
评论

残念ながら、いただいたバイナリを使用しても、こちらでは現象が改善しませんでした。 (oolのBGA領域の動画再生はOKですが、oolのフル背景再生の方はNG)

こちらで動作確認した限りでは、どうも、黒画面停止する際には、CDTXMania.csのDrawループのhis.tガベージコレクションを実行する(); (1121行目付近) で帰ってこなくなるようです。

試しに当該メソッドの中身を無効化したところ、動画は黒画面ながら演奏画面に進んでプレイでいるようにはなりました。

ということは・・・うーん、どこかでリークしてますね。ちょっと大変そうです。

2015-11-10 12:08 Updated by: chnmr0
评论

どういう仕組みでブロックされるか分かってないのですが、

CAviDSのコンストラクタで

FilterGraphNoThreadのインスタンスを生成している(53行目)処理があるのですが、

これをFilterGraphのインスタンスを生成するように変更して確認いただけますか?

2015-11-10 16:33 Updated by: yyagi
评论

ご指摘の通りにインスタンス生成を変更することで、ブロック現象がなくなり、演奏画面に遷移するようになりました。ありがとうございます。

NoThreadだと、Disposeがらみで何かおかしくなっていたようですね。 (とはいえ、現象発生時に Dispose()や~CAviDS()への呼び出しはきてなかったようなので、まだちょっと謎ではあります。)

いずれにせよ、固まる現象はなくなりましたので、アプリとしての問題はなくなったと思います(たぶん)。 あとは私の環境の問題ということになるのですが・・・ GraphEditではピン接続ができているので、CDirectShow周りから順に追いかけてみます。

2015-11-10 18:45 Updated by: yyagi
评论

当方のcodec環境を再構築することにより、ピン接続に失敗する現象がなくなりました。

更に、元のNoThreadの方のインスタンスを生成するようにしても、ブロックの問題が発生しなくなりました。

完全にこちらの環境依存の問題だったようです。お騒がせしてしまい申し訳ございませんでした。

2015-11-10 19:22 Updated by: yyagi
评论

なお、私の環境では、性能的には、VfWと比較して、ざっくり50%程度、FPSが向上しているようです。

ただ、FullHD動画は60fpsに届かず。40-50fps程度にとどまっています。(VfWだと10-30fpsでしたけどね)

他の方にも、動作確認していただきましょう。パッケージを用意します。

2015-11-10 19:39 Updated by: yyagi
评论

みなさま、chnmr0さんのDirectShow対応版の動作確認をお願いいたします。

https://osdn.jp/users/yyagi/pf/DTXMania_TestBuilds/files/?action=simple_list

の、DTXManiaGR_DirectShow.zip です。

動画がうまく表示されない場合は、同じところに 手動による個別セットアップ.zip を置いてますので、これを参考にしてみてください。(100%この通りに作業する必要はありませんが、参考になると思います)

私のところでは、これで背景動画の描画性能が50%程度改善しました。

2015-11-10 20:25 Updated by: chnmr0
评论

コーデックまわりを調整しないとダメなのですね・・・(私の環境では逆に、VfWが動いてませんでした)

FilterGraphNoThread についてですが、試しに変えたものをコミット前に戻すのを忘れておりました。申し訳ありません。

MSDN によると NoThread のグラフは、アプリケーションスレッドでメッセージを処理する必要があり さもないとデッドロックの危険がある、とのことです。なぜか動きましたが・・・。

DTXM では FilterGraph を使用するほうが適切と思います。

2015-11-10 21:02 Updated by: chnmr0
评论

テスト用パッチもありがとうございます。

ちなみに私のほうでは FHD動画背景再生 で127 fps 前後でした。

2015-11-10 21:03 Updated by: koh-hey
评论

動作確認をしました。Win7のPC と Win8.1のPC の二台で確認しましたが、

Win8.1のほうは無事動作しました。動作良好です。

Win7のほうが、動画ありの譜面が動作しません。曲を選択した後、演奏画面に入る前のタイミングで 画面黒で固まってしまいます。BGA領域の動画と、背景動画ともにだめでした。動画なしの譜面は動作します。確認した方がよい箇所とかあったら教えてください。同じ環境で、ver103は問題なく動作しています。

私、動画再生しながらプレイしたい派なので、今回のDirectShow対応は本当にうれしいです。正式リリースが楽しみです ^ ^

2015-11-10 21:36 Updated by: yyagi
评论

koh-heyさん:

Win7のほうが、動画ありの譜面が動作しません。曲を選択した後、演奏画面に入る前のタイミングで 画面黒で固まってしまいます。

まず、固まる現象については、対策版に置き換えました。すみませんが、再度DLいただけませんか。 (chnmr0さん: FilterGraphNoThread を FilterGraph にした版です)

動画が出ない時の確認ポイントは、こんなところでしょうか。(私が今回同じ問題に遭遇して、実際にやったことです):

1. ffdshow と DivX(正式な奴) の両方が入っていたら、DiVXをアンインストールする

2. ffdshow を最新版にする

3. ffdshow のDIrectShowのcodec設定で、デコーダーを片っ端からlivavcodecにする

4. Win7以降の場合、 Win7DSFilterTweakerで、MSのcodecを使わないように設定する

私は1,2で改善しました。2-4の詳細は、「手動による個別セットアップ.zip 」を見てください。

あと、私の環境情報です。ご参考まで。

  • Win8.1 x64
  • CPU: Core I7-4770T 2.5GHz (Haswell)
  • Graph: CPU内蔵グラフ
  • メモリ: 16GB
  • サウンド: Roland DUO-CAPTURE (USBオーディオ)
  • モニタ: 1920x1200 DVI-D接続
2015-11-10 22:40 Updated by: koh-hey
评论

取り急ぎご報告いたします。置き換え版で、Win7のPCで曲選択後に固まる症状はなくなりました。

それから最初は動画が表示されませんでしたが、yyagiさんの提示していただいた1. DivX正式なやつをアンインストールする、をおこなったところ動画が表示されるようになりました。Win8.1のPCのほうにはDivXは入れてなかったので最初から問題なく動画再生されたのかな。 ffdshow はv1.3.45152013-06-12が入っていました。(Win7のPC) 手動による個別セットアップ は以前にSSTのサイトを参照してやりました。

以上取り急ぎ。細かなレポはまた後ほど投稿します。

2015-11-10 22:59 Updated by: from
评论

お疲れ様です。

当方 Win10 Pro x64

起動しないしログもエラーも出ません orz

2015-11-10 23:25 Updated by: yyagi
评论

fromさん: うそーん。大変恐縮ですが、試しに、VS2013のVC++ランタイムをインストールなさって、再確認いただけませんか。(dllフォルダ下に当該ランタイムは入れてはいるのですが、念のためということで。しかしながら、起動しない現象の原因はこれしか思いつかないです)

私のところでは、Win10 Pro x64で起動でき、動画再生もできています。(Surface Pro 2)

chnmr0さん、みなさん: 当方の性能情報を修正します。FHDが60fpsに届かない現象は、Debugビルド版でのものでした。Releaseビルド版では、75fps前後出ています。VSyncWait=ONで常時60fpsが出て、非常に感動しています。 (黒画面で固まる問題の対策としてお出ししたモジュールは、Releaseビルド版です)

1件、問題を見つけました。動画再生ありのDTXで、演奏中にShift+F1を押してポーズをかけても、動画再生だけどんどん先に進んでしまうようです。ポーズ解除しても、動画は進みっぱなしのまま。

2015-11-10 23:40 Updated by: from
评论

yyagi への返信

fromさん: うそーん。大変恐縮ですが、試しに、VS2013のVC++ランタイムをインストールなさって、再確認いただけませんか。(dllフォルダ下に当該ランタイムは入れてはいるのですが、念のためということで。しかしながら、起動しない現象の原因はこれしか思いつかないです) 私のところでは、Win10 Pro x64で起動でき、動画再生もできています。(Surface Pro 2)

うーん。変わりませんね……。

なお、SVNリポジトリから取得してビルドしたDTXManiaはちゃんと起動しています(汗

2015-11-10 23:55 Updated by: koh-hey
评论

DTXManiaGR.exe.config がないから、とかじゃないですかね。それくらいわかってるよ!だったらすみません

2015-11-11 00:03 Updated by: from
评论

dll フォルダの中身を exe と同じ場所にコピーしたら、無事起動しました。

そしてFHDのaviなんて持ってないことに気付きました。

さすがに .mp4 は再生できないのね orz

2015-11-11 00:05 Updated by: yyagi
评论

fromさん:

パッケージを再確認したところ、exe.configが消えていますね・・・。すみません。

zipを作り直しましたのでご確認ください。DTXManiaGR_DirectShow2.zip という名前にしました。

2015-11-11 00:06 Updated by: from
评论

ただいまAVIに変換中……

動画以外では、

  • Shift+F1 で停止してから再開すると、音ズレがひどくなりました。
2015-11-11 00:08 Updated by: yyagi
评论

fromさん、

性能確認には、以前使った http://27.120.112.19/arc/DTXMania098(131101)FullHD_20131130_bgmovie.zip この中のデータを使ってくださいませ。

2015-11-11 00:22 Updated by: koh-hey
评论

20131130_bgmovie.zipの中のデータって、CASIOPEA VSというデータですよね?私ネットの回線遅くって、すぐにダウンロードして確認できないんですが、 私 以前もってきたCASIOPEA VSのデータで動作確認をしまして以下のような感じでした。

①Win7 Pro 64bit Core i7-2640M 2.80GHz(Sandy Bridge) メモリ8GB ちなみにLCD解像度は1366x768

→ HD 60fps 6Mbpsのデータで動作確認をしました。 ver103はfpsが最も低い時で1桁まで落ちるのに対し、DirectShow版は 30fpsくらいまででした。

②Win8.1 Pro 64bit Core i5-4210U 2.4GHz(Haswell) メモリ 8GB LCD解像度 1920x1080

→ HD 60fps 6Mbpsのデータで動作確認をしました。 ver103は最も低い時 fps 10くらいまで落ちるのに対し、DirectShow版は 50fpsくらいまででした。こちらは多少がたがたする時があるものの、プレイすることができるレベルでした。

私の環境では、DirectShow版で HD/FHDの動画が完全にスイスイ動くというわけではありませんでしたが、劇的な効果がありました。

2015-11-11 00:26 Updated by: from
评论

yyagi への返信

性能確認には、以前使った http://27.120.112.19/arc/DTXMania098(131101)FullHD_20131130_bgmovie.zip この中のデータを使ってくださいませ。

あああ、やっぱりそれでしたか。

クリックしてみてもDLが始まらなかったので中断してしまってました(汗

……ということで、

頂いたカノスク(略すな)と、せっかくなので変換したAVI(MPEG-4/AVC音声無し・フルHD・30fps・2507kbps)を使って、全画面動画でオートプレイしてみました。

どちらも 45fps でした。泣いていいですか。

スペックは以下の通りです。

  • OS: Win10 Pro x64
  • CPU: AMD PhenomII X6-1090T 3.20GHz
  • ビデオ: AMD Radeon HD 6670 (PCI Ex2.1) GDDR5 1GB
  • RAM: 8GB
  • サウンド: オンボード (Realtek HD Audio)
  • モニタ: 2560x1440 DVI-D接続
2015-11-11 01:01 Updated by: koh-hey
评论

あと、DTXCreatorで要望がありまして、3つチケットを作成させていただきました。

あまり要望を連発してもいけないかなーと思っていたんですが、そのうち次のバージョンがリリースされるかもしれない、リリースの後に要望になるのもタイミング的に悪いと思い(このタイミングで言うなよ的な)、今チケット作成させていただきました。

致命的な問題ではないと思うのでそのうち対応していただければと思います。

2015-11-11 21:33 Updated by: chnmr0
评论

rev. 874:一時停止機能とビットマップ転送の並列化を行いました。

127 fps から 256 fps 前後まで高速化されましたが・・・どうでしょうか。

もしかすると環境によってはかえって遅くなってしまうかもしれません。

私の環境は OS: Win 10 Pro x64 CPU: i7-4790K @ 4.00 GHz グラボ: GTX 750Ti RAM: 16GB モニタ: 1920 x 1080 HDMI です。

2015-11-11 23:30 Updated by: from
评论

chnmr0 への返信

rev. 874:一時停止機能とビットマップ転送の並列化を行いました。 127 fps から 256 fps 前後まで高速化されましたが・・・どうでしょうか。 もしかすると環境によってはかえって遅くなってしまうかもしれません。

に…… 25fps……です……

orz

2015-11-12 21:54 Updated by: chnmr0
评论

from への返信

に…… 25fps……です……

AMDとは相性がよくない処理だったのでしょうか・・・

CDirectShow にあった並列処理を参考に、delegate の Begin/EndInvoke で組んでみました。

私のほうは 280 fps 前後です(並列よりアンローリングが効いてる?)。

2015-11-12 22:28 Updated by: from
评论

chnmr0 への返信

に…… 25fps……です……

AMDとは相性がよくない処理だったのでしょうか・・・

Surface Pro4 (Core i5) で試してみたら、41fps でした。

うおおおメインPCが負けた。

WinSATのCPU値では勝ってるのにー(涙

関係無いですけど、画面比率3:2の全画面で表示したら、標準よりやや縦長?に表示されて良い感じです。

2015-11-12 22:32 Updated by: chnmr0
评论

あ、すみません

書くのを忘れていましたが、 rev. 875 で少し処理の仕方を変えました。

それで 41 fps でしょうか...?

2015-11-12 22:38 Updated by: from
评论

chnmr0 への返信

あ、すみません 書くのを忘れていましたが、 rev. 875 で少し処理の仕方を変えました。 それで 41 fps でしょうか...?

いえ、rev.874です。

署名ファイル作ってないのでビルドできない……

この機に作っておくかぁー。

2015-11-12 22:46 Updated by: from
评论

rev. 864 をビルドして、SFPro4で試してみました。

107fps行きました!なめらか!

Tweaker解除してffdshowをアンインストールした後ですけども!(汗

SoundTypeがWASAPIになってるのにタイトルバーにDirectSoundとか表示されてますけども!(汗(汗

2015-11-12 22:47 Updated by: from
评论

rev.864 → 875 orz

2015-11-12 22:53 Updated by: from
评论

連投すみません。

ool を100fpsオーバーのままオートプレイで気持ちよく流してたのですが、演奏が後半になるほど、動画だけがすっさまじく遅れていきます。

演奏が終わるってころにまだベースの人ジャンプしてましたしw

確か、サンプルグラバはコマ落ち処理をサポートしてなかったと思います。EVRならやってくれますが……。

なお、チップとBGMは最後までばっちりシンクロしてましたので、しばらく動画の遅れには気が付きませんでした。

2015-11-12 23:10 Updated by: yyagi
评论

rev875で、FullHD 6Mbpsが、75fps→110-120fpsに改善しました。ありがとうございます。

あと、後半ほど動画が遅れる現象は、こちらでも気づきました。 ベースの人がジャンプって、後半の盛り上がりで左にパンしていく前の話じゃないですかー。どんだけ遅れてるんだか・・ ウチでは凄く微妙な違いなんですが(たぶん3-5フレーム分くらい)、それでも音と動画内クラッシュシンバルのシンクロずれが出るのでまあ分かります・・・

あと、何気に、

SFPro4で試してみました。

それ、今日発売のシロモノですやん・・・

2015-11-12 23:28 Updated by: chnmr0
评论

再生してるフレームと実時間が違うということですね。

もうちょっと調べないとわかりません。

(EVRってMFですよね・・・?)

2015-11-13 00:03 Updated by: chnmr0
评论

(ブランチでやるべきな気がしてきましたが・・・すみません今更なので)

rev. 876 で Null Renderer への接続をやめました。

Window再生では遅れは出ないのでそれを隠した状態で再生したらどうかな?と考えたのですが・・・

私のほうでもたしかにシンバル系はちょっとずれてるかな、という感じだったのですが、今確認した限りでは合っていたと思います。多分。

2015-11-13 01:01 Updated by: from
评论

chnmr0 への返信

rev. 876 で Null Renderer への接続をやめました。 Window再生では遅れは出ないのでそれを隠した状態で再生したらどうかな?と考えたのですが・・・

うぬぬう。

レートは 84fps に落ち、動画の遅れはさらに顕著に。

最初のジャンプが、譜面の最後、〆チップの直後にまで達しました。

もう後がないぞジャンプの人!

2015-11-13 01:04 Updated by: yyagi
评论

rev876で、私の環境では。動画遅延がなくなりました。素早いご対応、ありがとうございます。

代わりに、fpsは10程度低下しましたが・・・ずれるのに比べれば全く問題なしです。

fromさん、念のためですが、fps確認は、releaseビルドで行っていらっしゃいますよね?

2015-11-13 01:06 Updated by: from
评论

yyagi への返信

あと、何気に、

SFPro4で試してみました。

それ、今日発売のシロモノですやん・・・

電気屋に単三電池を買いに行きました。

iPad Pro を触ってみたくてタブレットコーナーへ。

無いし。

東芝の新製品はまだ出てないから、現行機のタブ感度を確かめにPCコーナーへ。

無いし。

店員に、タブレットならこっちですねーとSurface Pro4 まで案内される。

今日発売って知らんかったし。

タッチキーボードカバー(赤)を付けて、おーもちかえりー。

うん。とっても自然な流れかつ不可抗力だ!

2015-11-13 01:11 Updated by: from
评论

chnmr0 への返信

再生してるフレームと実時間が違うということですね。 もうちょっと調べないとわかりません。

フレームが遅れだしたら、サンプルが持っているタイムスタンプと現在時刻とを比較して、何ミリ秒以上が遅れているサンプル(のフレーム)はドロップするものとし、描画せず破棄するように自前でコーディングする必要があるかと。

(EVRってMFですよね・・・?)

EVRは、MFで作られたDSのフィルタですよ。

2015-11-13 01:12 Updated by: from
评论

yyagi への返信

fromさん、念のためですが、fps確認は、releaseビルドで行っていらっしゃいますよね?

ええ、ビルドするときに「確かyyagiさんが間違えたっつってたよなー」と思い出せたので、ちゃんとRelease版をビルドすることができました。ありがとうございます。

2015-11-15 10:58 Updated by: yyagi
评论

「著しく動画が演奏に送れる現象」について、私も、Surface Pro 2で再現させることができました。

VGAの動画だとずれは出ませんでしたが、HD, FHDだと凄いことに。

どうしてSurface Proだとずれが激しく出るのかはわかりませんが、とりあえずドライバがSurface Pro用のカスタム品であり、Intel標準のドライバアップデートユーティリティで更新できないことは確認しました。

2015-11-16 22:37 Updated by: chnmr0
评论

了解です。

私も Surface Pro 3 を所持していますので、そちらで確認したいと思います。

2015-11-20 10:56 Updated by: chnmr0
评论

from への返信

フレームが遅れだしたら、サンプルが持っているタイムスタンプと現在時刻とを比較して、何ミリ秒以上が遅れているサンプル(のフレーム)はドロップするものとし、描画せず破棄するように

いろいろ試してはみたのですが、ダメでしたorz 適当にサンプルを捨ててもなぜか動画は遅れたままになります。

2015-11-20 11:04 Updated by: chnmr0
评论

rev. 882 でマルチスレッド処理をやめました。変に負荷がかかるのを避けるためです。

また、動画の遅れに関して Surface Pro 3 (i5) で確認しましたが、

どうやら 垂直帰線処理(VsyncWait) が ON であればずれないようです。

(シンバルのタイミングや電子サックスの指の動きを見ると2,3フレーム遅れてるかな・・・という感じはします)

2015-11-26 02:49 Updated by: yyagi
评论

動画再生開始直後のカクツキが激しかったため、rev883で改善しました。

2015-11-26 23:50 Updated by: yyagi
评论

rev886で、DTXCからの途中再生に動画が追従するようにしました。(動画のseekが機能するようにしました)

また、ここまでの対応をパッケージにまとめました。 https://osdn.jp/users/yyagi/pf/DTXMania_TestBuilds/files/?action=simple_list の、DTXManiaGR_DirectShow4.zip です。

最新のDTXCも同梱しましたので、DTXCとの組み合わせ動作もご確認いただけます。

2015-11-28 23:36 Updated by: koh-hey
评论

動作確認をしましたのでご報告いたします。

まず私が要望しました以下の件については、正常に動作することを私の環境で確認しました。

* #35722 DTXVモードでDTXManiaを起動するときには、強制的にウインドウモードにするように変更。

* #35720 DTXC DTXVが起動しない問題を修正。(xadec.dllを、DTXV.exeと同じフォルダに移動)

* #35721 DTXC DTXCreatorでの譜面再生にて背景動画が画面(ウィンドウ)全体に表示されない問題を修正。

他に、気が付いたことを報告します。

・DTXCでViwerを "DTXManiaGRを使う" を選択している場合、譜面の途中から再生するとエラー表示が出ました。(添付ファイルDTXCerror.png) "DTXViwerを使う" を選択している場合はエラー出ません。譜面の途中からの再生ができます。

・動画のフォーマットに関して wmv、mpgは再生できましたが、mp4が再生できませんでした、が、これは私のPCの環境づくりの問題なのでしょうね。

・DirectShowになったからなのでしょうか、私の環境の問題でしょうか?選曲画像、動画、BGA、が以前よりギザギザな感じになりました。(添付ファイルDS4.jpg)

2015-12-01 00:24 Updated by: yyagi
评论

koh-heyさん、

途中再生でのエラーはrev887で修正しました。ご迷惑をおかけし申し訳ございませんでした。一旦DTXVモードでDTXManiaを起動した後であれば、途中再生は問題なかったのですが、いきなり途中再生起動したときに問題が出ていました。

mp4が再生できないのは、私の環境でも同じでした。GraphEditでもエラーが出たので、環境問題ということにはなるのですが、たぶんみんな再生できないかもです。 H.264/AVC, H.265 どちらもダメでした。

ギザギザになるのは想定通りです(rev878の影響)。すみません。私の環境ではほとんど影響ないのですけれどもね・・・(HaswellのCPU内蔵グラフを使用)

2015-12-01 04:09 Updated by: yyagi
评论

途中再生の問題を修正したものを、対応をパッケージにまとめました。 https://osdn.jp/users/yyagi/pf/DTXMania_TestBuilds/files/?action=simple_list の、DTXManiaGR_DShow5_CenterLane1.zip です。

名前の通り、ある程度レーンのセンタリングの機能が入っています。詳細は #34227 にて。

2015-12-01 19:38 Updated by: chnmr0
评论

お疲れ様です。

MP4 についてですが下記 URL をご参照ください。

http://www.gigafree.net/media/codec/mp4splitter.html

(H.265は厳しいと思います)

2015-12-01 20:09 Updated by: chnmr0
评论

動画開始直後の負荷軽減とDTXC側の修正もありがとうございました。

Creatorのソースコードはまだ読めておらず、

開始直後の負荷はかなり気になってたのですが、改善方法がわかりませんでした・・

2015-12-02 01:30 Updated by: koh-hey
评论

DTXCの途中再生でのエラーの修正、確認しました。バッチリですね。

レーンのセンタリングの対応、ありがとうございます。感動です!

ギザギザについてですが、選曲画像と動画だけでも(BGAもできれば)、以前のような滑らか表示になりませんでしょうか・・これ、278x355より大きいBGAの表示を正すための対応でしたっけ、私の環境では、けっこうギザギザで、なかなか残念なのです。。

2015-12-05 01:37 Updated by: yyagi
评论

DTXManiaGR_DShow5_CenterLane2.zip で、ギザギザを元に戻しました。(その代わり、一部BGAが正しく表示されなくなります。やりようはありますが、すぐには対応できません)

ところで、mp4の再生ですが、私の環境ではなぜか動画だけ途中で再生が止まってしまう現象が出ています。tp://27.120.112.19/arc/movie.7z に同mp4を置きましたので、機会があればお試しください。(DTXファイルはないので、適当に賄ってください) H264とH265があり、264は途中で再生停止、265は以前助言いただいた通り再生できず、でした。264はgrapheditでパスがつながりますが、265はエラーになりました。なおどちらもmpc-hcでは再生できています。

2015-12-05 13:36 Updated by: yyagi
评论

ところで、mp4の再生ですが、私の環境ではなぜか動画だけ途中で再生が止まってしまう現象が出ています。

原因は、動画に音声が入っているから、のような気がしてきました。

(DTXCからの途中再生だと、DTXManiaのDTXVモードの再生で、動画内の音声再生有で、動画が再生されました。また、DTXCから再生停止させると、映像は止まりますが動画音声は止まらない。)

2015-12-05 13:52 Updated by: yyagi
评论

DTXCからだと、譜面最初からの俺mp4の再生が問題なくできている・・・なぜ・・・

2015-12-05 17:28 Updated by: chnmr0
评论

テストデータありがとうございます。

コーデックの問題と思いますが、私の方では以下(LAV Video Decoder)を入れたら x264 / x265 どちらも動きました。

(ffdshow などは一旦アンインストールされてしまいますのでご注意ください)

http://www.majorgeeks.com/files/details/k_lite_mega_codec_pack.html

ただ、動画が途中で止まるという現象については未確認です。なにかわかったらまたコメントを追加したいと思います。

2015-12-05 17:46 Updated by: yyagi
评论

とりいそぎ、動画の音を出力しないように(どこにもピン接続しないように)できますか。 従来互換確保のためにはこの処置が必要なためです。

今後は「mp4内の音声を出力するDTX命令」を追加して、BGM音を分離しなくていいようにするとして。

LAV Video Decoderは、こちらでも試してみます。

2015-12-05 20:04 Updated by: chnmr0
评论

rev. 900 でオーディオを無効化しました。

LAV Video Decoder は軽いですね。こちらではDebugでもFHD350fpsでました。

2015-12-05 20:08 Updated by: chnmr0
评论

それと修正のおかげかわかりませんが、

途中で停止するという現象は出ませんでした。

2015-12-05 22:23 Updated by: koh-hey
评论

DTXManiaGR_DShow5_CenterLane2.zip で、ギザギザを元に戻しました。(その代わり、一部BGAが正しく表示されなくなります。やりようはありますが、すぐには対応できません)

わがまま言ってすみません、、でも、ありがとうございました。

mp4の再生chnmr0さんに教えてもらったところを参照してできるようになりました。 DTXManiaGR_DShow5_CenterLane2.zipにて、mp4の再生ができました。 私の方では、動画だけ途中で再生が止まってしまうという現象はなかったです。 あと、 "DTXCから再生停止させると映像は止まるが動画音声は止まらない"、という現象もなかったです。

その後に、LAV Video Decoderを入れて動作確認をしました。x265の方もDTXMで再生できました。

2015-12-06 13:41 Updated by: yyagi
评论

出遅れました。

  • K-Lite codec (LAV Video Decoder) を使ったところ、
    • Release版でFHD版の再生が75fps→120fps程度に改善しました。
    • H.265の再生ができました。
    • 音声pin削除対応なしに、動画の音声再生や、H.264の再生開始時に動画が停止する現象がなくなりました。
    • 一方で、動画の再生コマ数は明らかに減少しました。VSyncWait=ONで、FPSは60をキープしている状態でも、動画は見た感じ15-20fpsです(FHDにて)。HD版でも動画のカクツキがひどかったのですが、そちらはLAV Video Decoderの設定を変更して、(初期設定ではSoft Decodeになっているのを) 適切なHWアクセラレーションを有効にしたところ(ウチの場合はIntel QuickSync)、60と30の間を行き来するような感じに改善しました。FHDはこれをやっても15-20fpsです。

音声pinをどこにもつながない版でも、上記の傾向は変わりません。

というわけで、私は本当はffdshowに戻したいのですが、H.265が再生できないのと、なによりH.264の再生開始時に動画が止まってしまう現象が致命的すぎるので、LAV VIdeo Decoderを使います。

時間があれば、codec観点で、H.264の再生が止まる問題を回避できないか、調べてみます。

2015-12-13 18:20 Updated by: yyagi
  • Ticket Close date is changed to 2015-12-13 18:20
  • 状态 Update from 开启 to 关闭
  • 处理结果 Update from to Accepted
评论

Rel104で一通りのDirectShow対応が盛り込まれたため、本チケットはクローズいたします。

DirectShow機能の改善や、MediaFoundationへの対応については、新チケットを発行して対応ください。

Attachment File List

  • graphedit.png(6KB)
    • grapheditの図
  • DTXCerror.png(74KB)
    • DTXCで途中から再生するとこのダイアログ (Viwerの設定は”DTXManiaGRを使う”)
  • 103.jpg(138KB)
    • 103、滑らか
  • DS4.jpg(162KB)
    • DTXManiaGR_DirectShow4、選曲画像ギザギザ

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名