トップページ > 記事閲覧
動画再生の関数について
名前:にこよう 日時: 2019/08/24 02:56

こんばんは、いつもお世話になっております。 PlayMovie(); で動画が思うように再生できません //d.kuku.lu/ebf1c0b6c 現在動画を再生しようとしているゲームでは何故か右下にずれており、1 サンプルで試したコード(下)では何故か拡大されてしまいます 2 実際に再生した動画は 3です 画面サイズ、動画サイズは1280x720です #include "DxLib.h" int DrawGlowBox(int x1, int y1, int x2, int y2); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // ウインドウモードで起動 ChangeWindowMode(TRUE); // DXライブラリの初期化 if (DxLib_Init() < 0) return -1; SetWindowSize(1280, 720); // ウインドウの初期サイズはゲーム画面と同じにする // 描画先を裏画面にする SetDrawScreen(DX_SCREEN_BACK); int b = PlayMovie("eye.ogv", 1, DX_MOVIEPLAYTYPE_NORMAL); // メインループ while (ProcessMessage() == 0) { // 画面のクリア ClearDrawScreen(); printfDx("%d", b); // 0が帰る // 裏画面の内容を表画面に反映 ScreenFlip(); } // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0; } また、環境に依存せずに(Dxlibが動けば)再生できると聞き。ogvで試しているのですが、ファイル容量が大きすぎるため、(5分で800MB) ゲームに組み込むのは難しいです 画質を落とさず、できる限りぎとんどの環境で再生できるようにしたいのですが、 その上容量を削れる方法はありますでしょうか?
メンテ

Page: 1 |

Re: 動画再生の関数について ( No.1 )
名前:あいおい? 日時:2019/08/24 18:41

SetWindowSizeはウィンドウサイズの変更なので、内部解像度の変更ではないです 内部解像度を変更する場合はSetGraphModeを使用します dxlib.xsrv.jp/function/dxfunc_graph3.html#R4N1 32bitカラー、1280x720の内部解像度にするのであれば、DxLib_Init()の前に 「SetGraphMode(1280, 720, 32);」 を呼び出すと変更されます。 そこだけ変更したサンプルコードで起動させると多分動画も等倍で再生されると思います。 --- 動画のファイルサイズの話ですが、画質を損なわずファイルサイズを削る方法はないですね。 ただし、画質の劣化を感じさせずファイルサイズを削る方法はあります。 Windowsの話に限定すれば、.mp4 + H.264などであれば10年前のパソコンでもない限り再生できると思います。 動きの速い動画ならビットレートを上げて、動きのない動画ならビットレートを下げることで、ゲームに動画を多用した状態でもファイルサイズを減らすことができます。 また、動画のエンコード時にプリセットを「veryslow」や「slower」にすることで エンコードする時間は長くなりますが、ファイルサイズを抑えることもできます。
メンテ
Re: 動画再生の関数について ( No.2 )
名前:にこよう 日時:2019/08/24 20:47

あいおい?さん、ご返信ありがとうございます サンプルコードの方は正常に描画することができました 動画再生関数で動画が右下に行っていたのはSetGraphMode()で1920x1080を指定していたのが原因のようでした しかし、仮想フルスクリーンのゲームにしている関係上、これを変更するわけにはいかないため、予めメモリに読み込んでおく方法しかなさそうです >Windowsの話に限定すれば、.mp4 + H.264などであれば10年前のパソコンでもない限り再生できると思います。 mp4だと再生できないことがありそうで考えてなかったのですが、再生できるのがほとんどなんですね、 mp4で動画をエンコードしなおしてみます
メンテ
Re: 動画再生の関数について ( No.3 )
名前:にこよう (解決) 日時:2019/08/26 10:40

動画のファイルサイズの結果ですが、.mp4 + H.264の動画に変更したところ画質の劣化は体感ほぼなく ファイルサイズを1/7ぐらいまで落とせました ありがとうございました
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存