動画の読み込みに失敗! 原因は?
久しぶりにJavPlayerを使おうと思ったら、動画の読み込みに失敗しました。
動画をJavPlayerにドロップしたら、以下のようなエラーが表示され、動画を読み込むことができません。動画は動画プレーヤーで普通に再生できます。なぜ、JavPlayerで読み込みに失敗するのか?
このようなエラーが発生するのは、動画のコーデックがJavPlayerに対応していない場合と動画自体が壊れている場合が考えられます。
動画の状態を確認する
では、動画の状態を確認していきます。
この確認には、「LosslessCut」という動画を無劣化でカットするフリーソフトを利用します。ネットで調べれば簡単に見つかります。(でも、過去記事を見た方が絶対役立ちます)
確認したい動画を「LosslessCut」にドロップします。
「LosslessCut」でも読み込みに失敗する場合、たとえ再生できる動画であってもその動画は壊れています。厳密に言えば、動画に必要なコードが一部欠損しています。この修復方法は後ほど説明します。
「LosslessCut」に動画をドロップすると下の画面になります。音声付き動画の場合は、下図赤枠のように「トラック(2/2)」と表示されます。これをクリックします。
クリックすると下の画面になるので、赤枠の「ⓘ」をクリック。
下のようにトラック情報が表示されます。すると、動画コーデック名は「av1」になっています。こんなmp4ファイルを初めて見ました。
映像コーデックにはたくさんの種類があります。H.264、H.265、AV1、Divx、Xvid、MPEG-1、MPEG-2、MPEG-4、VP9などが代表的なものでしょう。ほとんどの動画プレーヤーはこれらに対応しており動画を再生できますが、多くの動画編集ソフトが対応していません。たしか、H.265はJavPlayerでは読み込めなかったと思います。
確認が終わったら、「トラック1情報」ウインドウの「X」ボタンでウインドウを閉じます。
このコーデックを変更します。
「X」ボタンで元の画面に戻るので、[ファイル] ⇒ [対応形式に変換] ⇒ [最も遅い:高品質のエンコード] にチェック⇒ [OK] と進みます。40分の動画で20分程度時間がかかります。mkvという動画形式のファイルに変換されます。これで、JavPlayerに読み込みができます。JavPlayerで処理された動画はmp4形式で出力されるので、元動画がmkvでも問題ないわけです。
壊れたファイルの修復
ネットからダウンロードした動画の場合、ネットの接続環境によって、動画が正しくダウンロードされないケースがあります。大半は、動画のヘッダの読み込みエラーかあるいはフッターの欠落です。あるいは、動画配信者が意図的に情報を削除してアップロードしている場合があるかも知れません。再生できるので、通常は気づきませんが、何らかの加工をしようとすると編集ソフトに動画を読み込めないという今回のような問題が発生します。
この修復には、「untrunc-gui」というフリーソフトを使います。
壊れたファイルと正常なファイルを比較して、欠落部分を補うというソフトのようです。入手方法など詳細は過去記事を見てください。再生できる動画であれば、ほぼ修復できると思いますが、再生できない動画の場合、修復できるのは50%程度の確率のように感じました。
修復に失敗した場合、表示された画面を読めばエラーについて書かれています。[Settings]タブで[skip unknowns(-s)]にチェックを入れ、[Repair]タブに戻り、[Repair]ボタンで再トライ。これでうまくいく可能性は10回に1回程度です。早めに諦めて、再度ダウンロードするのがオススメです。