ウェブ環境
    • PDF

    ウェブ環境

    • PDF

    Article Summary

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

    Web環境では、ウェブ環境で Video Player Enhancementのプレイヤーを適用する方法と、プレイヤーのオプションを設定する方法について説明します。

    参考

    ウェブ環境でプレイヤーを適用して設定するには、次のような環境が求められます。

    プレイヤー適用

    ウェブページにプレイヤーを適用する方法は、次の通りです。

    参考

    ウェブページにプレイヤーを適用するには、1つ以上のプレイヤーが必要です。プレイヤーを作成する方法は、プレイヤー作成をご参照ください。

    1. NAVERクラウドプラットフォームコンソールの Region メニューや Platform メニューから利用中の環境をクリックします。
    2. Services > Media > Video Player Enhancement メニューを順にクリックします。
    3. Video Player Management メニューをクリックします。
    4. プレイヤーリストからウェブ環境に適用するプレイヤーの [SDKアドレス] ボタンをクリックします。
    5. プレイヤーを適用するサービス環境を選択し、 SDKアドレス[コピー] ボタンをクリックします。
      • そのプレイヤーの SDKアドレスがクリップボードにコピーされます。
    6. コピーした SDKアドレスを次のようにウェブページの HTMLに追加します。
      
      

    プレイヤー設定

    プレイヤーのオプションは NAVERクラウドプラットフォームコンソールで簡単に事前に設定でき(プレイヤー設定を参照)、それぞれのプロパティを設定してプレイヤーをカスタマイズできます。
    プレイヤーの基本構造は、次の通りです。

    new ncplayer("HTMLElement id" , {
        playlist:[                
            { file:"http://example.com/myVideo.mp4" } // 再生ソース
        ]
    });
    

    プレイヤーオプション

    カスタマイズできるオプションは、次の通りです。

    参考

    利用中の料金プランに応じて設定できるオプションが異なります。

    料金プランプロパティ(属性)タイプ説明デフォルト値オプションの値要否
    Basic/Standardplaylistarrayプレイリスト--O
    autostartboolean自動再生true-X
    mutedbooleanミュートfalse-X
    keyboardShortcutbooleanキーボードショートカットtrue-X
    controlsbooleanコントロールバーの使用有無true-X
    uistringUIの設定all
  • all: 自動変換
  • pc: PC専用 UIの固定
  • mobile: モバイル専用 UIの固定
  • X
    aspectRatiostringアスペクト比16/916/9, 4/3, 1/1, 9/16, 21/9X
    objectFitstring画面拡大contain
  • contain: 比率維持
  • cover: 比率を維持する + 画面サイズに合わせる
  • fill: 比率は無視する + 画面サイズに合わせる
  • X
    autoPausebooleanタブを無効化すると自動で停止false-X
    repeatbooleanループ再生false-X
    langstringUI言語の設定auto
  • auto: 言語検出
  • ko: 韓国語
  • en: 英語
  • ja: 日本語
  • zh: 中国語
  • -
    StandardcontrolBtnarray次のようなオプションの設定
    • play boolean: プレイボタン
    • fullscreen boolean: フルスクリーンに切り替え
    • volume boolean: ボリュームコントロール
    • times boolean: 時間情報 UI
    • pictureInPicture boolean: ミニプレイヤー
    • setting boolean: セッティングボタン
    controlBtn: {
      play: true,
      fullscreen: true,
      volume: true,
      times: true,
      pictureInPicture: true,
      setting: true
    },
    -X
    customBtnsarray次のようなオプションの設定
    • ui string: インストールする UI
    • id string: ボタンの DOM ID
    • position string: プレイヤー内のボタンポジション
    • icon string: ボタン画像 URL
    • flow string: ポジション内のボタン作成位置(デフォルトボタン基準)
    • callback function: ボタンをクリックすると発生するイベント
    -
  • ui
      • pc: pc環境設定
      • mobile: モバイル環境設定
  • position
      • right-top: 右上
      • right-bottom: 右下
      • left-top: 左上
      • left-bottom: 左下
  • flow
      • right: 右
      • left: 左
    X
    progressBarColorstringコントロールバーのカラー#4299f5-X
    controlActiveTimenumberコントロールバーの有効時間(ms)3000-X
    startMutedInfoNotVisiblebooleanミュート表示false-X
    playRateSettingarray倍速選択オプション[0.5,0.75,1,1.5,2]-X
    seekingPreviewboolean動画区間移動のプレビューtrue-X
    touchGesturesbooleanタッチジェスチャtrue-X
    descriptionNotVisiblebooleanメタデータfalse-X
    lowLatencyModebooleanCMAF LL-HLSfalse-X
    watermarkConfigarray次のようなオプションの設定
    • randPosition boolean: ウォーターマークランダム位置の有効化有無(true: ランダム、false: 固定)
    • randPositionInterVal number: ウォーターマーク位置のランダム変更時間(1000=1秒)
    • x number: 横位置%
    • y number: 縦位置%
    • opacity number: 透明度(0.1~1)
    randPositionInterVal number: 3000-X

    デフォルトアイコンの変更

    スクリプトコードを修正してデフォルトアイコンを変更できます。ユースケースは次の通りです。

    // 動画(MP4)
    const player = new ncplayer('video', {
        playlist: [
            { 
                file: 'https://CDNドメイン/example_video_01.mp4',
                poster: 'https://CDNドメイン/example_image_01.png',
            }
        ],
        controlBtn:{
        play:true,
        fullscreen:true,
        volume:true,
        times:true,
        pictureInPicture:true,
        setting:true,
        subtitle:true,
    },
    
    icon:{
            bigPlay:"https://CDNドメイン/icon/play-circle-fill.svg", // 自動再生前の大きなプレイボタン
            play:"https://CDNドメイン/icon/play-fill.svg", // 再生
            use:"https://CDNドメイン/icon/pause-fill.svg", // 一時停止
            prev:"https://CDNドメイン/icon/skip-back-fill.svg", // 前の動画
            next:"https://CDNドメイン/icon/skip-forward-fill.svg", // 次の動画
            replay:"https://CDNドメイン/icon/arrow-clockwise-fill.svg", // もう一度見る
            subtitle:"https://CDNドメイン/icon/closed-captioning-fill.svg", // 字幕を有効化
            subtitleOff:"https://CDNドメイン/icon/closed-captioning.svg", // 字幕を無効化
            fullscreen:"https://CDNドメイン/icon/corners-out.svg", // フルスクリーンに切り替え
            fullscreenExit:"https://CDNドメイン/icon/corners-in.svg", // フルスクリーンを解除
            volumeFull:"https://CDNドメイン/icon/speaker-simple-high-fill.svg", // ボリューム最大
            volumeMute:"https://CDNドメイン/icon/speaker-simple-x-fill.svg", // ボリューム0、ミュート
            volumeMid:"https://CDNドメイン/icon/speaker-simple-low-fill.svg", // ボリューム中間
            pip:"https://CDNドメイン/icon/picture-in-picture-fill.svg", // PIP
            setting:"https://CDNドメイン/icon/gear-fill.svg", // 設定
       }
    });
    
    プロパティ(属性)説明
    bigPlay自動再生前の大きなプレイボタン
    play再生
    pause一時停止
    prev前の動画を再生
    next次の動画を再生
    replayもう一度見る
    subtitle字幕を有効化
    subtitleOff字幕を無効化
    fullscreenフルスクリーンに切り替え
    fullscreenExitフルスクリーンを解除
    volumeFullボリューム最大
    volumeMuteボリューム0、ミュート
    volumeMidボリューム中間
    pipPIP
    setting設定

    Picture In Picture機能のオーバーライド(Override)

    提供される PIP機能をウェブサイト内のフローティングプレイヤー機能に変更できます。ユースケースは次の通りです。

    // 動画(MP4)
    const player = new ncplayer('video', {
        playlist: [
            { 
                file: 'https://CDNドメイン/example_video_01.mp4',
                poster: 'https://CDNドメイン/example_image_01.png',
            }
        ],
        override:{
            pip:{
                on(){
                    window.player.uiHidden(); // プレイヤーのすべての UIを隠す
                    // 顧客会社のフローティングプレイヤーの実行コードを作成
                    // 例) floatingModeStart()
                },
                off(){
                    window.player.uiVisible(); // プレイヤーのすべての UIを表示
                    // 顧客会社のフローティングプレイヤーの終了コードを作成
                    // 例) floatingModeStop()
                }
            }
        }
    });
    

    フローティングプレイヤーの UIを隠す

    PIP機能をフローティングプレイヤーに変更した場合、フローティングプレイヤーのコントロール UIの表示有無を設定できます。
    この機能はフローティングプレイヤーの実装時に必ず検討すべきメソッドであり、controlBarActive/controlBarDeactiveメソッドとは別に uiHidden メソッドを使用してすべての UIを隠したり、uiVisibleメソッドを使用してすべての UIを表示するように設定できます。
    ユースケースは次の通りです。

    // 動画(MP4)
    const player = new ncplayer('video', {
        playlist: [
            { 
                file: 'https://CDNドメイン/example_video_01.mp4',
                poster: 'https://CDNドメイン/example_image_01.png',
            }
        ]
    });
    
    
    //コントロール UIを隠す
    player.uiHidden();
    
    //コントロール UIを表示
    player.uiVisible();
    

    Playlist

    再生ソースの設定に関するプロパティ情報は、次の通りです。

    料金プランプロパティ(属性)タイプ説明オプションのユースケース要否
    Basic/Standardfilestring
    • 再生したい動画情報
      • hls、dash、mp4をサポート
    • sourcesで代用可能
    playlist: [
      {
        file: 'https://CDNドメイン/example_video_ 01.mp4',
      }
    ]
    O
    sourcesarray
    • 動画に色々な解像度を提供する場合、次のようなプロパティを有する
      • file string: 解像度別の動画ファイルパス
      • label string: 解像度調整コントロールに表示するテキスト
      • default boolean: 基本解像度の適用
    • fileで代用可能
    -X
    posterstring動画再生前に表示する画像-X
    Standarddescriptionarrayプレイヤーの上に表示するメタデータであり、次のようにプロパティを有する
    • title string: タイトル
    • created_at string: 日付
    • profile_ name string: チャンネル名またはアップローダのハンドルネーム
    • profile_image string: チャンネル画像またはアップローダプロファイル画像
    • callback function: メタデータをクリックすると発生するイベント
    description: {
      title: "タイトル",
      created_at: "日付",
      profile_ name: "アップローダのハンドルネーム",
      profile_image: "チャンネル画像",
      callback(){
        location.href='...'
      }
    }
    X

    Method

    Video Player Enhancementサービスは、動画を再生して様々な機能を実現できる様々なメソッドを提供します。

    参考

    プレイヤーを作成した後からメソッドを呼び出すことができます。

    プレイヤーを作成して再生するスクリプトは、次の通りです。

    let player = new ncplayer('myElement', {
        playlist: [
            { 
                file:"http://example.com/myVideo.mp4",
                poster:"http://example.com/myVideoThumb.png" 
            }
        ]
    });
    player.play();
    

    対応 Method

    Video Player Enhancementサービスで対応するメソッドは、次の通りです。

    メソッド説明
    ncplayer.play()動画再生
    ncplayer.pause()動画の一時停止
    ncplayer.prev()前の動画がある場合、前の動画を再生
    ncplayer.next()次の動画がある場合、次の動画を再生
    ncplayer.mute()動画ミュート
    ncplayer.controlBarActive()プレイヤーコントロールバー UIの有効化
    ncplayer.controlBarDeactive()プレイヤーコントロールバー UIの無効化
    ncplayer.fullscreen()フルスクリーンに切り替え
    ncplayer.pip()ミニプレイヤーに切り替え
    ncplayer.volume(value)ボリューム調整
    • 0.0~1の間の値で設定
    ncplayer.currentTime(value)現在再生中の動画の時間を変更
    • 現在再生中の動画の再生時間を秒単位で設定して変更
      例) 3分20秒 -> 200
    ncpplayer.on(type, listner)イベントの受け取り
    • type string: 受け取るイベント名、イベントリスト(対応するイベントを参照)
    • listner function: イベントが発生すると呼び出す関数を転送

    イベント

    Video Player Enhancementサービスはユーザーのための様々なイベントを提供し、メタデータをクリックすると発生するイベントを設定できます。

    参考

    イベント機能は、Standard料金プランでのみ提供されます。

    イベントは次のように受け取ることができます。

    let player = new ncplayer('myElement', {
        playlist: [
            { 
                file:"http://example.com/myVideo.mp4",
                poster:"http://example.com/myVideoThumb.png" 
            }
        ]
    });
    
    player.on('play',(e)=>{
        console.log('Playしました。',e);
    })
    

    対応するイベント

    Video Player Enhancementサービスで対応するイベントは、次の通りです。

    イベント説明
    play動画再生リクエストが成功した時に発生するイベント
    pause動画が一時停止した時に発生するイベント
    readyプレイヤーが再生する準備が完了した時に発生するイベント
    ended再生が最後まで完了した時に発生するイベント
    seekingseek動作を開始する時に発生するイベント
    seekedSeek動作が完了した時に発生するイベント
    waitingバッファが発生した時に発生するイベント
    volumechangeボリュームを変更する時に発生するイベント(ミュートを含む)
    controlbarActiveコントロールバーが有効化した時に発生するイベント
    controlbarDeactiveコントロールバーが無効化した時に発生するイベント
    fullscreenフルスクリーン状態が変更した時に発生するイベント
    fullscreen_onフルスクリーンが開始した時に発生するイベント
    fullscreen_offフルスクリーンが解除した時に発生するイベント
    • iOS(iPhone)モバイルウェブでは使用不可
    timeupdate現在の再生時間が変更される時に発生するイベント(timeupdateスクリプトを参照)
    prevTrack前の動画に移動する時に発生するイベント(prevTrackスクリプトを参照)
    nextTrack次の動画に移動する時に発生するイベント(nextTrackスクリプトを参照)

    timeupdateスクリプト
    timeupdateイベントに対するスクリプトおよび各プロパティの説明は、次の通りです。

    let player = new ncplayer('myElement', {
        playlist: [
            { 
                file:"http://example.com/myVideo.mp4",
                poster:"http://example.com/myVideoThumb.png" 
            }
        ]
    });
    
    player.on('timeupdate',(data)=>{
        console.log('動画全体の長さ(duration) : ',data.duration);
        console.log('現在の再生位置(currentTime) : ',data.currentTime);
        console.log('現在の再生パーセント(percent) : ',data.percent);
        console.log('累計再生時間(viewingTime) : ',data.viewingTime);
        console.log('再生ソースタイプ(sourceType) : ',data.sourceType); // 再生ソースタイプ(vod、live)
    })
    
    プロパティ(属性)タイプ説明
    durationint動画全体の長さ
    currentTimeint現在の再生位置
    percentint現在の再生率
    viewingTimeint累計再生時間
    sourceTypestring再生ソースタイプ

    prevTrackスクリプト
    prevTrackイベントに対するスクリプトと各プロパティの説明は、次の通りです。

    let player = new ncplayer('myElement', {
        playlist: [
            { 
                file:"http://example.com/myVideo.mp4",
                poster:"http://example.com/myVideoThumb.png" 
            },
            { 
                file:"http://example.com/myVideo2.mp4",
                poster:"http://example.com/myVideoThumb2.png" 
            }
        ]
    });
    
    player.on('prevTrack',(data)=>{
        console.log('prevTrack' , data);
    })
    
    プロパティ(属性)タイプ説明
    filestring動画 URL
    posterstringサムネイル画像
    titlestring動画タイトル
    created_atstring動画の日付
    profile_namestringプロファイル名
    profile_imagestringプロファイル画像

    nextTrackスクリプト
    nextTrackイベントに対するスクリプトと各プロパティの説明は、次の通りです。

    let player = new ncplayer('myElement', {
        playlist: [
            { 
                file:"http://example.com/myVideo.mp4",
                poster:"http://example.com/myVideoThumb.png" 
            },
            { 
                file:"http://example.com/myVideo2.mp4",
                poster:"http://example.com/myVideoThumb2.png" 
            }
        ]
    });
    
    player.on('nextTrack',(data)=>{
        console.log('nextTrack' , data);
    })
    
    プロパティ(属性)タイプ説明
    filestring動画 URL
    posterstringサムネイル画像
    titlestring動画タイトル
    created_atstring動画の日付
    profile_namestringプロファイル名
    profile_imagestringプロファイル画像

    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.