Bước 19 — QA final, ghi output/info.json, rồi mới báo approved output Mục tiêu: - Kiểm tra bản final sau bước 18 một lần cuối. - Xác nhận intro, main, outro, BGM và sync toàn video đều ổn. - Ghi đầy đủ metadata bàn giao vào output/info.json. - Chỉ sau bước này mới được báo project hoàn thành / approved output. Input: - output/final/final_video.mp4 - output/final/final_video_probe.json - output/final/final_package_report.json - output/thumbnails/thumb_16x9_final.png - output/thumbnails/thumb_9x16_final.png - Các file plan / validation / subtitle / timeline / render report của các bước trước. Cách làm: 1. Probe lại final video để xác nhận duration, audio stream, video stream. 2. QA các vùng bắt buộc: - intro transition - early main - mid main - late main - outro 3. Ở mỗi vùng kiểm tra: - tiếng đọc còn sync subtitle - BGM không che narration - không black frame bất thường - không mất tiếng / méo tiếng - không lỗi nối intro -> main -> outro 4. Dùng blackdetect report nếu cần. 5. Khi pass, tạo output/info.json theo schema chuẩn. output/info.json tối thiểu phải có: - project_id - series - title - approved_output - qa_final_status - đường dẫn source script, cleaned story, dense plan, validation files, character bible, scene images, thumbnails, scene TTS, master narration, subtitles, part ranges, rendered parts, main story, intro, final output - master audio duration, main story duration, final duration - số scene, số image, số part - final QA report path - metadata bàn giao social media: - title_youtube_1 - title_youtube_2 - title_youtube_3 - description_youtube - hashtag_youtube - title_facebook - description_facebook - hashtag_facebook - title_tiktok - description_tiktok - hashtag_tiktok - mọi hashtag field bắt buộc có #vetmucthoigian Output bắt buộc: - output/info.json - output/final/final_qa_report.json - logs/step19_final_qa_info_manifest.json Điều kiện pass: - final video tồn tại và probe được - intro/main/outro nối đúng - audio/video stream tồn tại - sync đầu/giữa/cuối đúng hoặc không có blocker QA - BGM không lấn narration - thumbnail final tồn tại đủ 2 bản - output/info.json được ghi đúng schema - không còn blocker QA Điều không được làm: - Không báo xong ngay sau bước 18. - Không bỏ qua output/info.json. - Không gọi final là approved nếu chưa QA intro/main/outro và BGM. - Không bỏ field bắt buộc trong output/info.json. Một câu ngắn: - Bước 19 là QA cuối toàn bộ file final, rồi ghi output/info.json; chỉ khi cả hai xong và pass thì mới được báo approved output.