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

    동적 인게이션 알림

    이 항목에서는 수집 작업 진행률에 대한 정보를 제공하는 Dynamic Ingest 알림에 대해 배웁니다. 이 문서는 레거시 수집 시스템에만 적용됩니다. 동적 전달의 경우 동적 입수에 대한 알림

    Dynamic Ingest API 알림

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

    설정

    여기에 예제가 있습니다.

    • pub ID가 57838016001 인 사용자
    • Dynamic Ingest를 사용하여 https://s3.amazonaws.com/bucket/mysourcevideo.mp4에있는 소스 비디오 파일을 업로드하고 싶습니다.
    • 비디오 ID가 5199670523001 인 카탈로그에 기존 제목을 업로드하고 싶습니다.
    • 고해상도 프로필 사용
    • http : // host1 / path1 및 http : // host2 / path2에 각각있는 두 개의 끝점에서 콜백을 수신하려고합니다.

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

    POST 요청

    본문 요청

    샘플 통지

    알림은 JSON으로 요청 본문에 알림이 포함 된 POST 요청으로 전송됩니다. [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 부드러운 매니페스트의 경우 (2 - 매니페스트 에셋 중 하나가 MAPI에서 사용되며 다른 하나는 CMS API)
    entity 그것이 존재한다면, Video Cloud 처리되거나 실패한 저작물의 ID (동영상 객체가에서 성공적으로 생성 된 경우) Video Cloud)
    entityType 보고 된 저작물의 종류 - 예 : TITLE (동영상), DIGITAL_MASTER, ASSET (번역, 자막 파일 또는 이미지)
    errorMessage 그것이 일어난다면 왜 섭취가 실패했는지에 대한 설명
    version 항상 같은 문자열 "1"
    action 발생한 작업 (예 : CREATE

    알림 통역

    다음을 포함하는 알림 "action": "CREATE""status": "SUCCESS" 프로세스 완료를 나타냅니다.

    • 경우 entityType is TITLE, 처리 된 비디오 처리가 완료됩니다.
    • 경우 entityType is ASSET렌 디션, 이미지, 매니 페스트 또는 WebVTT 파일이 비디오에 성공적으로 추가되었습니다.

    참고 : a "status": "SUCCESS"제목 처리가 완료되었음을 나타내지 만 반드시 모든 변환이 성공적으로 작성되었음을 의미하지는 않습니다. 동영상의 동적 인게 트 입금이 성공했는지 여부를 확인하려면 동적 인출 요청 상태 가져 오기

    기본 샘플 앱

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

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

    참고 :이 앱을 직접 구현하려는 경우 앱에 로그 파일에 쓸 수있는 권한이 있는지 확인해야합니다. 또한 로그 파일이 빠르게 커질 수 있음을 기억하십시오. 정기적으로 파일을 비우는 것이 좋습니다.

        <?php
        // POST won't work for JSON data
        $problem = "No errors";
        try {
            $json    = file_get_contents('php://input');
            $decoded = json_decode($json, true);
        } catch (Exception $e) {
            $problem = $e->getMessage();
        }
        
        // turn notification into pretty printed JSON
        $notification = json_encode($decoded, JSON_PRETTY_PRINT);
        
        
        
        $logEntry = $notification.
        "\nErrors receiving notificatons: ".$problem.
        "\n-------------------------------\n";
        
        // Lastly, tell PHP where it can find the log file and tell PHP to open it
        // and add the string we created earlier to it.
        $logFileLocation = "di-log.txt";
        $fileHandle      = fopen($logFileLocation, 'a') or die("-1");
        fwrite($fileHandle, $logEntry);
        fclose($fileHandle);
        
        // line below is displayed when you browse the app directly
        echo "Dynamic Ingest callback app is running";
        ?>
        

    12 년 2020 월 XNUMX 일에 마지막으로 업데이트 된 페이지