JavPlayer Ver.2.01cの設定

はじめに

 JavPlayerがどんどん進化し、設定がだんだん難しくなりました。この記事は書くつもりはなかったのですが、以前の記事では対応できないようなので、追記追記の記事ではなく新規に書くことにします。

 2023年10月29日にリリースされた「JavPlayer Ver.2.01c」に焦点を当てた記事です。たぶん、多くの人がこのソフトを使えなくて困っていると思うので記事をアップすることにしました。

 過去記事は、CPUで使うJavPlayerについての記載でしたが、今回は、GPUを対象とした内容とします。これにより、これまで無視してきた部分も書くことができます。

 管理人のPCは、先日購入したゲーミングPC、ノートパソコンで、Windows11、ビデオカード NVIDIA GeForce RTX 4050、メモリ 16GB という仕様です。

 最初に注意喚起します。JavPlayerで処理した動画をネットにアップする行為は犯罪・違法です。くれぐれもそのような行為をしないように。

SR-TG8Xhdと*REG6Bの組み合わせが凄いことになっている

 これまで、JavPlayerによるモザイク軽減はモザイクがかかっていた部分の画質が悪く低画質の荒れた印象でした。ところが、SR-TG8Xhdはとてもすばらしい! 以前と比べてその差は一目瞭然。結果は、自分で確認してください。

PavPlayerと関連ファイルの入手

 今回、JavPlayer Ver.2.01cを使ってみて感じたことは、以前とは設定が違うと言うことでした。以前と同じように設定すると、5秒しか録画できない、という問題も発生します。

 JavPlayerに関心を持たれた方のために、あちこちのサイトや過去記事ページを参照するのではなく、できる限り、この記事だけで完結する記述にしたいと思います。無駄な説明は一切省き、要点のみを書くことにします。書かれている意味が分からない方は過去記事をご覧ください。

必要なファイルのダウンロード

 JavPlayer Ver.2.01cを使うためには、いくつかのファイルをダウンロードする必要があります。最低でも、次のファイルは必要です。実際に使うにはこれで十分です。 

 入手方法は、①購入時のDLページ、②「製品情報」ページ、③Javski氏Xのリンク、④その他、があります。

  1. JavPlayer_201c.zip   (293.1MB、JavPlayerの本体)入手方法:①
  2. TecoGAN_111.zip    (580.4MB) 入手方法:① or ②
  3. TecoGAN8X_111.zip   (295.66MB) 入手方法:②
  4. TecoGAN8Xhd_diff.zip (58.95MB) 入手方法:③
  5. Real-ESRGAN_111  (2.2GB) 入手方法:①
  6. BasicVSR++_111a  (2.4MB) 入手方法:① or ②
  7. SR-TG8X2.zip     (7KB) 入手方法:③
  8. Real-ESRGAN Ver.1.11 JavPlayer用モデル (②のリンク切れで入手できず:不要)
  9. ffmpeg-5.1.2-essentials_build.7z (223.98MB) 入手方法:④

 ①のJavPlayer本体は、購入してください。④は後ほど説明します。

ダウンロードしたzipの解凍

 まず、JavPlayer本体のzipを解凍します。解凍する場所は、できるだけ階層の浅い場所が良いでしょう。階層の深い場所だと原因不明のエラーが発生する恐れがあります。これは、まさに、原因不明のエラーで、本来、ファイル名に使ってはいけない不正文字が書き込まれるために発生するトラブルです。

 解凍したJavPlayerは以下のフォルダ構成になっています。

 上の2から6のzipファイルを「TG」フォルダの中に移動し解凍します。

 7のファイル(SR-TG8X2.zip)は、「TG」フォルダの中にある「BATCH」フォルダの中で解凍します。

「ffmpeg-5.1.2-essentials_build.7z」の入手

 「ffmpeg-5.1.2-essentials_build.7z」を入手します。最新バージョンは未検証なのだそうで、このバージョンを入手します。マニュアルに書かれているリンクでは入手できなかったので、以下のリンクから入手します。

 GyanD ffmpeg 5.1.2 builds

 ttps://github.com/GyanD/codexffmpeg/releases/tag/5.1.2

 「FFmpeg」のインストールと「パスを通す」方法

ダウンロードした圧縮ファイル「ffmpeg-5.1.2-essentials_build.7z」を任意の場所で解凍します。

解凍すると、「ffmpeg-5.1.2-essentials_build」というフォルダができます。次に、パスを通します。

エクスプローラーで「ffmpeg-5.1.2-essentials_build」を開き、その中にある[bin]フォルダを右クリック。開いたメニューの中から[パスのコピー]をクリック。

 つぎに、[Win]+[X]キー ⇒ [システム(Y)] ⇒ [システムの詳細設定]。 [システムのプロパティ]ウインドウが開くので、[環境変数]。
[環境変数]ウインドウで、[xxxxのユーザー環境変数]の[path]を選択して[編集]ボタンをクリック。

 

 [環境変数名の編集]ウインドウが開くので、[新規]をクリック。

 開いた画面に、先ほどコピーしたパスを[Ctrl]+[V]で貼り付け、[OK]。

 これで、パスを通す作業は完了です。

 過去記事では、FFmpeg関係ファイルをTGフォルダにコピーする方法を紹介しました。しかし、Ver.2.01cでは、その方法では「5秒しか録画できない」、という不具合が発生します。

 

JavPlayer Ver.2.01cの初期設定

 最初に確認すべきことは、FFmpegが正常に認識されているかどうかです。

 「JavPlayer.exe」をダブルクリックして、JavPlayerを起動すると、下の画面になります。

 

 黄色のアイコンが二つありますが、「Check FFmpeg」をクリックして、FFmpegが認識されていることを確認します。

 

 上のように表示されればOKです。

 次に、[超解像テスト]をクリックして、TecoGANが実行可能か、及び、TGモードで1分間に超解像できる画像数の計測を行います。

 管理人の環境では、次のように表示されました。

 エラーが表示される場合は、TecoGANのバージョンが違ったり、TecoGANが間違った場所にあるなどの原因が考えられます。

 次に、初期設定です。[録画詳細設定]をクリックして設定します。GPUで使うのであれば、デフォルトのままで問題ないと思います。ちなみに、管理人の設定は下のようになっています。

 [General]タブの「エンコーダとコーデックス」は、管理人の環境では、「FFmpeg/H264」以外を選択すると、エンコード開始時にソフトが強制終了します。この不具合は以前のバージョンからなのですが、原因は不明です。

JavPlayerのすべての機能を使えるように設定する方法

 JavPlayerを起動すると左上に表示されるのが「録画設定」パネルです。これがたくさんありすぎて訳が分からない。マニュアルを読んでもさっぱり分からない。そこで、一つ一つ、設定方法を観ていきましょう。

 「録画設定」パネルは、①動画の幅、②録画方式、③モデル、④超解像(1回目)、⑤追加超解像(2回目)の五つで構成されています。

① 動画の幅

 ①の[動画の幅]は通常は空欄で良いのですが、元動画の幅を変更したい場合、入力します。重要なのは、ここに数値を書き込むと、その値がデフォルトとなり、JavPlayerを開くたびにその設定になることです。基本は、空欄にした方が良いと思います。

 この欄は一見地味な存在ですが、ファイルサイズが巨大になった場合など、動画サイズを小さくしたいときにとても便利です。例えば、元動画サイズがフルHD 1920×1080pxの場合、サイズが数GBになってしまうためHD 1280×720pxにサイズ変更したい。そんなときは、[Width]の欄に[1280]と入力し、画面右端の[加工パネル]で、[モザイクの荒さ]を[0]として[録画開始]すると、超高速で変換できます。

 モザイク除去は可能な限り高画質の元画像を使いますが、出力にはそんな高画質は不要という場合にこの欄はとても便利です。 

② 録画方式

 Ver.2.01Cの録画方式は、[1pass]、[2pass]、[Safe]の3種類用意されています。

 詳細はマニュアルに書かれています。管理人は、「1pass」しか使いません。

④ 超解像(1回目)

 先に④[超解像(1回目)]から説明します。超解像(1回目)で使えるのは、次の10種類です。

 順に説明します。

④-1 [tgmain]    JavPlayerのデフォルトのツールです。そのまま使えます。

④-2 [SR-BVPP] および ④-3 [SR-BVPPA]  このままではエラーが出て使えません。下のようなエラーが出ます。 

 この二つは、PCのビデオカードの性能によりバッチファイルを修正する必要があります。

 一番簡単な方法で説明します。最初に[SR-BVPP]です。 

 まず、PCのビデオカードのGPUメモリのサイズを調べます。今回は、これを6GBとして説明します。

 [TG]フォルダの中に[desc.txt]というファイルがあるのでこれを開きます。見るのは下の画像の部分(<Settings for VRAM>)です。

 次に、[TG] ⇒ [BATCH]フォルダの中に[SR-BVPP.bat]というファイルがあるので、これを[SR-BVPP.bat.txt]にリネームして、メモ帳で開きます。

 [desc.txt]ファイルの中から、自分のGPUメモリに該当する部分を見つけて、それをコピーし下の位置に貼り付けます。また、[::VRAM USAGE 99999]の部分は、また使うかもしれないので、行頭に[rem ]を付けてコメントアウトします。

 さらに、下の方にある [set vram_usage=1234]の[1234]を[2600]に変更します。上で貼り付けた部分が[2600]なので、ここでも[2600]になります。この数値はお使いのGPUにより変わります。間違えないように。

 作業が終わったら保存。最後に、[.txt]の部分を削除し、バッチファイルに戻します。

 次に、[SR-BVPPA] です。作業は上と全く同じなので、説明は省略。

④-4 [SR-TEST]  これは、ステップごとにPauseを入れて停止する作業用のバッチなので説明を省略。使うことはないでしょう。

④-5 [SR-TG-jpg]   このまま使えます。

④-6  [SR-TG8X]   このまま使えます。

④-7  [SR-TG8X]  このまま使えます。

④-8  [SR-TG8X2]  このまま使えます。

④-9  [SR-TG8Xhd] このまま使えます。

④-10  [SR-VEAI]   [Topaz Video Enhance AI] という有料ソフトをインストールしてあるPCでのみ使えます。[BATCH]フォルダの中にある[VEAI]というショートカットを右クリック  ⇒ [プロパティ]。

「リンク先」の C:\Program Files(x86)\Topaz・・・・の(86)を削除し[OK]。

Topaz Video Enhance AIは、通常、[Program(x86) Files]ではなく、[Program Files]にインストールされているはずなので、リンクを変更します。

 

⑤ 追加超解像(2回目)

 追加超解像(2回目)は、次の14のツールが用意されています。

⑤-1  [NONE]    2回目の超解像処理は行いません。

⑤-2  [*3xSR]  そのまま使えます。

⑤-3  [*IMDN]  そのまま使えます。

⑤-4  [*REG6B]     そのまま使えます。

⑤-5  [*REG6B&IMDN] そのまま使えます。

⑤-6  [SRA-RCG]        アニメーション専用の追加超解像です。このままでは使えません。

 [realcugan-ncnn-vulkan]をリンク先から入手します。そのzipファイルを[TG]フォルダに移動し、そこで解凍。

 作られた[realcugan-ncnn-vulkan-20220728-windows]というフォルダの名前を[realcugan-ncnn-vulkan]に変更します。

⑤-7  [SRA-REG]   

 [-REG]系はすべて、[TG]フォルダに[realesrgan-ncnn-vulkan]というフォルダが存在している必要があります。Javplayerの以前のバージョンを使っていた人は、このフォルダを[TG]フォルダにコピーしてください。もし、ない場合は、「Real-ESRGAN」をDLします。やり方は過去記事「JavPlayer Ver.1.10の使い方(更新版)」を参照。

 処理速度がとてつもなく遅く、使い物になりません。

⑤-8  [SRA-REGc]   上のフォルダがあれば、そのまま使えますが、処理速度がとてつもなく遅く、使い物になりません。

⑤-9  [SRA-REGp]  上のフォルダがあれば、そのまま使えますが、処理速度がとてつもなく遅く、使い物になりません。

⑤-10  [SRA-TEST]      テスト用バッチです。省略

⑤-11  [SRA-VEAI]      1回目処理で[Topaz Video Enhance AI] の設定をしていれば、そのまま使えます。

⑤-12  [SRA-VEAI2]    同上

⑤-13  [#L3S3T3]       そのまま使えます。
⑤-14  [#L5S5T5]     そのまま使えます。

 上の二つは、[BATCH]フォルダにあります。ファイルは名前だけの0バイトのファイルです。このファイルをコピーして名前を変更。[#L9S0T0]や[#L9S9T9]などを作っておくと何かと便利です。L、S、Tの意味は以下のようになっています。

Line…暗い線を太くならないように強調
Surface…平坦な部分を鮮明化
Texture…肌の模様を追加して CG っぽさを軽減

③ モデル

 [モデル]は次の9つが用意されています。

 このまま使えると思いますが、[TG-AFx-*]でエラーが出た場合は、「BasicVSR++_111a.zip」をTGフォルダの中に移動し解凍します。

 TG-STD以外の下のモデルを選ぶ場合、1回目高解像に[SR-BVPP]か[SR-BVPPA]を選択する必要があります。

TG-STa1  ライン強調アニメモデル レベル1
TG-STa2  ライン強調アニメモデル レベル2
TG-AFx-0  アンチフリッカーアニメモデル
TG-AFx-1  アンチフリッカーアニメモデル
TG-STD      標準アニメモデル

望ましい結果を得るには

 以前なら、JavPlayerのすべての機能を使えるようにしたいと思ったのですが、頻繁にかつ大幅に機能が変更になるため、どんどん複雑化してきました。でも、たくさんの高解像が用意されていても、実際に使い物になるのは限定的という印象です。

 問題となるのは、画質か、それとも時間か、ということ。高画質で短時間で処理したいと思っても、それは無理な相談です。多少画質が落ちても短時間で処理したいと考えるのか、あるいは、あくまでも画質優先で、処理に多少時間がかかっても良いと考えるかで、使うツールが変化します。

 重要なのは、「多少」ではなく「とてつもなく」時間のかかる処理は、最初から諦める必要があるということです。たとえば、2回目の処理の[SRA-REG]はとてつもなく時間がかかり使えません。

 同様に、Topaz Video Enhance AIを使う「SRA-VEAI」も試してみる価値はありません。処理に時間がかかりすぎるからです。管理人が試した結果では、単に時間を無駄にしただけでした。期待するような結果とはほど遠い。この外部ソフトを使う「*-VEAI」は無視しましょう。もし、使うとするのなら、Topazの処理を一旦停止し、Topazの設定をしてから、処理を再開するのがよいかも。

 管理人が驚いたのが、1回目処理に使う「SR-TG8Xhd」の性能です。この機能だけで十分です。

 設定としては、[1pass]+[TG-AF0]+[SR-TG8Xhd]+[NONE] がとても短時間で処理が完了します。2回目処理を追加するのなら、内部処理の[#L3S3T3]系がオススメです。処理時間がとても短い。[#L9S9T9]や[#L9S0T0]など、いくつかの設定を用意しておくと、処理結果を簡単に比較できて便利です。

 少し時間がかかってもよいと考えるのなら、[1pass]+[TG-AF0]+[SR-TG8Xhd]+[*REG6B]です。ただし、エンコードにとてつもなく時間がかかります。

現時点での実用的な使い方

 現時点で最大の問題は、エンコードに時間がかかりすぎるということでしょう。一般的な動画変換ソフトでもエンコードにはとても時間がかかります。高解像処理は高速なのに、エンコードで12時間。

 5秒間の試行を行う場合、このエンコード時間がとても重要です。エンコードに要した時間が表示されるので、その数値にも関わらず本番をやるかどうかが問われます。2時間の動画なら、エンコードの部分だけでほぼ1日かかります。

 現時点では、JavPlayerEZがかなり高性能なので、この再生画面を動画キャプチャする方法が最もよいと感じています。イヤフォンジャックにイヤフォンをさした状態で音は最大にし、システム音源を録音。2時間の動画も2時間で処理終了です。しかし、2時間のキャプチャが可能か疑問もあるし、生成された動画のサイズも巨大なものになると考えられます。

 そこで、圧縮作業が必要になります。LossLessCutで動画を分割して、JavPlayerで画面サイズを縮小して、再び、LossLessCutでつなぎ合わせる。この方法は、とても短時間で処理できますが、うまくいくかはやってみないと分かりません。市販のソフトだと、エンコードの部分でとても時間がかかります。

 

おわりに

 この記事は書くつもりはなかったのですが、[SR-TG8Xhd]の性能の良さに驚いたので書くことにしました。

 いろいろ動かない部分もあるのですが、使う分には問題ないので無視します。過去のバージョンから判断して、不要な機能なのが分かるからです。

 気になるのがエンコードの部分。本ソフトの開発者Javski氏のPCでは、内部エンコーダの[NatCorder]が機能するようですが、管理人のPCでは、強制終了します。原因が分かったら、この記事に追記したいと思います。「VCRUNTIME140_1.dll」が原因説の記述も見かけましたが、そもそも、「VCRUNTIME140_1.dll」は所定の場所にあるし、(日付が古かったので)これを更新しても何も変わりません。

 以下に3つの追記をします。本バージョンを使う上で必須の知識と考えるので、よくお読みください。

 

追記1:DLした動画が壊れているかどうかの確認と修復方法

 再生は普通にできるのに、Javplayerで録画しようとするとエラーが出るファイルがいくつもあることを確認しました。下のようなエラーが出ます。 

 最初は、JavPlayerの設定のせいだと思ったのですが、どうも違うようです。ヘッダーの読み込みでエラーが発生しています。

 動画は再生できるし、動画ファイル自体に問題があるとは思えなかったのですが、いろいろ確認してみると、動画自体に問題があることが分かりました。

 DLの段階で、動画のヘッダーやフッターが正常に書き込まれなかったのが原因のようです。通常は、このような書き込み不正の場合は動画の再生ができないのですが、最低限の情報は書き込まれているのでしょう。正常に再生できます。

 動画が壊れているかどうかをどうやって確認するかですが、たとえば、LossLessCutに動画ファイルをドロップしてみるのが最も簡単な確認方法でしょう。

 問題のある動画をドロップすると、「未対応のファイル」と表示され、LossLessCutに読み込むことができません。

 JavPlayerが原因ではなく、普通に再生できる動画自体に問題があるなど、普通は誰も考えないでしょう。エラーメッセージを見なければ全く気づくことはなかったと思います。

 原因と確認方法が分かれば、後は修復するだけです。再生できる動画の修復は簡単にできます

 この修復には、無料の動画プレイヤー「VLC media player」を使います。どんなに大きなファイルでも数秒で修復できます。具体的なやり方は、過去記事「DLした動画が再生できない、movをmp4に変換したい時などで役立つVLCメディアプレイヤー」をご覧ください。記事に書かれているとおりに設定すれば、修復は数秒で完了します。チェックを入れ忘れたりすると、数時間かかるかも。

この方法で修復したファイルがJavPlayerで読み込めない場合は、一度、LossLessCutにドロップして、最初の数秒と最後の数秒を削除し、動画を出力してください。これは数秒で処理が完了します。

 ふと、感じたのは、以前のバージョンではこのタイプの不具合はなかったということです。動画を再生できれば、JavPlayerで処理できる。ところが、今回のバージョンでは、単に再生できるという条件に加え、ヘッダー・フッターの記載が正しいことが厳密に求められているように感じます。

 拡充した機能の中に、このような要件を求めるソフトがあるのかも。

 動画のファイル名に全角スペースが使えずエラーが出る。これと同じ制限を使っている内部・外部ソフトが原因かと思います。

追記2:超解像処理の途中でフリーズした場合の対応

 超解像の途中でフリーズすることがあります。こうなるとJavPlayerを強制終了させるしかありません。元画像が2時間の場合、2~3回フリーズします。このため、処理を流しておいて、朝起きたら、処理が終わっている、というようにはならない。

 フリーズした画面が開いている場合は、画面を何度かクリックしていると下の画面になります。「プログラムを終了します」をクリックして、JavPlayerを終了します。タスクバーから出てこない場合があります。xボタンを押しても終了できない。この場合は、タスクマネージャーから終了することになります。とにかく、終了させます。

 ところで、JavPlayerがフリーズした場合、それまでの処理は保存されているので、続きから再スタートすることが可能です。実際には、少し前からの再スタートになります。

 JavPlayerを起動し、F8 をクリックして、直前の処理動画を読み込みます。

 次に、[録画再開]ボタンをクリック。

  下図のようなウインドウが開くので、[超解像の途中から]をクリック。このウインドウのメッセージは、どの処理段階でフリーズしたかにより、内容が変わります。

 JavPlayerが超解像処理の途中から、処理を再開しました。フリーズした位置は [183/245]でしたが、再開は[179/245]からでした。実際には、すぐに、[183/245]から再開がスタートします。

 なお、フリーズした後で別の動画を読み込んだ場合は、F8 をクリックしても別の動画が表示されます。最初からやり直し? 数時間処理したのが無駄になる?

 もし、別の動画を読み込んでしまったけれど、フリーズした動画の処理を再開したい。これまでの処理時間を無駄にしたくない。そんな人は、まず、諦めましょう(www)。諦めきれない人は、次の方法を試してください。

 フリーズしたときの動画をJavPlayerにドロップして、[再開]ボタンが表示されるか確認。表示されない場合、最後の手段です。

 処理過程の情報は、JavPlayer.udj というファイルに書き込まれています。このファイルを「JavPlayer.udj.txt」とリネームして、メモ帳で開きます。 さて、スリーズ後に追加された部分を削除すればよいので、あとは探してください。

 

追記3:元ファイル名に全角スペースは使えない

 以前のバージョンではなかったことですが、今バージョンでは、モザイク破壊する元動画のファイル名に全角スペースが使われているとエラーになります。これって、地味にめんどくさい。細かく設定して、いざ本番の録画開始! と思ったら、エラーが表示されます。

 この場合は、全角スペースを削除して半角スペースにしたものを再度、ドロップすると、直前の設定が適用される可能性があります。

 通常は、5秒間のテストを行い、モザイク除去の精度を確認してから本番に移るのですが、それをやらずにいきなり本番に移るとこのような不具合に遭遇します。