🧹 Подготовка носителей

Карты перед съёмкой: сверить с Drive → дозалить → очистить → подписать
Правило: чистим только подтверждённое Слой: scripts/14_media/1401_card_prep/ Журнал: YTAI:_ops_log/media_prep/

⛓0.2 · 1Правило слоя

карту чистим←каждый файл подтверждён на Google Drive
  • Подтверждение = имя файла + точный размер в байтах. Совпадения имени мало: HEVC-прокси из 01_Source_Proxy/ называется ровно как оригинал, но весит в разы меньше — по имени он засчитается за оригинал, и карта будет стёрта зря.
  • Сверка идёт по всему Drive, а не «папка в папку». Клипы съёмочного дня расходятся по разным проектам: один и тот же день попадает в четыре-пять проектов сразу.
  • Диск Archive — тоже источник. Там лежат прошлые выгрузки карт (Archive:DJI-TX/). Без него старые файлы читаются как пропавшие и заливаются повторно.
  • Смысл правила — «если что, найти». Не «сделать бэкап проекта», а гарантировать, что любой кадр с карты отыщется поиском по Drive.

🔁0.2 · 2Прогон

1
Индекс Drive
Сквозной список медиа по всем Shared Drive из cards.json → state/drive_index.tsv. Видео-прокси отбрасывается, прокси-звук остаётся: wav в прокси-комплекте побитово равен оригиналу, размер это подтверждает.
2
Аудит карт
Каждый том получает вердикт: ✅ на Drive · срезы (оригинал нарезан по сценам как ..._orig__S05.wav, целого файла нет) · ❌ нет. Результат — в state/last_audit.json и в журнал на Drive.
3
Дозаливка
--upload строит план из аудита, а не из списка руками — сайдкары *M01.XML едут вместе с клипом. Целые оригиналы петличек (есть только срезы) → {проект}/99_Pipeline/DJI_Audio/ того проекта, где лежат срезы: в 01_Source живут только *_timeline.wav. Ничейный футаж → _unassigned_footage/{источник}_{дата}/, Sony-имена сохраняются: если оператор подписал папку на карте кодом канала — на Shared Drive этого канала, иначе в YTCH S3/_unassigned_footage/. Заливка щадящая: 2 файла параллельно, один поток на файл, ≤8 запросов/с.
4
Очистка
Только по нулевому аудиту, не старше 6 часов. Чистим с Mac, не форматом в камере — формат сбрасывает метку тома. Обязательно опустошаем .Trashes на карте: без этого место не освобождается.
Канал до Drive медленный — карту сначала снимаем на локальный диск и аудит гоняем с --staged <папка>: файлы, найденные в копии по имени + размеру, очистку не блокируют. Очистка при этом предупреждает, что копия — единственный экземпляр: её не трогать до конца выгрузки на Drive.
5
Метки
Схема <Тип>-<Различитель>-RYA — см. 0.3 Названия носителей. Лимит метки exFAT/FAT32 — 11 символов.

⌨️0.2 · 3Команды

# индекс Drive (раз в спринт либо после крупных перекладок)
python3 ~/YTAI/scripts/14_media/1401_card_prep/media_prep.py --refresh-index

# аудит всех вставленных карт + HTML-отчёт на телефон
python3 …/media_prep.py --audit --report

# дозалить пробелы, найденные аудитом (сухо; с --apply зальёт)
python3 …/media_prep.py --audit --upload [--apply]

# медленный канал: карта уже скопирована на диск — копия считается подтверждением
python3 …/media_prep.py --audit --staged <папка копии> [--volume CFX-1-RYA]

# метки по схеме (сухой прогон; с --apply переименует)
python3 …/media_prep.py --label [--apply]

# очистка одной карты — только при нулевом аудите
python3 …/media_prep.py --wipe --volume CFX-1-RYA [--apply]
Сухо по умолчанию
Без --apply ничего не переименовывается и не удаляется — печатается только план.
Заливка мимо VPN
rclone пинится на физический интерфейс: --bind $(ipconfig getifaddr en0). Так трафик идёт напрямую, без туннеля — заметно быстрее.

💳0.2 · 4Парк карт

НосительМеткаКамераФС
Lexar CFexpress Type A 1TBCFX-1-RYASony FX3exFAT
Lexar CFexpress Type A 1TBCFX-2-RYASony FX3 · зеркалоexFAT
Lexar SDXC 512GB Gold V90SD-V90-RYASony ZV-E1exFAT
Lexar SDXC 256GB V60SD-V60-RYAзапасexFAT
DJI Mic 3 TX ×4DJI-1…4-RYAпетличкиFAT32
microSD ×2MSD-1…2-RYADJI Pocket 4PexFAT
Структура опознаётся автоматически: M4ROOT в корне — FX3; PRIVATE/M4ROOT — ZV-E1; устройство Mic Tx — петличка; DCIM/DJI_* — Pocket. Машиночитаемый парк — cards.json рядом со скриптом.

⏱0.2 · 5Сколько снимем на карту

УстройствоКартаРежимРасходВлезет
Sony FX3ACFX-1/2-RYA1 ТБ · 954 ГиБ XAVC S 4K 25p · 140MLong GOP · разрешён 1,045 ГиБ/минзамер, 150 Мбит/с15 ч
Sony FX3ACFX-1/2-RYA XAVC S-I 4K 25p · 250MAll-Intra · разрешён 1,77 ГиБ/миниз мануала9 ч
Sony ZV-E1SD-V90-RYA512 ГБ · 477 ГиБ XAVC S 4K 25p · 140Mдлинные интервью 1,017 ГиБ/минзамер на дублях 20 и 26 мин7 ч 50 м
Sony ZV-E1SD-V90-RYA XAVC HS 4K 50p · 200MHEVC ~1,45 ГиБ/мин5 ч 30 м
DJI Osmo Pocket 4PMSD-1/2-RYA256 ГБ · 238 ГиБ 4K/60 HEVC, обычный битрейт~65 Мбит/с 0,46 ГиБ/мин8 ч 30 м
DJI Osmo Pocket 4PMSD-1/2-RYA максимум 180 Мбит/с10-bit D-Log2, сложная сцена 1,26 ГиБ/мин3 ч 10 м
DJI Mic 3 · передатчиквнутренняя 32 ГБ×4 штуки 32-bit float, один файл0,011 ГиБ/мин43 ч
DJI Mic 3 · передатчиквнутренняя 32 ГБ 24 бита, один файл0,008 ГиБ/мин57 ч
Замеры — по собственному отснятому материалу, не по рекламе: длительность бралась из XML-сайдкаров Sony, размер — с файла. Пометка «замер» надёжнее строки из мануала: у Long GOP битрейт переменный, короткие клипы завышают из-за накладных расходов контейнера.
FX3A: разрешены оба кодека (решение 26.09.2026) — XAVC S-I 250M All-Intra и XAVC S 140M Long GOP. 140M вдвое экономнее по карте, 250M даёт больший запас на цветокоррекцию; настройки камеры — в 2.1.1 Sony FX3A.

🔋0.2 · 6Сколько держит батарея

УстройствоБатареяЗаявленоРеальноЧто ограничивает
Sony FX3ASony NP-FZ1007,2 В · 2280 мА·ч · 16,4 Вт·ч 135 минCIPA~90 минбатарея
Sony ZV-E1без охлажденияSony NP-FZ100общий парк с FX3A 140 минCIPA20–30 мин перегрев4K 50/60p: ~30 мин при 25 °C, ~20 мин при 40 °C
Sony ZV-E1+ SmallRig 5152Sony NP-FZ100пассивный радиатор + вентилятор, 98 г 60+ минпо данным продавцаизмерить стоит в паркенезависимого теста нет
Sony ZV-E1+ SmallRig 5328 Hybridсвоя батарея 8,14 Вт·ч3,7 В · 2200 мА·ч, 130 г; либо USB-C 5 В/2 А ~70 мин работы кулерана максимумеизмерить элемент Пельтьеактивное охлаждение, не просто обдув — снимает тепло ниже окружающей среды
Sony FX3A——без лимита штатный вентилятор в корпусеограничений по перегреву в KB нет — в отличие от ZV-E1
DJI Osmo Pocket 4Pвстроенная, несъёмная1545 мА·ч · 11,95 Вт·ч 210 мин1080p/24, лаборатория100–130 мин 4K/60; в жару 60–90 минотсечка по теплу через ~49 мин на солнце при 34 °C
DJI RS 4рукоятка BG213000 мА·ч · 21 Вт·ч, съёмная 720 мингимбал отбалансирован, без нагрузки— с камерой ~1,5–2 кг заметно меньше
DJI Mic 3 · TX ×4137 мА·ч · 0,53 Вт·ч480 мин~450 минбатарея
DJI Mic 3 · RX ×2275 мА·ч · 1,07 Вт·ч600 мин—батарея
Зарядный кейс ×21950 мА·ч · 7,55 Вт·ч~2,4 полных циклавмещает 2 TX + 1 RX——
⚠️ У ZV-E1 в 4K ограничивает не батарея, а тепло. Батареи хватит на 140 минут, но без охлаждения камера уйдёт в защиту через 20–30. Первым делом снять заводской Auto Power OFF Temp = Standard — на нём отсечка наступает уже через ~10 минут; рабочее значение High плюс отведённый экран.
Оба кулера в парке куплены именно под ZV-E1. 5152 — обдув; 5328 Hybrid — элемент Пельтье, охлаждает активно и питается сам. Цифры «60+» и «70 мин» — заявления продавцов, независимых тестов нет: стоит один раз снять дубль до отсечки с каждым и записать факт сюда.
У FX3A этой проблемы нет — штатный вентилятор в корпусе, лимитов по перегреву в KB не зафиксировано.
⚠️ Заявленное время по CIPA — не про видеосъёмку. Методика меряет фотокадры и покадровые циклы, реальная 4K-запись всегда меньше; на солнце и в жару — ещё меньше.
NP-FZ100: оригинал Sony — 16,4 Вт·ч. Сторонняя SmallRig 5297 — 18,14 Вт·ч (+11 %), считать по-батарейно.
Аксессуар: DJI Battery Handle для Pocket — 1080 мА·ч, добавляет ~130 минут.

⚠️0.2 · 7Грабли

Прокси маскируется под оригинал
HEVC-прокси носит имя оригинала. Сверка только по имени выдаёт ложное «всё на месте» — и карта стирается зря. Спасает сравнение размера.
Корзина на карте
Удаление через Finder кладёт файлы в скрытую .Trashes на самой карте — место не освобождается, пока её не очистить.
Формат в камере стирает метку
Задать метку в камере нельзя. Поэтому чистим с Mac; если формат всё же был — launchd-агент com.rya.card-autolabel даст тому {ТИП}-{N}-RYA с первым свободным номером, точную метку по cards.json вернёт --label --apply.
Оригинал ≠ срезы
Если на Drive только __S05-срезы, целого файла там нет. При смене плана сцен пересобрать *_timeline.wav будет не из чего.
База клипов переживает очистку
Sony держит опись отдельно от клипов: после чистки M4ROOT/MEDIAPRO.XML ссылается в пустоту и камера просит восстановить базу. В камере: Media → Recover Database — это НЕ формат, метку тома не сбрасывает.
Spotlight индексирует карту
На 1 ТБ отснятого индекс macOS вырастает до десятков мегабайт и строится заново при каждой вставке. Очистка отключает индексацию тома (mdutil -i off -E).
Связано: 0.3 Названия носителей · 2.2 Каноны съёмочного дня · Синхрон с Drive Слой: scripts/14_media/1401_card_prep/