플레이어 UX

플레이어 UX에서는 스크립트 코드를 수정하여 UX와 관련한 옵션을 설정하는 방법을 설명합니다. 본 기능은 Classic/VPC 환경에서 사용할 수 있습니다.

  • 옵션을 설정하는 속성에 대한 설명은 플레이어 설정을 참고하세요.
  • 이용 중인 요금제에 따라 설정 가능한 옵션이 다를 수 있습니다.

음소거 상태 표시 (startMutedInfoNotVisible)

음소거 상태를 표시할 수 있습니다.

import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                autostart: true,
                muted: true,
                startMutedInfoNotVisible: true,
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

구간 이동 미리보기 (seekingPreview)

구간 이동 시 섬네일 이미지를 제공합니다.

Standard 요금제에서만 사용할 수 있습니다.
  • VOD에서만 지원합니다.
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(VOD)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                seekingPreview: true,
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

브라우저 비활성화 시 자동 정지 (autoPause)

탭이 비활성화되면 자동으로 재생을 정지합니다.

Standard 요금제에서만 사용할 수 있습니다.
  • 모바일에서는 동작하지 않습니다.
  • Webapp/Webview 환경에서는 동작하지 않습니다.
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(VOD)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                autoPause: true,
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

키보드 단축키 (keyboardShortcut)

키보드 단축키 사용 여부를 설정합니다.

Standard 요금제에서만 사용할 수 있습니다.
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                keyboardShortcut: true,
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

기본 단축키

기능
Space재생 / 일시정지
← →5초 전 / 후로 이동
↑ ↓볼륨 5% 조절
M음소거
F전체 화면

터치 제스처 (touchGestures)

터치 제스처 사용 여부를 설정합니다.

Standard 요금제에서만 사용할 수 있습니다.
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                touchGestures: true,
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

텍스트 워터마크 (visibleWatermark / watermarkText)

워터마크를 활성화하거나 표시 텍스트를 설정합니다.

Standard 요금제에서만 사용할 수 있습니다.
  • 해당 옵션은 콘솔 설정을 통해서만 적용됩니다.
  • 코드에서 값을 바꿀 수 없습니다. (스크립트 코드에서만 확인 가능)
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                visibleWatermark: true,
                watermarkText: "Sample watermark",
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

텍스트 워터마크 상세 설정 (watermarkConfig)

워터마크 이동/위치/투명도 등을 설정합니다.

import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4) - 랜덤 이동
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                watermarkConfig: {
                    randPosition: true, // 워터마크 랜덤 이동 여부
                    randPositionInterVal: 5000, // 랜덤 이동 간격(ms)
                    opacity: 0.4, // 워터마크 투명도
                },
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4) - 고정 위치
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                watermarkConfig: {
                    randPosition: false, // 워터마크 랜덤 이동 여부
                    x: 10, // 좌측 상단 x 좌표(% 단위)
                    y: 10, // 좌측 상단 y 좌표(% 단위)
                    opacity: 0.4, // 워터마크 투명도
                },
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}

iOS 웹 전체 화면 방식 (iosFullscreenNativeMode)

iOS Safari의 네이티브 전체화면 방식을 사용합니다.

Basic/Standard 요금제에서 사용할 수 있습니다.
  • iOS Safari에서만 동작합니다.
  • Player 버전 1.1.5 이상에서 지원합니다.
  • 기본값은 true입니다.
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";

// 동영상(MP4)
export function App() {
    return (
        <VpePlayer
            accessKey="YOUR_ACCESS_KEY"
            hls={Hls}
            dashjs={dashjs}
            platform="pub"
            options={{
                iosFullscreenNativeMode: true,
                playlist: [
                    {
                        file: "https://CDN도메인/example_video_01.mp4",
                    },
                ],
            }}
        />
    );
}
React