지원 고객 지원 문의 | 시스템 상태 시스템 상태
페이지 내용

    동적 인제스트 알림

    이 항목에서는 수집 작업의 진행률에 대한 정보를 제공하는 동적 인제스트 알림에 대해 알아봅니다. 이 문서는 레거시 수집 시스템에만 적용됩니다. Dynamic Delivery의 경우동적 수집에 대한 알림

    동적 인제스트 API 알림

    하나 이상의 콜백 URL을 지정하여 인제스트 프로세스 결과에 대한 알림을 받을 수 있습니다. 지정하는 URL은 POST 요청을 수락 할 수있는 앱용이어야합니다. 알림은 JSON 형식으로 전송됩니다.

    설정

    여기 예가 있습니다.

    • 퍼브 아이디 57838016001을 가진 사용자
    • 동적 인제스트를 사용하여 https://s3.amazonaws.com/bucket/mysourcevideo.mp4 에 있는 소스 비디오 파일을 업로드하려고 합니다.
    • 비디오 ID 5199670523001로 카탈로그에 기존 타이틀을 업로드하려고 합니다.
    • 고해상도 프로필 사용
    • 각각 http://host1/path1 및 에있는 두 개의 끝점에서 콜백을 받기를 원합니다. http://host2/path2

    DI 요청은 다음과 같습니다.

    POST 요청

    요청 본문

    샘플 알림

    알림은 POST 요청으로 전송되며 요청 본문에 JSON [1]으로 알림이 전송됩니다. 다음은 몇 가지 샘플 알림입니다.

        {
            "accountId": "57838016001",
            "entityType": "ASSET",
            "version": "1",
            "status": "SUCCESS",
            "videoId": "5199670523001",
            "entity": "5199679295001",
            "action": "CREATE",
            "jobId": "699db2e5-aeb7-4765-a4a7-2cc68c7360bd"
        }
        {
            "action": "CREATE",
            "status": "SUCCESS",
            "entityType": "DIGITAL_MASTER",
            "videoId": "5199670523001",
            "entity": "5199670523001",
            "accountId": "57838016001",
            "version": "1",
            "jobId": "699db2e5-aeb7-4765-a4a7-2cc68c7360bd"
        }
        {
            "entityType": "ASSET",
            "status": "SUCCESS",
            "action": "CREATE",
            "entity": "5199680423001",
            "profileRefId": "ts7",
            "version": "1",
            "accountId": "57838016001",
            "videoId": "5199670523001",
            "jobId": "699db2e5-aeb7-4765-a4a7-2cc68c7360bd"
        }
        {
            "jobId": "699db2e5-aeb7-4765-a4a7-2cc68c7360bd",
            "accountId": "57838016001",
            "version": "1",
            "status": "SUCCESS",
            "entityType": "TITLE",
            "entity": "5199670523001",
            "videoId": "5199670523001",
            "action": "CREATE"
        }

    참고

    • [1]예외: DRM 패키지 콘텐츠에 대한 모든 알림은 키 / 값 쌍으로 반환됩니다. 이 경우Content-Type헤더는application/x-www-form-urlencoded . 그렇지 않으면Content-Type될거야application/json

    알림 필드

    아이템 설명
    status 는 요청이 성공한FAILED경우 변환의 인제스트 또는 작성이 성공하지 못한SUCCESS경우
    accountId 계정 ID
    videoId 비디오 ID
    jobId 동적 인제스트 요청에 대한 작업 ID
    profileRefId

    비디오 변환의 경우 이것은reference id수집 프로필에서 변환에 대해 지정했습니다.

    매니페스트의 경우profileRefId매니페스트 유형을 나타냅니다.

    • HlsManifest HLS NG 매니페스트의 경우
    • HdsManifest HDS 매니페스트
    • DashManifest DASH 매니페스트의 경우 (2-매니페스트 자산 중 하나는 MAPI에서 사용하고 다른 하나는 CMS API에서 사용하는 데 사용됨)
    • SmoothIsmManifest Smooth 매니페스트의 경우 (2-매니페스트 자산 중 하나는 MAPI에서 사용하고 다른 하나는 CMS API에서 사용하는 데 사용됨)
    entity 존재하는 경우 수집되거나 실패한 자산의 Video Cloud ID (비디오 개체가 Video Cloud에서 성공적으로 생성 된 경우)
    entityType 보고 된 자산의 종류 - 예를 들면: 제목 (비디오), DIGITAL_MASTER, 에셋 (변환, 캡션 파일 또는 이미지)
    errorMessage 인제스트가 실패한 이유에 대한 설명
    version 항상 같은 문자열"1"
    action 발생한 작업 (예: CREATE)

    알림 해석

    프로세스"action": "CREATE"완료를"status": "SUCCESS"포함하는 알림입니다.

    • entityType이 (가TITLE ) 있는 경우 수집한 비디오 처리가 완료된 것입니다.
    • 만약entityType이다ASSET , 그런 다음 변환, 이미지, 매니페스트 또는 WebVTT 파일이 비디오에 성공적으로 추가되었습니다.

    참고: "status": "SUCCESS"제목의 a 는 처리가 완료되었음을 나타내지만 반드시 모든 변환이 성공적으로 만들어졌음을 의미하지는 않습니다. 비디오의 동적 수집이 성공했는지 확인하려면동적 수집 요청 상태 가져 오기

    기본 샘플 앱

    다음은 간단한 로깅 앱의 코드입니다. Dynamic Ingest API공고. 이 앱은 PHP로 작성되었지만 앱에 공개 URL이 있고 http (s) POST 요청을 처리 할 수있는 한 모든 언어를 사용할 수 있습니다.

    이 앱이 생성하는 로그 파일을 볼 수 있습니다. 여기.

    참고 :이 앱을 직접 구현하려는 경우 앱에 로그 파일에 대한 쓰기 권한이 있는지 확인해야합니다. 또한 로그 파일은 빠르게 커질 수 있으므로 정기적으로 비우고 싶을 것입니다.

        <?php
        //JSON 데이터에 대해 POST가 작동하지 않음
        $ 문제 = “오류 없음”;
        {
            $ JSON = 파일 _get_내용 ('PHP://입력');
            $ 디코딩 = json_decode ($ JSON, 사실);
        } catch (Exception $e) {
            $ 문제 = $ - > getMessage ();
        }
        
        //알림을 예쁜 인쇄 된 JSON으로 변환
        $ 알림 = json_인코딩 ($ 디코딩, JSON_PRETTY_인쇄);
        
        
        
        $ logEntry = $ notification.
        "\\ n 알림 수신 오류 :". $ problem.
        "\\ n ------------------------------- \\ n";
        
        // 마지막으로 로그 파일을 찾을 수있는 위치를 PHP에 알리고 파일을 열도록 PHP에 지시합니다.
        //이전에 만든 문자열을 추가합니다.
        $ logFileLocation = "di-log.txt";
        $ 파일 핸들 = fopen ($ 로그 파일 위치, 'a') 또는 다이 (“-1");
        fwrite ($ fileHandle, $ logEntry);
        fclose ($ fileHandle);
        
        //앱을 직접 탐색할 때 아래 줄이 표시됩니다.
        echo "Dynamic Ingest 콜백 앱이 실행 중입니다.";
        ?>