JavPlayerが強制終了する場合の解決策

 現時点のJavPlayerの最新バージョンは、 JavPlayer_112bです。

 JavPlayerはとても安定したソフトで、不具合が発生することはほとんどありません。

 ところがです。JavPlayerが強制終了するという不具合が発生しました。これまで経験したことのないエラーなので戸惑いましたが無事解決しました。

まずは状況説明

 早く結論を書きたいのですが、状況説明なしに結論だけ書いても意味不明な文章になるので、退屈でしょうがおつき合い下さい。

 これまで、JavPlayer_112aを何の問題もなく使っていました。ところが、その時に使っていたノートパソコンが机から落下し、液晶が破損したため修理に出すことになりました。

 現在、1年前まで使っていた古いパソコンで記事を書いています。

 このパソコンには、JavPlayer_109aが入っているのですが、最新の112bをインストールしました。設定も難なく終わり、テストモードでもエラーは発生しません。

 ここで、処理したい動画で5秒間のテストをしたのですが、途中でJavPlayerが強制終了するというトラブルが発生。何度試しても同じ状況です。

 このため、正常に動いていた修理中のPCに入っていた112aをDLしてインストール、しかし、不具合は解消しません。112bの不具合かと思ったのですが違いました。

 処理の途中で、JavPlayerが強制終了します。その時、画面には何らエラーメッセージは表示されません。何の前触れもなく、JavPlayerが強制終了します。

 この現象は、古いPCでのみ発生するのか、あるいは他に原因があるのか。昨日まで使っていた112aがエラーが出て使えない。その原因は何なのだろう?

エラーの原因を調べる

 各バージョンのJavPlayerを使っていて、このタイプのエラーは初めて経験しました。

 原因を追及することにします。

 修理中のPCでは問題なく使えていたので、ソフトの不具合ではなさそうです。

 すると、常駐ソフトの更新プログラムとの競合障害かも、と考えました。つい最近、ESETとの障害が発生したからです。

 常駐ソフトはほとんど使ってないのですが、とりあえず、ネット接続を切り、セキュリティソフトESETを10分間停止。 ⇒ 変化なし。

 Process Lasso を終了。⇒ 変化なし。

 その他の常駐ソフトを停止 ⇒ 変化なし。

 これで、常駐ソフトが原因である可能性はほぼ消滅しました。

 次に、強制終了する状況を詳細に調べます。

 なお、JavPlayerの処理ログを出力しても、何も書かれていません。

どの処理ステップでJavPlayerが強制終了しているのか 

 JavPlayerの処理のどの段階でエラーが発生しているのか調べます。

 気になったのが、Ver.112より投入されたPass1 Pass2 と、L3S3T3、L5S5T5の部分。

 これを変化させながら、不具合の原因を追及します。

 最初にメモリー不足になっていないかをProcess Lassoでモニタリングしながら処理の経過を確認します。その結果、処理中、メモリーは十分余裕があることが確認できました。

 次に、具体的な設定の組み合わせです。

2pass TG-AF0, tgmain NONE ⇒ 強制終了
fast TG-AF0 tgmain NONE ⇒ 正常終了

2pass TG-AF0 tgmain #L5S5T5 ⇒ 強制終了

別動画で試す。範囲指定
2pass TG-AF2 tgmain #L5S5T5 ⇒ 強制終了

さらに別動画で試す 5秒だけ
1pass TG-AF2 tgmain NONE ⇒ 強制終了
5秒
Fast TG-AF2 tgmain NONE ⇒ 正常終了
Pass1TG-AF2 tgmain NONE ⇒ 強制終了
Fast TG-AF2 tgmain #L5S5T5 ⇒ 正常終了
Safe TG-AF2 tgmain #L5S5T5 ⇒ 正常終了

ということで、passの部分で不具合が発生していることが分かりました。
どうやらエンコード関係らしい。それまでの処理は正常に終了しており、エンコードに移る段階で強制終了している。

 そこで、エンコードの方式を変更します。


 画面右上のギヤアイコン(環境設定パネル) ⇒ [拡張設定]

 [REC]で「エンコーダーとコーディング」を「NatCorder/H264」⇒「NatCorder/HEVC」に変更

Pass1 TG-AF2 tgmain #L5S5T5 ⇒ 強制終了

「NatCorder/H264」⇒「FFmpeg/H264」に変更
Pass1 TG-AF2 tgmain #L5S5T5⇒ 正常終了

結論

 「エンコーダーとコーデックス」の設定を「FFmpeg/H264」に設定する。

 これが結論です。

管理人はcpuで使っていますが、問題なく動いています。Ver.112になってから、処理速度が桁違いに速くなったので、重宝しています。

 #L3S3T3と#L5S5T5がデフォルトで入っていますが、これをコピーして、名前だけ#L9S9T9 などに変更したファイルをいくつか用意すると、より良い処理結果に結びつく場合があります。L、S、Tの意味はマニュアルに書かれています。