옵션

VPE 플레이어의 모든 옵션을 설명합니다. 옵션은 new ncplayer()의 두 번째 인자로 전달합니다.

기본 옵션

이름타입기본값설명
playlistPlaylistItem[][]재생 목록 배열. file(영상 URL)과 poster(썸네일) 등을 포함합니다.
autostartbooleanfalse페이지 로드 시 자동 재생 여부
mutedbooleanfalse초기 음소거 상태. autostart와 함께 사용 시 true 필수.
aspectRatiostring"16/9"플레이어 비율 ("16/9", "4/3", "1/1", "9/16", "auto")
objectFitstring"contain"영상 채움 방식 ("contain", "cover", "fill", "scale-down", "stretch")
controlsbooleantrue컨트롤 UI 표시 여부
langstring"auto"UI 언어 설정 ("auto", "ko", "en")

playlist 아이템 구조

// PlaylistItem 구조
{
    file: "https://example.com/video.m3u8",  // 영상 URL (HLS, DASH, MP4)
    poster: "https://example.com/poster.jpg", // 썸네일 이미지 URL
    description: {
        title: "영상 제목",                    // 영상 제목
        profile_name: "채널명",                // 채널/프로필명
        profile_image: "https://example.com/profile.png", // 프로필 이미지 URL
        created_at: "2026.01.01",             // 생성 날짜
    },
    vtt: [                                    // 자막 목록
        {
            file: "https://example.com/subtitle.vtt",
            label: "한국어",
            language: "ko",
            default: true,
        },
    ],
    drm: {                                    // DRM 설정 (ncplayerDRM 사용 시)
        "com.widevine.alpha": { ... },
        "com.apple.fps": { ... },
        "com.microsoft.playready": { ... },
    },
}

재생 옵션

이름타입기본값설명
repeatbooleanfalse반복 재생 여부
autoPausebooleanfalse브라우저 탭 비활성화 시 자동 정지
lowLatencyModebooleanfalse초저지연 모드 (라이브 스트리밍)
setStartTimestring | nullundefined최초 공개 시간 설정 (ISO 8601 형식)
tokenstringundefinedCDN 보안 토큰
playbackRatenumber1.0재생 속도
playRateSettingnumber[]undefined재생 속도 옵션 리스트

UI 옵션

이름타입기본값설명
uistring"auto"UI 모드 ("auto", "pc", "mobile")
controlBtnobjectundefined개별 컨트롤 버튼 표시/숨김 설정
progressBarColorstringundefined진행 바 색상 (CSS 색상값)
controlActiveTimenumber3000컨트롤 바 자동 숨김 시간 (ms)
keyboardShortcutbooleantrue키보드 단축키 사용 여부
seekingPreviewbooleantrue진행 바 탐색 시 미리보기 표시
touchGesturesbooleantrue모바일 터치 제스처 사용 여부
startMutedInfoNotVisiblebooleanfalse음소거 시작 알림 숨김
descriptionNotVisiblebooleanfalse메타 정보(제목, 채널명) 숨김
iosFullscreenNativeModebooleantrueiOS 전체화면 네이티브 모드 사용

controlBtn 설정

개별 컨트롤 버튼의 표시/숨김을 설정합니다.

const player = new ncplayer("player", {
    controlBtn: {
        play: true,
        fullscreen: true,
        progressBar: true,
        volume: true,
        times: true,
        pictureInPicture: true,
        setting: true,
        subtitle: true,
    },
    playlist: [
        { file: "https://example.com/video/master.m3u8" },
    ],
});

워터마크

이름타입기본값설명
visibleWatermarkbooleanfalse텍스트 워터마크 표시 여부
watermarkTextstringundefined워터마크 텍스트 내용
watermarkConfig.randPositionbooleantrue워터마크 위치 랜덤 이동
watermarkConfig.randPositionInterValnumber3000랜덤 이동 간격 (ms)
watermarkConfig.xnumber10고정 위치 X 좌표 (%)
watermarkConfig.ynumber10고정 위치 Y 좌표 (%)
watermarkConfig.opacitynumber0.5워터마크 투명도 (0~1)
const player = new ncplayer("player", {
    visibleWatermark: true,
    watermarkText: "SAMPLE@example.com",
    watermarkConfig: {
        randPosition: true,
        randPositionInterVal: 3000,
        opacity: 0.5,
    },
    playlist: [
        { file: "https://example.com/video/master.m3u8" },
    ],
});

전체 옵션 예제

주요 옵션을 포함한 종합 예제입니다.

const player = new ncplayer("player", {
    playlist: [
        {
            file: "https://example.com/video/master.m3u8",
            poster: "https://example.com/poster.jpg",
            description: {
                title: "영상 제목",
                profile_name: "채널명",
            },
            vtt: [
                {
                    file: "https://example.com/subtitle_ko.vtt",
                    label: "한국어",
                    language: "ko",
                    default: true,
                },
            ],
        },
    ],
    autostart: true,
    muted: true,
    aspectRatio: "16/9",
    objectFit: "contain",
    controls: true,
    controlBtn: {
        play: true,
        fullscreen: true,
        progressBar: true,
        volume: true,
        times: true,
        pictureInPicture: true,
        setting: true,
        subtitle: true,
    },
    progressBarColor: "#2e6ae0",
    controlActiveTime: 3000,
    keyboardShortcut: true,
    touchGestures: true,
    repeat: false,
    playRateSetting: [0.5, 0.75, 1.0, 1.25, 1.5, 2.0],
    lang: "ko",
});
Tip: Options Test 페이지에서 모든 옵션을 실시간으로 테스트할 수 있습니다.
UMD