{
  "schema_version": 1,
  "project_id": "018-Hon-Uoc-Khong-Duoc-Phep-Yeu",
  "run_id": "run-20260721T040505Z-cd9f944a",
  "status": "completed",
  "verified": true,
  "job_id": "b4db83d141264b10ad378e3818732a5b",
  "source_canon_sha256": "d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78",
  "source_audio_sha256": "1f78d70445770dea08b5690880a53bdff83cdeb7ca0e735f93510ad6edd0de79",
  "layout_sha256": "2405027103a759b350a6c3a735ea754b3c5d5831d333a0c19e1f4fb48dfc6103",
  "horizontal_mirror": "hflip",
  "mirror_applied": true,
  "source_audio_discarded": true,
  "output_path": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/output/footage/footage.mp4",
  "output_sha256": "d1f0270a646bf22b93a1071374656eac6b02e1bbe3052feb04a56b4dbbd6c1db",
  "output_bytes": 3090805775,
  "output_duration": 2446.47,
  "probe": {
    "programs": [],
    "streams": [
      {
        "codec_name": "h264",
        "codec_type": "video",
        "width": 1920,
        "height": 1080,
        "r_frame_rate": "30/1"
      },
      {
        "codec_name": "aac",
        "codec_type": "audio",
        "sample_rate": "48000",
        "channels": 1,
        "r_frame_rate": "0/0"
      }
    ],
    "format": {
      "duration": "2446.470000"
    }
  },
  "job": {
    "id": "b4db83d141264b10ad378e3818732a5b",
    "service": "footage-render-huyenan",
    "status": "completed",
    "created_at": "2026-07-21T06:47:04.229205+00:00",
    "updated_at": "2026-07-21T07:49:43.089068+00:00",
    "request": {
      "layout": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/image/normalized/layout-1920x1080.png",
      "footage_dir": "/data/video-pipeline/GacMaiAudio/footage",
      "pattern": "*.mp4",
      "recursive": true,
      "audio": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/audio/story-full.wav",
      "output": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/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": 2446.47,
    "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
      }
    ],
    "selected_total_duration": 2450.1540000000005,
    "candidate_count": 113,
    "rejected_candidates": [],
    "source_audio_discarded": true,
    "horizontal_mirror": "hflip",
    "layout": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/image/normalized/layout-1920x1080.png",
    "center_panel": {
      "x": 656,
      "y": 0,
      "width": 608,
      "height": 1080
    },
    "request_hash": "sha256:39ee76fd7995ef58621d744a7b5eadc100a0ef2bf1482eb7bd73dc8521b7fed6",
    "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",
      "-loop",
      "1",
      "-framerate",
      "30",
      "-i",
      "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/image/normalized/layout-1920x1080.png",
      "-i",
      "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/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];[v0][v1][v2][v3][v4][v5][v6][v7][v8][v9][v10][v11][v12][v13][v14][v15][v16][v17][v18][v19][v20]concat=n=21:v=1:a=0[joined];[joined]trim=duration=2446.470000,setpts=PTS-STARTPTS[center];[21:v:0]scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080,setsar=1,fps=30,trim=duration=2446.470000,setpts=PTS-STARTPTS[layout];[layout][center]overlay=x=656:y=0:shortest=1,format=nv12[v]",
      "-map",
      "[v]",
      "-map",
      "22: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",
      "2446.470000",
      "-movflags",
      "+faststart",
      "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/output/footage/footage.mp4"
    ],
    "started_at": "2026-07-21T06:47:20.175773+00:00",
    "completed_at": "2026-07-21T07:49:43.089051+00:00",
    "output": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/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": 37577728,
          "duration": "2446.466667",
          "bit_rate": "9933458",
          "bits_per_raw_sample": "8",
          "nb_frames": "73394",
          "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": 117430560,
          "duration": "2446.470000",
          "bit_rate": "165673",
          "nb_frames": "114680",
          "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": "2446.470000",
        "size": "3090805775"
      }
    },
    "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": 2446.47,
      "duration_delta": 0.0,
      "max_duration_delta": 0.06
    }
  },
  "hash_method": "sha256_stream_8MiB",
  "completed_at": "2026-07-21T07:50:38.221525Z",
  "technical_frame_qa_path": "/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeu/log/footage-check/manifest.json",
  "technical_frame_qa": "passed"
}
