{
  "schema_version": 1,
  "project_id": "021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha",
  "run_id": "run-20260721T131911Z-ac5d64d1",
  "status": "completed",
  "verified": true,
  "source_canon_sha256": "bb80e97d9adcb0427ea3828449858445323db228cca38f37cdf0446fffefdd6f",
  "audio_sha256": "f39e3db2b844dd4740e2509e46787a3aafb42110df26b1e9c0bceac675e3ad08",
  "layout_sha256": "415639e1d60ad353b7af2618c14a73a1c949ec18e40a5771425a6d491d770e76",
  "job_id": "3506858b713440a297ee623f603f495e",
  "output_path": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/output/footage/footage.mp4",
  "output_sha256": "7fb56d54eb2ebb9a3efda7989e2cd975fd810467d28152aa3fc5ab7a1502d09f",
  "output_size_bytes": 3713279486,
  "hash_method": "sha256_stream_8MiB",
  "horizontal_mirror": "hflip",
  "source_audio_discarded": true,
  "probe": {
    "programs": [],
    "streams": [
      {
        "index": 0,
        "codec_name": "h264",
        "codec_type": "video",
        "width": 1920,
        "height": 1080,
        "r_frame_rate": "30/1"
      },
      {
        "index": 1,
        "codec_name": "aac",
        "codec_type": "audio",
        "sample_rate": "48000",
        "channels": 1,
        "r_frame_rate": "0/0"
      }
    ],
    "format": {
      "duration": "2872.590000",
      "size": "3713279486"
    }
  },
  "endpoint_response": {
    "id": "3506858b713440a297ee623f603f495e",
    "service": "footage-render-huyenan",
    "status": "completed",
    "created_at": "2026-07-21T15:58:35.044040+00:00",
    "updated_at": "2026-07-21T16:52:42.197323+00:00",
    "request": {
      "layout": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/image/normalized/layout-1920x1080.png",
      "footage_dir": "/data/video-pipeline/GacMaiAudio/footage",
      "pattern": "*.mp4",
      "recursive": true,
      "audio": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/audio/story-full.wav",
      "output": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/output/footage/footage.mp4",
      "seed": 20260721,
      "overwrite": false,
      "width": 1920,
      "height": 1080,
      "fps": 30,
      "center_x": 656,
      "center_y": 0,
      "center_width": 608,
      "center_height": 1080,
      "video_encoder": "h264_nvenc",
      "preset": "p4",
      "cq": 21
    },
    "seed": 20260721,
    "target_duration": 2872.59,
    "selected_footage": [
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-026.mp4",
        "source_duration": 128.847,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-005.mp4",
        "source_duration": 47.684,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-112.mp4",
        "source_duration": 113.367,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-111.mp4",
        "source_duration": 109.134,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-058.mp4",
        "source_duration": 178.767,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-087.mp4",
        "source_duration": 67.767,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-089.mp4",
        "source_duration": 102.1,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-041.mp4",
        "source_duration": 53.967,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-099.mp4",
        "source_duration": 110.717,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-028.mp4",
        "source_duration": 107.275,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-033.mp4",
        "source_duration": 49.084,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-069.mp4",
        "source_duration": 82.067,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-009.mp4",
        "source_duration": 170.087,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-029.mp4",
        "source_duration": 94.334,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-040.mp4",
        "source_duration": 50.267,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-015.mp4",
        "source_duration": 47.865,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-081.mp4",
        "source_duration": 162.1,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-098.mp4",
        "source_duration": 498.934,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-018.mp4",
        "source_duration": 89.034,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-045.mp4",
        "source_duration": 46.253,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-073.mp4",
        "source_duration": 140.504,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-032.mp4",
        "source_duration": 86.308,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-102.mp4",
        "source_duration": 78.136,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-064.mp4",
        "source_duration": 52.467,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-059.mp4",
        "source_duration": 68.475,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-103.mp4",
        "source_duration": 72.067,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-020.mp4",
        "source_duration": 61.25,
        "cycle": 1
      },
      {
        "path": "/data/video-pipeline/GacMaiAudio/footage/gacmai-107.mp4",
        "source_duration": 81.867,
        "cycle": 1
      }
    ],
    "selected_total_duration": 2950.7240000000006,
    "candidate_count": 113,
    "rejected_candidates": [],
    "source_audio_discarded": true,
    "horizontal_mirror": "hflip",
    "layout": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/image/normalized/layout-1920x1080.png",
    "center_panel": {
      "x": 656,
      "y": 0,
      "width": 608,
      "height": 1080
    },
    "request_hash": "sha256:a625574f97cf48fac01cea11a12be21b621c5fc5858ff808cd2b01bf1f6c87ff",
    "command": [
      "ffmpeg",
      "-y",
      "-v",
      "warning",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-026.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-005.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-112.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-111.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-058.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-087.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-089.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-041.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-099.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-028.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-033.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-069.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-009.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-029.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-040.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-015.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-081.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-098.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-018.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-045.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-073.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-032.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-102.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-064.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-059.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-103.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-020.mp4",
      "-i",
      "/data/video-pipeline/GacMaiAudio/footage/gacmai-107.mp4",
      "-loop",
      "1",
      "-framerate",
      "30",
      "-i",
      "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/image/normalized/layout-1920x1080.png",
      "-i",
      "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/audio/story-full.wav",
      "-filter_complex",
      "[0:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v0];[1:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v1];[2:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v2];[3:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v3];[4:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v4];[5:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v5];[6:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v6];[7:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v7];[8:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v8];[9:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v9];[10:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v10];[11:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v11];[12:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v12];[13:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v13];[14:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v14];[15:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v15];[16:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v16];[17:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v17];[18:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v18];[19:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v19];[20:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v20];[21:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v21];[22:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v22];[23:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v23];[24:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v24];[25:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v25];[26:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v26];[27:v:0]hflip,scale=608:1080:force_original_aspect_ratio=increase,crop=608:1080,setsar=1,fps=30,format=yuv420p,setpts=PTS-STARTPTS[v27];[v0][v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11][v12][v13][v14][v15][v16][v17][v18][v19][v20][v21][v22][v23][v24][v25][v26][v27]concat=n=28:v=1:a=0[joined];[joined]trim=duration=2872.590000,setpts=PTS-STARTPTS[center];[28:v:0]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,setsar=1,fps=30,trim=duration=2872.590000,setpts=PTS-STARTPTS[layout];[layout][center]overlay=x=656:y=0:shortest=1,format=nv12[v]",
      "-map",
      "[v]",
      "-map",
      "29:a:0",
      "-c:a",
      "aac",
      "-b:a",
      "192k",
      "-ar",
      "48000",
      "-c:v",
      "h264_nvenc",
      "-preset",
      "p4",
      "-tune",
      "hq",
      "-rc",
      "vbr",
      "-cq",
      "21",
      "-b:v",
      "0",
      "-profile:v",
      "high",
      "-pix_fmt",
      "yuv420p",
      "-t",
      "2872.590000",
      "-movflags",
      "+faststart",
      "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/output/footage/footage.mp4"
    ],
    "started_at": "2026-07-21T15:58:50.999983+00:00",
    "completed_at": "2026-07-21T16:52:42.197305+00:00",
    "output": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/output/footage/footage.mp4",
    "final_probe": {
      "streams": [
        {
          "index": 0,
          "codec_name": "h264",
          "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
          "profile": "High",
          "codec_type": "video",
          "codec_tag_string": "avc1",
          "codec_tag": "0x31637661",
          "width": 1920,
          "height": 1080,
          "coded_width": 1920,
          "coded_height": 1080,
          "closed_captions": 0,
          "film_grain": 0,
          "has_b_frames": 1,
          "sample_aspect_ratio": "1:1",
          "display_aspect_ratio": "16:9",
          "pix_fmt": "yuv420p",
          "level": 40,
          "chroma_location": "left",
          "field_order": "progressive",
          "refs": 1,
          "is_avc": "true",
          "nal_length_size": "4",
          "id": "0x1",
          "r_frame_rate": "30/1",
          "avg_frame_rate": "30/1",
          "time_base": "1/15360",
          "start_pts": 0,
          "start_time": "0.000000",
          "duration_ts": 44122624,
          "duration": "2872.566667",
          "bit_rate": "10167572",
          "bits_per_raw_sample": "8",
          "nb_frames": "86177",
          "extradata_size": 56,
          "disposition": {
            "default": 1,
            "dub": 0,
            "original": 0,
            "comment": 0,
            "lyrics": 0,
            "karaoke": 0,
            "forced": 0,
            "hearing_impaired": 0,
            "visual_impaired": 0,
            "clean_effects": 0,
            "attached_pic": 0,
            "timed_thumbnails": 0,
            "captions": 0,
            "descriptions": 0,
            "metadata": 0,
            "dependent": 0,
            "still_image": 0
          },
          "tags": {
            "language": "und",
            "handler_name": "VideoHandler",
            "vendor_id": "[0][0][0][0]",
            "encoder": "Lavc59.37.100 h264_nvenc"
          }
        },
        {
          "index": 1,
          "codec_name": "aac",
          "codec_long_name": "AAC (Advanced Audio Coding)",
          "profile": "LC",
          "codec_type": "audio",
          "codec_tag_string": "mp4a",
          "codec_tag": "0x6134706d",
          "sample_fmt": "fltp",
          "sample_rate": "48000",
          "channels": 1,
          "channel_layout": "mono",
          "bits_per_sample": 0,
          "id": "0x2",
          "r_frame_rate": "0/0",
          "avg_frame_rate": "0/0",
          "time_base": "1/48000",
          "start_pts": 0,
          "start_time": "0.000000",
          "duration_ts": 137884320,
          "duration": "2872.590000",
          "bit_rate": "165912",
          "nb_frames": "134654",
          "extradata_size": 5,
          "disposition": {
            "default": 1,
            "dub": 0,
            "original": 0,
            "comment": 0,
            "lyrics": 0,
            "karaoke": 0,
            "forced": 0,
            "hearing_impaired": 0,
            "visual_impaired": 0,
            "clean_effects": 0,
            "attached_pic": 0,
            "timed_thumbnails": 0,
            "captions": 0,
            "descriptions": 0,
            "metadata": 0,
            "dependent": 0,
            "still_image": 0
          },
          "tags": {
            "language": "und",
            "handler_name": "SoundHandler",
            "vendor_id": "[0][0][0][0]"
          }
        }
      ],
      "format": {
        "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
        "duration": "2872.590000",
        "size": "3713279486"
      }
    },
    "verification": {
      "verified": true,
      "video_codec": "h264",
      "width": 1920,
      "height": 1080,
      "audio_status": "narration_mixed",
      "audio_stream_count": 1,
      "source_audio_discarded": true,
      "mirror_applied": true,
      "duration": 2872.59,
      "duration_delta": 0.0,
      "max_duration_delta": 0.06
    }
  },
  "completed_at": "2026-07-21T16:54:06.935095Z",
  "independent_probe": {
    "programs": [],
    "streams": [
      {
        "index": 0,
        "codec_name": "h264",
        "codec_type": "video",
        "width": 1920,
        "height": 1080,
        "r_frame_rate": "30/1"
      },
      {
        "index": 1,
        "codec_name": "aac",
        "codec_type": "audio",
        "sample_rate": "48000",
        "channels": 1,
        "r_frame_rate": "0/0"
      }
    ],
    "format": {
      "duration": "2872.590000",
      "size": "3713279486"
    }
  },
  "independent_sha256": "7fb56d54eb2ebb9a3efda7989e2cd975fd810467d28152aa3fc5ab7a1502d09f",
  "duration_seconds": 2872.59,
  "technical_gate": "passed",
  "layout_gate": "passed",
  "frame_manifest": [
    {
      "label": "start",
      "timestamp_seconds": 10,
      "path": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/log/footage-check/start.png",
      "sha256": "e322e10277b86d0e4eb6b0c41acc855fc87446a093acd184750e888f6e799fe5"
    },
    {
      "label": "middle",
      "timestamp_seconds": 1436,
      "path": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/log/footage-check/middle.png",
      "sha256": "9f5ea57cbbe1b53970ad384e37033773bf218c922add9a03c0834ada9d682ff5"
    },
    {
      "label": "end",
      "timestamp_seconds": 2860,
      "path": "/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Pha/log/footage-check/end.png",
      "sha256": "f59896d3212b1fb8efcdf5b15c33ffc617713617df2237fbb19e072fcb845339"
    }
  ],
  "updated_at": "2026-07-21T17:03:08.849836Z",
  "frame_technical_qa": "passed",
  "center_content_qa": "not_applicable"
}
