Archive Pilot
ארכוב של עריכה עם כל הקבצים שהיא משתמשת בהם, וכל עותק נבדק בייט אחרי בייט.
עובד אפשר להוריד אותו. למטה יש הרצה לדוגמה מהטרמינל.
הבעיה
במסירה או בארכוב של עריכה קבצים הולכים לאיבוד. מגלים את זה אחרי חודשים, כשהפרויקט נפתח מלא פריימים אדומים.
מה בניתי
כלי שורת פקודה שמעתיק את כל מה שהפרויקט משתמש בו לתיקייה אחת, ומאשר שהארכיון שלם רק כשכל קובץ נמצא שם וזהה למקור.
- מראה מה חסר לפני ההעתקה
- בודק כל עותק מול המקור
- לא משנה את קבצי המקור
יכולות ומגבלות
נבנה ונבדק
- Reads the media a project references: Final Cut Pro 7 / Premiere Pro XML exports, FCPXML and plain lists; Premiere project files experimentally.
- Plan first: lists found and missing files and the total size, without writing anything.
- Collect copies the project and every file it finds, then checks each copy's SHA-256 against its source.
- COMPLETE only when nothing is missing and every hash matches; otherwise INCOMPLETE, with the missing files named.
- Keeps folder structure below the common root, so files with the same name never collide.
- Writes archive_manifest.json and relink_map.csv; verify re-checks an archive at any time.
- Never modifies sources and never overwrites an existing archive. Dry run by default.
מגבלות
- After Effects .aep files are binary and are not read; use After Effects' Collect Files.
- Tested on synthetic project files only, not yet on real exports from Premiere Pro or Final Cut Pro. Premiere project reading is experimental.
- Tested on Linux only so far; macOS and Windows are not yet tested.
- It does not rewrite paths inside the project; relink from relink_map.csv in your editor.
מתוכנן
Hash verification, resumable transfers, cross-platform paths and re-link validation.
איך משתמשים
- Export your sequence as XML (Premiere: File, Export, Final Cut Pro XML) or FCPXML, or list the files in a text file.
- python3 archive_pilot.py plan project.xml shows what is found and missing.
- python3 archive_pilot.py collect project.xml --out Archive --apply makes the archive.
- python3 archive_pilot.py verify Archive/archive_manifest.json re-checks it, now or years later.
איך זה עובד
- References are read from the project XML (pathurl, media-rep src), decoded from file URLs including Windows drive paths, and de-duplicated.
- Copies are streamed and hashed with SHA-256; the project file's own hash is recorded too.
- Archive layout mirrors folders below the common parent of all media.
- Python standard library only.
גרסאות שנבדקו ומגבלות
- עבר Package: COMPLETE only when every file is found and hash-verified; sources untouched; no name collisions Linux, Python 3.13
- עבר Package: a missing file makes the archive INCOMPLETE Linux, Python 3.13
- עבר Package: verify catches a changed archive file Linux, Python 3.13
- עבר Package: dry run writes nothing; existing archive never overwritten Linux, Python 3.13
- עבר Package: reads FCPXML, plain lists, Premiere project XML, Windows file URLs (synthetic files) Linux, Python 3.13
- עבר Release: tests re-run from the unzipped archive, public scan clean Linux
נבדק לאחרונה: 2026-10-31.
עובד על הפורמטים שברשימה, ונבדק עם פרויקטים סינתטיים ב-Linux. עוד לא נבדק: ייצוא אמיתי מ-Premiere Pro ומ-Final Cut Pro, macOS ו-Windows.
פרטים
- קלט
- ייצוא XML או FCPXML, או רשימת קובצי מדיה
- פלט
- Portable package and completeness report
- רץ ב
- Command line tool for macOS, Linux or Windows with Python 3.9+ (tested on Linux, Python 3.13). No other installs.
- מקור
- מקורי, נבנה מחדש מאפס