Re: 一部の動画ファイルを読み込むことができない ( No.1 ) |
- 名前:管理人 日時:2018/01/26 23:39
再生できない mp4 ファイルについては、強制終了してしまう mp4 ファイルをご提供いただければ
こちらで原因を調べられるかもしれませんので、よろしければファイルのアップローダーなどに
アップしていただけないでしょうか? m(_ _;m
( もし公開できないものでしたら、アップローダーにパスワード付きでアップロードした後、こちらのメールアドレス
BQE00322(あっとまーく)nifty.ne.jp
( (あっとまーく)を@に置き換えてください )
にアップロードされたURLとパスワードを送ってください m(_ _;m )
mov ファイルに関しては、恐らく DirectShow による再生で、DirectShow による再生は
各PCにインストールされているコーデックに頼って再生しているので、仮にファイルをご提供いただけても
不具合の修正はできない可能性があります・・・
一番確実に再生できる動画フォーマットはDXライブラリの中にデコード用ライブラリが含まれている
ogv形式( Ogg Theora形式 ) なので、もしどのような環境でも確実に再生する必要がある場合は ogv形式の
使用をご検討ください m(_ _)m
> 先日のスレッドについてですが、解決済み処理はこちらで行う必要があるのでしょうか?
> 探してみたのですが、方法が分かりませんでした。解決済みにできないまま放置してしまい申し訳ありません。
解決済みのスレッドについて名前の右側に(解決)とつくことに関して最近ご質問を受けまして、そのときの
ご回答は以下の通りですのでよろしければご参照ください m(_ _)m
-------------------------------------------------------
解決済みの際は名前の末尾に(解決)をつけるのですが、もともとこの掲示板にあった文化ではなくて、
恐らくこちらの掲示板からの流れです
<C言語何でも質問掲示板>
http://dixq.net/forum/viewforum.php?f=3
こちらの掲示板では問題が解決した際は『解決チェック』を付けて投稿すると名前の右側に『[解決!]』と表示されるようになっていて
問題が解決できたかどうかがスレッドを開かなくても分かるようになっています
ただ、DXライブラリ置き場掲示板ではそのような機能が無いので、『C言語何でも質問掲示板』でのルールを知る方が
この掲示板でのご質問の問題が解決した際に名前の右側に『(解決)』と書かれたことが何回か続き、いつの間にかそれが定着した感じです(汗
なので、もし『(解決)』を付けていただける際は書き込みの修正機能や、問題解決時の書き込みで名前の右側に『(解決)』を付けてください (^ ^;
-------------------------------------------------------
|
Re: 一部の動画ファイルを読み込むことができない ( No.2 ) |
- 名前:keen 日時:2018/01/27 09:07
管理人様、返信ありがとうございます。
動画ファイルをアップロードし、URLを添付してメールを送りました。
メールにも記載したとおり、バージョンは不明ですがバイナリによっては再生が可能でしたので、再生が可能であったバイナリも添付しております。
よろしくお願いします。
>なので、もし『(解決)』を付けていただける際は書き込みの修正機能や、問題解決時の書き込みで名前の右側に『(解決)』を付けてください (^ ^;
なるほど、分かりました。前回の書き込みに解決済みを付けました。
|
Re: 一部の動画ファイルを読み込むことができない ( No.3 ) |
- 名前:管理人 日時:2018/01/27 23:30
アップしていただいた mp4 と mov ファイルを手元の環境で DX.LoadGraph で読み込み DX.PlayMovieToGraph で
再生してみましたが、正常に再生することができました
特に変更した点はないはずですが、もしかしたら最新の dll では正常に再生できるかもしれませんので
お手数で申し訳ありませんがこちらの暫定最新版をお試しになってみていただけないでしょうか? m(_ _;m
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用
|
Re: 一部の動画ファイルを読み込むことができない ( No.4 ) |
- 名前:keen 日時:2018/01/28 14:12
管理人様、返信ありがとうございます。
>ogv形式( Ogg Theora形式 ) なので、もしどのような環境でも確実に再生する必要がある場合は ogv形式の使用をご検討ください m(_ _)m
返信を忘れていました。
外部から取ってきた動画をリアルタイムに再生するプログラムなので、変換を挟むのは厳しいです。
>お手数で申し訳ありませんがこちらの暫定最新版をお試しになってみていただけないでしょうか? m(_ _;m
試してみましたが、全滅でした。
>再生してみましたが、正常に再生することができました
そうですか……。
こちらの環境で3台のPCで試してみましたが、いずれもダメでした。
Windows10とWindows7の両方で再生不能、共通していることはGeForceのグラフィックボードを積んでいるという程度で、他の情報も集められず……。
何とかGetMovieImageSize_File関数を使わないように改造することも視野に入れていきます。
|
Re: 一部の動画ファイルを読み込むことができない ( No.5 ) |
- 名前:keen(解決済み) 日時:2018/01/28 17:52
その後調査を進めましたが、1台のPCで試した限りでは3.18c以前のバイナリでは再生可能であることを確認しました。
不完全な調査報告しかできず大変申し訳ありません。
こちらは一旦GetMovieImageSize_File関数を使わないように何とかできるよう進めることとし、一旦解決済みとします。
|
Re: 一部の動画ファイルを読み込むことができない ( No.6 ) |
- 名前:管理人 日時:2018/01/29 01:19
駄目でしたか・・・
そして 3.18c では正常に動作するのですね・・・
3.18d 以降のバージョンでは mp4 の再生に Media Foundation という API を使用していて、
それ以前のバージョンでは mp4 の再生には対応していない( DirectShow用の mp4コーデックがPCに
インストールされていれば再生できる )のですが、その 3.18d より以前の 3.18c では再生できるということは
・keenさんがお試しのPCの環境では DirectShow用の mp4コーデックがインストールされている
・keenさんがお試しのPCの環境では Media Foundation を使用して件の mp4ファイルを処理しようとするとクラッシュする
ということのようです
あまり DirectShow用の mp4コーデックがインストールされている環境は無いので、一般的には Ver3.18d より前の
バージョンでは『mp4ファイルの再生には対応していない』という状態だったのですが、少し特殊な環境なのでしょうか?
ともあれ、最新バージョンでも Media Foundation を使用しなければ正常にファイルを処理できるかもしれませんので、
よろしければ LoadGraph や GetMovieImageSize_File を使用する前に DX.SetUseMediaFoundationFlag( DX.FALSE ) ; という
処理を記述して、Media Foundation を使用しないようにしてみてください
( LoadGraph などの前で1回でも呼んでいれば良いので、DxLib_Init の実行後に1回だけ実行すれば大丈夫です )
Media Foundation が原因であればこれで正常に処理されるようになると思います
ただ、DX.SetUseMediaFoundationFlag( DX.FALSE ) ; を実行すると環境依存度の高い DirectShow を使用することになりますので
もし限定された環境でのみ使用するプログラムではないのでしたら、逆に正常に動作する環境が減ることになります
なので、もし不特定多数の環境で動作させることを前提とされるのでしたら、keenさんがご検討されている通り ffmpeg や
OpenCV など、実行ファイルに付属させることができる機能を使用して動画ファイルの処理をされたほうが良いと思います
|
Re: 一部の動画ファイルを読み込むことができない ( No.7 ) |
- 名前:keen(解決) 日時:2018/01/29 09:38
>DX.SetUseMediaFoundationFlag( DX.FALSE )
これで動きました!
>・keenさんがお試しのPCの環境では DirectShow用の mp4コーデックがインストールされている
>ただ、DX.SetUseMediaFoundationFlag( DX.FALSE ) ; を実行すると環境依存度の高い DirectShow を使用することになりますので
K-Lite Codec Full 13.24が入っていました。
現状では1台のPCで動けば良いのですが他の環境で動かす可能性もあり、また他にもいくつか気になる部分が有るので、一度まっさらな環境を用意して検証していくことにします。
重ね重ね対応に感謝します、ありがとうございました。
|