PlayNPlay JSP 예시 코드

playnplay 객체를 통해 영상을 재생 or 다운로드하기 위해서 재생 url과 인증 정보 등 필요한 객체를 생성해야 합니다.

1. Streaming 처리 부분

아래는 스트리밍 영상을 재생하기 위한 JSON 객체를 생성하는 JSP 코드 예시입니다.

이 코드는 Java SE 7 이상(8 이상 권장)에서 지원하는 JSONObject를 사용합니다.

<%@ page import="java.util.HashMap, java.util.Map" %>
<%@ page import="org.json.JSONObject" %> <%-- JSONObject를 임포트 --%>
<%!
    // Streaming 처리 부분
    Map<String, Object> makeItem() {
        Map<String, Object> drmMap = new HashMap<>();
        drmMap.put("appId", "APP ID를 넣어주세요");
        drmMap.put("userId", "USER ID를 넣어주세요");

        Map<String, Object> mediaItem = new HashMap<>();
        mediaItem.put("url", "http://example.com/sample/sample.mp4.drm");
        mediaItem.put("drm", drmMap);

        // 모바일 플레이어 파일 명 추가 (option)
        Map<String, Object> metadata = new HashMap<>();
        metadata.put("title", "파일명");
        mediaItem.put("metadata", metadata);

        return mediaItem;
    }
%>
<%
    // 미디어 아이템 생성
    Map<String, Object> mediaItem = makeItem();

    // 미디어 아이템을 JSON으로 변환
    JSONObject jsonObject = new JSONObject(mediaItem);
    String jsonData = jsonObject.toString();

    // JSON 형식으로 응답 반환
    response.setContentType("application/json");
    out.print(jsonData);
%>

2. Download 처리 부분

아래는 다운로드 영상을 재생하기 위한 JSON 객체를 생성하는 JSP 코드 예시입니다.

이 코드는 Java SE 7 이상(8 이상 권장)에서 지원하는 JSONObject를 사용합니다.

<%@ page import="java.util.HashMap, java.util.Map" %>
<%@ page import="org.json.JSONObject" %>
<%!
    // Download 처리 부분
    Map<String, Object> makeItem() {
        Map<String, Object> drmMap = new HashMap<>();
        drmMap.put("appId", "APP ID를 넣어주세요");
        drmMap.put("userId", "USER ID를 넣어주세요");
        drmMap.put("offlineAccessPeriod", 86400); // Download한 파일 offline 재생 허용 기간(초), undefined: 제한 없음, 0: offline 재생 불가

        Map<String, Object> mediaItem = new HashMap<>();
        mediaItem.put("url", "http://example.com/sample/sample.mp4.drm" );
        mediaItem.put("drm", drmMap);

        // 다운로드 경로 추가
        Map<String, Object> metadata = new HashMap<>();
        metadata.put("downloadPath", "/타이틀/경로1/경로2");
        mediaItem.put("metadata", metadata);

        return mediaItem;
    }
%>
<%
    // 미디어 아이템 생성
    Map<String, Object> mediaItem = makeItem();

    // 미디어 아이템을 JSON으로 변환
    JSONObject jsonObject = new JSONObject(mediaItem);
    String jsonData = jsonObject.toString();

    // JSON 형식으로 응답 반환
    response.setContentType("application/json");
    out.print(jsonData);
%>

위로 스크롤