エラー対応

Prev Next

Classic/VPC環境で利用できます。

エラー対応では、スクリプトコードを変更して Errorイベントを通じて再生ソースにユーザー定義メッセージを適用する方法について説明します。

参考

Video Player Enhancementサービスと一緒に Media Analyticsサービスを利用すると、Media Analytics管理ページでエラーコードを簡単に確認できます。

JS Errorイベントのご案内

プレイヤーを呼び出す関数で player.on("error", (err) => {});コードにてイベントを検知し、エラーコードとメッセージを呼び出すことができます。

参考

エラーコードは Video Player Enhancementサービスで提供するエラーコードリストで転送します。詳細は、エラーコードをご参照ください。

ユースケースは次の通りです。

function createPlayer(id) {
    let player = new ncplayer('video', {
        { 
            file:"http://example.com/myVideo.mp4",
            poster:"http://example.com/myVideoThumb.png" 
        },
    });
    
    player.on("error", (err) => {
        const error_code = err.code;
        switch (error_code) {
            case "E0001":
                console.log("E0001 - ACCESS DENIED");
                console.log("正しくないアクセス/正しくないオプション値が転送された場合に発生", err);
                break;
            case "E0002":
                console.log("E0002 - NOT AUTHORIZED");
                console.log("動画の再生権限なし/正しくないリクエストでプレイヤー認証が失敗した場合に発生", err);
                break;
            case "E0003":
                console.log("E0003 - NETWORK ERROR");
                console.log("認証失敗/ネットワーク接続問題で発生", err);
                break;
            case "E0004":
                console.log("E0004 - CANNOT PLAY");
                console.log("動画再生が不可能/動画ファイルの再生に失敗する場合に発生", err);
                break;
            case "E0005":
                console.log("E0005 - LICENSE IS INVALID");
                console.log("ライセンスが有効ではありません/ライセンスが有効期限切れになった場合に発生", err);
                break;
            case "E0006":
                console.log("E0006 - LIMIT DENIED");
                console.log("月間基本提供呼び出し量を超過/無料プレイヤーの月間使用量を使い切った場合に発生", err);
                break;
            default:
                break;
        }
    });
}

エラー時の Retry環境設定

プレイヤーの再試行設定により、プレイヤーがエラーにレスポンスするまでの最大再試行回数と最大遅延時間の設定をカスタマイズできます。

参考

デフォルト値は以下の通りです。

  • プレイヤーリセット時に映像再生試行を追加: デフォルト値として最大3回、5秒間隔
  • Live / VODが中断された際にも再生試行を追加: デフォルト値として最大3回、5秒間隔
  • Retryオプションによる再定義のユースケースは以下の通りです。
new ncplayer('video', {
    playerlist:[
        {
            file:"https://dobdd7vj3864.edge.naverncp.com/hls/47NWZgkwsKFkPIU1tix9Zw__/endpoint/sample/example.mp4.smil/master.m3u8",
            poster:"https://2ardrvaj2252.edge.naverncp.com/endpoint/sample/221027_NAVER_Cloud_intro_Long_ver_01.jpg",
        },
    ],
        retry:{
            maxRetry:10, //最大再試行回数
            interval:5000, //再試行回数当たりの遅延時間(ms)
        },
    },
);
オプション タイプ デフォルト値 説明
retry Object
retry.maxRetry Int 3 再試行回数
retry.interval Int 5000 再試行の遅延時間(ms)

エラー画面のオーバーライド(Override)

基本的に提供されるエラー画面を顧客会社が希望するコードに変更して実行できます。
エラー画面をオーバーライドすると、次の変更画面のように最後の再生位置で停止(pause)ステータスを維持したままプレイヤーオーバーレイでエラー画面を実装できます。
image-EFN2HNB7

ユースケースは次の通りです。

// 動画(MP4)
const player = new ncplayer('video', {
    playlist: [
        {
            file: 'https://CDNドメイン/example_video_01.mp4',
            poster: 'https://CDNドメイン/example_image_01.png',
        }
    ],
    override:{
        error(err){
            console.log('player error :', err);
            // 顧客会社のエラー画面機能の実装
            // 例) documnet.getElementById('error').style.display = 'block';
        },
    }
});

エラーコード

Video Player Enhancementサービスが提供するエラーコードリストは、次の通りです。

エラー番号 エラーコード エラーメッセージ 説明
E0001 ACCESS DENIED 不正なアクセスです。 不正なオプション値が渡された場合に発生し、動画再生不可
E0002 NOT AUTHORIZED 動画を再生する権限がありません。 不正なリクエストによりプレイヤーの認証に失敗する場合に発生
E0003 NETWORK ERROR ネットワークの状態が不安定です。 ネットワークの問題によりプレイヤーの認証に失敗する場合に発生
E0004 CANNOT PLAY VIDEO 動画を再生できません。 動画の再生に失敗する場合に発生
E0005 LICENSE IS INVALID ライセンスが無効です。 プレイヤーライセンスが有効期限切れになった時に発生し、動画再生不可
E0006 LIMIT DENIED 月間の基本提供呼び出し数を超過しました。 無料プレイヤーの月間提供量をすべて使い果たした場合に発生し、動画再生不可