RYA · production mapcraftcameras

Cameras

Когда режем живую картинку людей: крупности из 4K, рамка по силуэту, смена камер по речи, синхрон по звуку, прокси.⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

YTCG37 · speaker in a window
YTEVO03 · half-frame screen
YTLAB01 · multicam

Approaches

Карточки — главные (canon или работают в нескольких фильмах), строки реестра — остальные. Поиск и фильтр — по группе.⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

W · M · Cthree shot sizes from one 4K
CA1Camerascanon

Three 'cameras' from one 4K frame

  • W — общий, M ≈ ×1,15–1,3, C ≈ ×1,3–1,5; окно ставит код по лицу
  • YTCH14: 223 плана — W 58 · M 60 · C 56 и 49 перебивок и фонов
05_editing/0511_doc_cut/picture.py (crop_for, YuNet face) · 05_editing/0514_teaser (zoom) · 0511_story_cut sc_edl face / zoom
YTCH14 · Спикер в центре · YTAgeFree16 v4 18.10 (П1.13/П1.14): лица и эмоции наездом из 4K до ×1,6–1,8 — «можно ещё крупнее!»; YTAgeFree17 v1; YTEVO04 v1; YTLAB 02.10: «быть крупным прямо»; YTEVO03 v3 06.10: крупный из 4K-двойки ×2–2,5
✂ in a pausepicture cut by sound
CA2Camerascanon

Change shot size in a speech pause

  • рез картинки — в паузе между словами, найденной по звуку, а не по тексту
  • два плана одной крупности подряд не ставятся — picture.py ловит «прыжок без смены крупности»
  • по теории планов шаг — минимум на ступень, лучше через одну
W + Mtwo people, no close-up
CA3Camerascanon

Two in frame: only W and M

  • на общем диване крупнее второй человек обрежется
  • крупный план одного — когда он говорит один и второй не нужен в кадре
05_editing/0514_teaser/teaser.py (cx, cy of the sync)
YTCH14 · сцена на диване · YTAgeFree16 v3: во всех синхронах Яны в центре был Дмитрий Николаевич — в кадре на двоих явные cx/cy, крупность такая, что второе лицо уходит из окна
CA4Camerascanon

Speaker centred in the visible area by silhouette

  • под шторкой кадр уезжает вправо, говорящий — в центре правой части; разница полей 12–69 px
  • не по лицу и не по точке между глаз: силуэт несимметричен — центр уезжал на 64 px (медиана)
05_editing/0510_headless_cut/solo.py silhouette → plan (frame_fit) · 999_extra/bin/vision_person (Apple Vision) · framing.py (L / R / T px before → after on the version page) · director.py reframe · 0514_teaser plan · frame_fit; 05_editing/0510_headless_cut/solo.py silhouette (Apple Vision); version page section Framing by measurement
YTCH14 v3 · YTCG37 v4 · Спикер в центре · YTCG37 v3 → v4 03.10: 34 из 36 планов правее центра (медиана 64 px, до 354) → разница полей ≤ 4 px, над головой 14–26 % → 83–195 px; YTLAB01 02.10: окно общего плана по лицам — 7 из 109 резали человека; YTEVO02 v7: «меньше места над головой» → ×1,15 · YTCG37 v3 → v4 03.10: все 36 планов числами и парами кадров · YTEVO02 v7: наезд ×1,15 отдельной версией, v6 цел
voice ⟶ shotline under B-roll
CA5Camerascanon

No shot of the speaker: voice under B-roll

  • камера не писала или смотрела в сторону — реплика идёт под перебивкой по её словам
  • в сцене с гитарой в кадре только куратор — голос героини под перебивками
05_editing/0511_story_cut/sc_edl.py check (coverage +-0.3 s) · 999_extra/ytfp02_cover_crops.py [--sheet] · ytcr06_lav_silence.py (lav below p90 - 12 dB), ytcr06_lipcheck.py · 01_prepare/0108_tx_holistic_map.py
YTCH14 · 03:55 · YTCR06 05.10: история без камеры — целиком под перебивками от первого слова до последнего; лицо героя под его голосом — только где он в кадре молчит (по диаризации 17 из 45 «молчащих» планов — говорил); YTFP02 · YTCR03 (Влад): у каждого куска петлички вердикт — синхрон проверяем · только петличка (материал для закадра) · вне сцены
≤ 2.4 mscamera ↔ lav by sound
CA6Camerascanon

Sync cameras and lavs by sound, not clocks

  • камера ↔ петличка — по огибающей звука: ≤ 2,4 мс на всех парах (sync.py)
  • мультикам дня — по пословным расшифровкам: часы устройств ошибаются на 5–22 мин
  • грубо — по 3-граммам слов, точно — корреляцией огибающих 200–3800 Гц по всем парам сцены одной системой; контроль ≤ 7,5 мс
  • поправку часов камеры калибровать только внутри сцены; нет речи — клип остаётся на часах с пометкой
  • модель часов рекордера сверяют хлопком в кадре ±1 кадр: звук приходит к микрофону позже картинки (YTLAB01)
999_extra/audio_finesync/finesync_run.py · finesolve.py (least squares, Huber) · finesync_gate.py · 999_extra/wordsync_multicam/screencast_offset.py · reframe_result.py --sec -3600 · validate_ingest.py · qc_html.py · 01_prepare/0120_day_ingest/run_night.py · 01_prepare/0122_field_day · 999_extra/wordsync_multicam/ (wordsync.py -> make_ingest.py -> validate_ingest.py -> qc_html.py; build_day_ingest.py) · 999_extra/audio_finesync/ (finesync.py -> finesolve.py) · 01_prepare/0116_camera_audio_sync.py · 05_editing/0511_doc_cut/sync.py measure · 05_editing/0510_headless_cut/sync.py measure|clap|anchor
YTCH14 · Multicam Word-Sync · Audio Fine Sync · YTCH10: 12 сцен, 151 клип, 314 замеров за 1:33, невязка 0,1–2,5 мс; YTEVO03: 14 сцен, 41 клип Pocket — арбитр радиокопия петлички в камере, часы спаренных DJI ±1 ч; YTUVIE01 25.09: запись экрана найдена полной корреляцией · YTEVO03 18.09: ночной разбор дня — часы и синхрон по речи · YTAgeFree S3 04–06.10: часы петличек врут по комплекту — каждый файл по звуку ко всем клипам · YTCH10 16.08: 151 клип, невязка 0,1–2,5 мс · YTUVI 12.07: день 705, CAM2 −398 дней · YTCR03 31.05: FX3A +67,5 мин · YTCR04: часы TX врали — найдено только по расшифровкам · YTEVO03 24–25.09: 14 сцен, 44 полосы · YTFP03: 98 % клипов на 0,0 мс
⅓eyes on the upper third
CA7Cameraslive

Frame people by shot theory

  • план — по смыслу; низ кадра — на линии плана (под подбородком, середина груди, чуть ниже пояса), не по суставам
  • глаза — на верхней трети видимой части (~30–33 %)
  • наезд — эмоция и главная фраза; отъезд — новая тема, руки, экран рядом
  • сейчас (YTCG37 v4–v6) глаза на ~20 % — тесно сверху; код меняют после «ок» по парам кадров
05_editing/0514_teaser/trailer.py (framing) · 05_editing/0511_doc_cut/picture.py (crop_for) · solo.py HEAD / ZOOM · 0511_story_cut sc_edl.py MAX_HOLD (12.5 s)
Роман, 03.10 · Спикер в центре — раздел «Теория планов» надо построить · трейлеры YTCG39/YTCG42 05–07.10 и тизеры YTAgeFree S3: глаза на верхней трети; YTUVIE01 1.1.1 05.10: 6 наездов ×1,15, конец наезда — по последнему слову; YTCR04 v7.1 03.10: три пика; YTCG37 v4–v6: глаза на 20 % — «тесно сверху»
CA8Camerascanon

Half-frame screen: speaker centred in the free half

  • свободная половина — свой кадр: область вокруг героя вписана так, что он целиком и по центру
  • не хватает места — крупнее по лицу, но не резать по краю
  • герой у края и «пополам» под экраном
  • касается всех экранов сразу: вопросы, плашки, карты, цитаты
05_editing/0510_headless_cut director.figure_x · gfx.side_pan · conform.pan_expr · 05_editing/0509_review_cycle/stages/face_pos.py · split_x in the channel profile · 0510_headless_cut/gfx.py layout side; 0511_story_cut/sc_gfx_ytevo.py (over 55/45); 13_preprod/1304_visual_tz/speaker_compose.py
14.10 · Roman · YTEVO03 P3.09 · YTEVO03 круг 3 · проверять кадром рендера · YTLAB01 03.10: Павел по центру свободной половины; YTFP02 04.10: панели слева, кадр уезжает вправо; YTUAE01 v3 15.10: портрет в свободной половине; YTUVI 22.09: шов 1920, кадр сдвигается под лицо · YTLAB01: вступление (02.10) · YTCG37 v2 over: лицо на 66 % ширины, ×1,4 · YTEVO03 v7 П1.04: правые 45 % · YTUVIE (26.09): спикер карточкой в углу у схем
CA9Cameras
CA9Camerascanon

Every splice inside a shot is covered: another camera or a punch-in

  • склейка внутри одного плана (убранный дубль, пауза) закрывается сменой кадра: другая камера на 1–3 с, иначе наезд ×1,12–1,15 или отъезд
  • возврат и отъезд — в паузе между словами; конец наезда — кадрирование следующего плана
  • склейка без смены кадра — находка самопроверки; стык дублей под той же раскладкой без смены крупности — план падает
  • в маленьком окне спикера камеру не менять — наезд той же камерой (Роман 14.10); склейку в проявлении экрана закрывает переход
05_editing/0513_lesson_cut/lc.py jump_cover / window_cover · 05_editing/0513_lesson_cut/pravki.py find_jumps / cover_at · 05_editing/0510_autocut/post.py --zooms · 05_editing/0510_headless_cut/director.py (PUNCH 1.12) · solo.py plan
07.10 · Roman · YTUVIE 1.1.1 v1.3 → v1.4 07.10: 34 склейки, без смены кадра 0; YTCH10 10.10: 21 наезд ×1,15; YTEVO02 v9 15.10; YTCG37 02.10; YTLAB01 — наезд 12 %
CA10Cameras
CA10Cameraslive

Multicam director by code: speaker's close-up, picture leads the cut

  • говорит один — его крупный; смена говорящего — склейка чуть раньше первого слова: картинка ведёт
  • каждая склейка звука закрыта сменой камеры ровно на ней или перебивкой на слушающего 2–5 с: кивки, смех, удивление
  • вставка < 2,2 с план не меняет; частая перекидка репликами — общий план; крупный > 22 с разбавляется; план ≥ 1,2 с
  • чужие губы на перебивке — брак: режиссёр проверяет речь в показанных секундах; камера занята — cam_block берёт камеру-замену
05_editing/0510_headless_cut/director.py plan --job J --edl edl_audio.json · director.py reframe · cut.py run --job J --tag vN
02.10 · Roman · YTLAB01 v1–v5 (109 планов, числа подобраны на нём); YTTRBM02 v3 → v4 (губы 19:13); YTTRBM03 v1–v6 (cam_block); YTUAE01 v2 13.10: 20 реакций Анджелы
CA11Cameras
CA11Camerascanon

Chapter opens on the wide studio shot

  • каждая глава после плашки открывается общим планом студии (3 с, 75 кадров) — потом камеры идут по речи
05_editing/0510_headless_cut/director.py (wide_open, '*' for all chapters)
2026 · stage canon · YTTRBM02 v4: 18 глав
CA12Cameras
CA12Camerascanon

Camera without sound: sync by its clock window, then by the lips

  • немую камеру сводят по часам этой камеры и этой петлички на других клипах, где звук живой: окно ошибки часов задаёт, где искать
  • дальше — по губам: лицо (YuNet) и движение рта против огибающей речи петлички 2–12 Гц
  • губы применяются, только если замер устойчив и внутри окна; звук — всегда с петличек, свести в два канала
999_extra/wordsync_multicam (0113) · 999_extra/audio_finesync · 999_extra/story_map/story_lipsync.py
25.09 · Roman · YTEVO03 25–26.09: сцена 11, 11 клипов ZV-E1; окна FX3 −0,25…+0,84 с, ZV-E1 −0,25…+0,47 с; 15.10 — пробежка, у FX3 звук выключен
CA13Cameras
CA13Camerascanon

Shooting canon FX3A: PAL 25p, 180 degree shutter, Free Run TC

  • FX3A всегда в PAL: основной режим 25p (XAVC S-I 4K, Cine EI 800), Shutter Angle 180°, TC Free Run; слоу-мо S&Q 100/200
  • монтажные таймлайны и брифы — 25p; общий якорь дня — речь, а не таймкод
  • 24p и NTSC не предлагать
  • 4 дорожки DJI в камеру — только через MI-адаптер; карты копировать вербатим с *M01.XML: без сайдкара клип останется без проявки
yt.rya.ae/kb/gear/camera/ · Shoot Day SOP (2.2)
03.07 · Roman · канон с 03.07; YTEVO03, YTUVIE
CA14Cameras
CA14Camerascanon

Every camera of the lesson in rotation; cutaways checked for a face

  • урок монтируется со всех камер, что его снимали (FX3, ZV-E1, Pocket, новый ракурс): второстепенные — по очереди, ритмом и прикрытием склеек
  • перебивка на боковую камеру — только где спикер в её кадре: машина проверяет лицо
  • каждую камеру — к одобренному эталону курса листом «эталон · сейчас · новое» до рендера
  • работа и страницы — по блокам и урокам, а не по дням съёмки
05_editing/0513_lesson_cut/lc.py (CamRot, CamRot.face_ok)
24.10 · Roman · YTUVIE блок 3, уроки 3.1.1–3.4.2, 24.10: Pocket (CAM-C) до этого не использовался; 3.2.1 — клип 0013 шесть минут смотрел в софтбокс
CA15Cameras
CA15Camerascanon

Small speaker window keeps one camera; seams covered by a punch-in

  • окно спикера рядом с экраном — одна камера (ZV-E1) на урок и цепочку экранов; склейку внутри окна прикрывает наезд той же камерой ×1,15
  • смена ракурса в маленьком окне читается как дёрганье — window_switch_cam не включать
  • перебивки ZV-E1 на весь кадр (не в окне) — можно
05_editing/0513_lesson_cut/lc.py window_cover · 05_editing/0513_lesson_cut/screens_lesson.py (fills)
14.10 · Roman · YTUVIE 1.1.2 14.10; пересборка окон 1.1.1, 2.1.2, 2.1.3, 3.1.2; YTUVIE01 блоки 1–2
CA16Cameras
CA16Cameraslive

Light 4K copies of sources: x265 CRF calibrated by VMAF

  • тяжёлые камерные клипы → лёгкие копии того же разрешения: libx265 CRF 24 ≈ 3 Мбит/с, VMAF ≈ 94, на Drive рядом с оригиналами
  • маленькие и уже лёгкие файлы копируются как есть; по желанию цвет запекается кубом в 10 битах
  • ETA — по секундам материала, не по числу файлов; таймлапс жмётся в разы хуже — мерить, не обещать
999_extra/source_light_transcode.py --src ... --dst ... --jobs 3 [--lut]
04.08 · stage canon · YTCR01 04.08: 362 ГБ → 17,2 ГБ; YTCH05; YTLAB02 25.09
CA17Cameras
CA17Camerascanon

Proxy contract: a light copy, not a small one

  • прокси отличается только весом: разрешение, fps строкой, число кадров, битность с источника, имена и пути 1:1, дорожки, таймкод, цветовые теги
  • восемь пунктов проверяются на каждом клипе; подмена на оригинал — смена одной корневой папки; рецепт — в одном месте contract.py
  • айфон и готовый Rec.709 HEVC — копия байт в байт: телефон узнаётся по тегам производителя, а не по битрейту
  • комплект — 01_Source_Proxy внутри проекта, .prproj в корне; папка-соседка — вторая точка правды («вы что?»)
16_proxy/1601_build/proxy.py --src <01_Source> --dst <01_Source_Proxy> --dry-run · contract.py (phone_of, decide) · rebuild.py · 16_proxy/1603_farm/farm.py (Drive to Drive)
22.09 · Roman · YTCH спринт 3 17.08: 441 прокси 8-битными и без TC → контракт 22.09; ALL BTS 25.09: 11 клипов iPhone вылетели по порогу битрейта; YTCH10 17.08 — папка в проекте
CA18Cameras
CA18Cameraslive

Autonomous ingest chain up to Build Ingest, with hard and soft gates

  • проект доводится до «осталось нажать Build Ingest» одной идемпотентной цепочкой: ингест → валидация → finesync → frame-align → прокси → гид → Drive
  • решение синхрона дня — в ingest всех сцен одним мостом: порядок камер из паспорта дня, дорожка петлички = физический передатчик
  • HARD-гейт (валидация, finesync, frame-align, прокси) останавливает цепочку, SOFT — веха в Telegram; после кнопки сторож сверяет сборку по дампу
  • чинить руками на таймлайне — ручной сдвиг умирает при Rebuild; карты — только на чтение, сцены — симлинками
999_extra/pipeline_ch3.py · rebuild_ingest_after_restructure.py · 999_extra/wordsync_multicam/build_day_ingest.py · make_ingest.py · 01_prepare/0121_studio_day/ingest_src.py · 01_prepare/0120_day_ingest/run_night.py
18.09 · stage canon · YTCH14: 7 сцен → 5 без повторного word-sync; YTEVO03 18.09: за ночь 14 сцен, 172 клипа размещены, 14 полос из 44 в нескольких сценах; YTUVIE01 — сцена = урок
CA19Cameras
CA19Camerascanon

Scene tape: the day on the wall clock, compact, cameras by role

  • панель собирает ленты сцен из ingest.json: все камеры и петлички дня на стенных часах по своим дорожкам — видно, кто что снимал
  • внутри непрерывного блока камеры на реальных местах, между блоками встык; маркеры — только на скачках > 30 с
  • порядок дорожек — по роли камеры: V1 основная, V2 вторая рядом, V3 сверху или детали, V4 FX3; камера — по префиксу файла
  • fps секвенции — доминанта сцены; зондировать все клипы до сборки (avg_frame_rate, не r_frame_rate)
05_editing/0500_uxp/tools/panel_job.py --project P build_ingest · 05_editing/0500_uxp/src/ingest/layout/sceneLayout.js · 01_prepare/0106_probe_media.py · 999_extra/add_clip_to_ingest.py · 999_extra/rebuild_ingest_with_extra_scene.py --dry-run
31.05 · Roman · YTCR03 31.05: старый 0105 взял fps выброса 50p на весь проект; YTUVI 12.07: дни 704/705; YTCR02/YTCR03 — сцена и запись экрана дописаны; YTEVO03; YTUVIE
CA20Cameras
CA20Camerascanon

Speaker window on a canvas: head and shoulders, one main shot

  • в окне спикера на холсте — голова и плечи, а не фигура с коленями: главный план ×1,22, над макушкой 6 % окна
  • главный план — у самого длинного дубля серии окон; ×1,45 — только на стыке дублей внутри окна
05_editing/0510_headless_cut/solo.py plan (PIP A/B, silhouette) · 05_editing/0510_headless_cut/ytcg.py (hole)
03.10 · Roman · YTCG37 v5 → v6 03.10: 11 планов в 8 окнах, эталон FG_window
CA21Cameras
CA21Cameraslive

Vertical clip in a 16:9 film: face strip or whole frame, blurred sides

  • вертикальный клип даёт полосу 16:9 по лицу плана; если полоса теряет предмет — кадр целиком по высоте по центру
  • по бокам — он же, растянутый, размытый и притемнённый (tall_fit), а не обрезка
  • с аппаратным декодом перед split — format=yuv420p10le, иначе boxblur зеленит
05_editing/0511_story_cut/sc_conform.py fit_chain (tall_fit / fit of the shot)
2026 · stage canon · YTCR04; YTUVI03 14–18.10 — айфон в перебивке
CA22Cameras
CA22Camerascanon

Wide shot under an over-frame plate so it never hits the head

  • под плашкой поверх кадра (число, сноска, цитата) — только общий план, чтобы плашка не упиралась в голову спикера
  • зона — с 0,5 с до плашки до её конца; Роман: «тогда лучше FX3 и разместить её»
05_editing/0513_lesson_cut/lc.py (plate_zones)
15.10 · Roman · YTUVIE01 уроки 2.1.2 (П1.07) и 2.1.3 (П1.08), 15.10
CA23Cameras
CA23Camerascanon

Two-person close-up: portrait by thirds, lead room toward the other

  • в интервью двоих крупный план — портретом по третям, воздух в сторону собеседника, а не лицо строго по центру
05_editing/0511_doc_cut/picture.py (crop_for, framing.<clip>.<who>.tx)
13.10 · Roman · YTUAE02 v1.3 13.10: правки Романа П1.07 и П1.09 («показывай портрет…»)
CA24Cameras
CA24Camerascanon

Angle consistency on a camera change: same side, level horizon

  • после перехода с камеры A на B спикер остаётся с той же стороны, горизонт ровный, переход — на границе фразы
  • пока проверяется глазами по листу планов — кода нет; случая в сессиях ещё не было
contact sheets of shots (05_editing/0511_story_cut/sc_sheet.py cuts)
03.10 · Roman · задание Романа 03.10
CA25Cameras
CA25Camerascanon

Dignity in framing: no unflattering close-ups, tighter against clutter

  • тяжёлые неудачные крупные планы лиц убираются — берутся достойные дубли и съёмка события
  • героиню на фоне быта (бельё, вещи) — крупнее, ×1,3–1,45, чтобы фон не спорил с человеком
05_editing/0514_teaser/teaser.py (beat size)
2026 · stage canon · манифест монтажа (6.2); тизеры YTAgeFree S3
CA26Cameras
CA26Camerascanon

Documentary boundary: enhance the footage, never replace people

  • улучшать снятое можно: стабилизация, апскейл, шумодав, параллакс
  • подменять людей нельзя: «реставрация» лиц (GFPGAN, CodeFormer), оживление портретов, синтез губ и голоса реального героя
  • нужна резкость — апскейл без face-модели и честная подпись «архив»; клон голоса героя — только с письменного согласия
  • оговорку закрывают перебивкой или общим планом, спорный факт — титром-уточнением
upscayl-bin (no face model) · 999_extra/photo_parallax
14.10 · stage canon · вердикты Skip №91–93 и правила №42, №50 страницы решений, 14.10
CA27Cameras
CA27Camerascanon

Shoot spec for an external studio: log 10-bit, float lav WAVs

  • внешней студии заранее — техзадание на запись: камеры в лог и 10 бит, звук отдельными WAV 48 кГц, петлички 32-бит float целыми исходниками
  • микс — 24 бит
  • лог в 8 бит
  • вариант: лог + H.265 10 бит ~100 Мбит/с ≈ 45 ГБ/ч
none: a written spec sent to the studio operator
04.10 · Roman · YTTRBM 03–05.10: просьба оператору Лёне (vMix MultiCorder, старые Blackmagic)
CA28Cameras
CA28Cameraslive

Per-camera A/V latency measured on lips with SyncNet

  • звук камеры сам бывает не в губах: Pocket 4P опаздывает на 31–56 мс, Osmo Nano спешит на ~40 мс, FX3A с приёмником ≈ +7
  • задержку меряют SyncNet по каждому клипу синхронных планов и берут кадр плана на неё раньше; готовый ролик — lipcheck ±20 мс
  • SyncNet на окне < 2 с врёт одинаково на каждом прогоне — мерить по окну исходника; у Pocket задержка уплывает: a + b·t
  • петличка, положенная по звуку камеры, наследует её сдвиг; мерить заново при другой связке приёмника или прошивке
05_editing/0514_teaser/avlat.py --job J --write · lipcheck.py --job J · syncnet_eval.py CLIP T0 DUR · ~/YTAI/environment/models/syncnet/
07.10 · Roman · YTAgeFree S3 день 2 07.10: Зоя в трейлере +50 мс · YTCG42 07.10: ZV-E1/FX3 ~50 мс, айфон ~88 мс · YTAgeFree16: чаепитие 35–90 мс
CA29Cameras
CA29Camerascanon

Sub-frame sync baked into the lav WAV on the frame grid

  • Premiere ставит клип только с точностью до кадра (±20 мс): петличку сцены рендерят одной полосой во времени ленты (float 32)
  • все позиции — на точные тики кадра (TickTime.createWithTicks, не float-секунды); синхрон до сэмпла живёт в самом файле
  • после сборки — гейт сверки: Debug Dump → verify_build_sync.py, допуск 2 мс
  • видео — последовательными транзакциями: compound-overwrite идёт в обратном порядке
999_extra/wordsync_multicam/0113_frame_align.py · verify_build_sync.py · 01_prepare/0112_collect_tx_strips.py · 05_editing/0500_uxp/tools/plan_cli.js
16.08 · stage canon · YTCH10 16.08 и YTCH13 17.08: остаток −31,6…+19,9 мс до канона, ≤ 1 сэмпла после
CA30Cameras
CA30Cameraslive

Paired and unpaired DJI clocks one hour apart: shift the group

  • в одном дне бывают две системы часов на ±1 ч: спаренные передатчики берут время приёмника и телефона, неспаренные TX00 и Pocket — время Москвы
  • признаки: поправка ≈ ±3600 с, Δ камеры ≈ час, самоперекрытия одного рекордера, закат в кадре против времени
  • лечение — сдвиг группы в решении дня: reframe_result.py --sec −3600 → retarget → scene_stems → build_day_ingest → ingest_markers
  • word-sync молча смешивает такие часы — обзор пар по звуку при сдвигах 0 / ±3600
999_extra/wordsync_multicam/reframe_result.py · build_day_ingest.py · ingest_markers.py · hour_alias_map.py (YTEVO03 01_Ingest/sync_evidence_20260925)
24.09 · stage canon · YTUVIE день 1 24.09: мак эксперта и рекордер ровно −1 ч · YTEVO03 25.09
CA31Cameras
CA31Camerascanon

Clip on a 30-minute DJI file seam: two files joined

  • DJI режет запись на файлы по ~30 мин; клип на стыке не сходится ни с одним — при слабой уверенности ищут в склейке хвоста и начала
  • звук клипа режут из двух файлов; в ингесте источник — «MIC026+MIC027»
  • иначе синхрон распадается на острова
01_prepare/0104_sync_audio_nested/0104_sync_audio_nested.py (find_spanning_tx_candidate, trim_spanning_tx_to_clip) · 999_extra/audio_finesync/
2026 · stage canon · YTCR01 C5209: уверенность 12,6 → 299, Δ 0,006 кадра
CA32Cameras
CA32Camerascanon

Sync proven by words and stored as numbers, never nudged

  • сначала гейт содержания (общие слова клипа и петлички), потом звук: слова не совпали — клип FLAG, синхрон не засчитан
  • сцену снимали без петлички — wav_sync_enabled: false: корреляция с тишиной и фоном даёт уверенные ложные совпадения
  • поправку пишут числом в wall_offset ингеста и пересобирают таймлайн; клипы руками не двигают — пересборка сотрёт сдвиг
  • петличка «рядом по часам» с другим разговором — отвергать
01_prepare/0116_camera_audio_sync.py · 01_prepare/0107_word_level_sync_check.py · ingest.json (wav_sync_enabled, wall_offset) · Build Ingest
31.05 · Roman · YTCR03 31.05: клип 0080 — FLAG · YTAgeFree08 01.06: MIC034 по часам, 0 общих слов · YTCR01: три сцены без петлички · YTUVIE01 26.09
CA33Cameras
CA33Camerascanon

Lav track on the ingest timeline only under the video

  • полосу петлички кладут только под видео (несколько клипов одного WAV), а не сплошной лентой сцены; звук в дырах — ручками клипа
  • дорожки петличек — выше звука камер
  • висящий звук там, где камера не снимала, — визуальный мусор
05_editing/0500_uxp/src/ingest/layout/txResolver.js (computeVideoUnion)
31.05 · Roman · YTCR03 31.05

Registry · 13

every other approach we used, compact: code, rule, where it is seen, tool

CA34

One camera, many takes: only listed takes, edges checked on a plot

YTCG37 v1–v8 02–04.10: FX3A S-Log3 + петличка, 17 дублей, 4:41, 26 экранов

в фильм идут только дубли из листа дублей; края — по звуку петлички, глазами на листе огибающих (edgeplot)
05_editing/0510_headless_cut/solo.py edges → edgeplot → listen → dialog → plan → gfx build → run (SOLO.md)⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA35

Fill what the main camera missed from the second camera

YTEVO02 15–20.09: дыра A 3,16 с на шве C0008/C0009; финал достроен с B (+1:49)

основная камера не писала (шов файлов) или закончила раньше — кусок и финал достраиваются со второй камеры, сведённой по звуку
05_editing/0509_review_cycle/examples/ytevo02/write_angles.py (xcorr, piecewise drift map)⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA36

Lav WAV rebuilt offline by a measured per-take shift

YTUVIE01 25.09: 28 730 → 31 мс, 322 → 26 мс, 248 → 22 мс — все три урока внутри кадра⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

звук разъехался при верной раскладке — петличку не двигают на таймлайне, а пересобирают офлайн по замеру: new[t] = old[t + сдвиг(дубль)]
999_extra/wordsync_multicam/relav2.py⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA37

Speaker window alternates sides in series; layouts mirror

YTEVO02 v9 15.10 (круг 2 Михаила)

окно говорящего рядом с экраном меняет сторону сериями (слева / справа), раскладка экранов зеркалится
05_editing/0510_autocut/plan.py pip_side · screens2.py mirrored⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA38

Key outdoor scene placed in a calculated golden hour

YTEVO 18.09: освящение в Лисьем Носу не позже 18:00 (закат 18:51)

ключевая сцена на улице ставится строго в золотой час, посчитанный по восходу и закату для даты и города
NOAA sun calc⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA39

AI avatar shoot spec: looks by manners, listen and idle takes, 360

YTUVIAI ТЗ v1–v5 01–05.10; спринт 12–25.10

3–5 образов, в каждом три манеры (эмоции, спокойно, разговор с оператором); дубль «15 с слушает → речь → 15 с молча»
999_extra/ytuviai/build_tz.py (tz.json)⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

trial
CA40

29.97 sources in a 25p film conformed via 25p windows to keep sync

YTFP02 04.10: ZV-E1 29,97

исходник 29,97 к/с в фильме 25p даёт картинку позже звука до 3 кадров — промежуточные 25p только из окон монтажа со временем исходника
999_extra/ytfp02_25p.py · 05_editing/0511_doc_cut/TICKET_conform_2997_sync.md⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

trial
CA41

Shaky shot stabilised after the cube; edges hidden by a 6% punch-in

YTAgeFree16 v4 18.10: правка Романа П1.15 «кадр трясётся»

трясущийся план стабилизируется deshake по готовой (проявленной) картинке, края закрывает наезд 6 %
05_editing/0514_teaser/teaser.py (stab: true | 16...64, deshake)⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA42

Slow push-in across a speech piece, face kept in place

YTCR04

медленный наезд +6 % за кусок: zoompan кадр за кадром тем же окном, лицо остаётся на месте
05_editing/0511_story_cut/sc_conform.py (push of the piece)⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA43

Screen recording placed into the ingest by speech correlation

YTUVIE01 25–26.09: ручное место промахивалось на 6 с – 5:57, пики 0,97–0,99, TX02 подтвердил до 6 мс⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

запись экрана встаёт по речи, а не «с нуля урока»: полная корреляция огибающих против петлички урока, дрейф — по четвертям
999_extra/wordsync_multicam/screencast_sync.py --project P --scene S [--apply] · screencast_offset.py · timeline_sync_audit.py⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA44

Day device map: the same instant on every camera via a shared lav

YTAgeFree S3 день 2: 177 связей, невязка ≤ 10 мс у 175, уход до 70 мс за 30 мин · FX3-1479 ↔ Pocket 0064 — до 4,8 мс⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

карта связей дня: каждая петличка × каждый клип — грубо по 3-граммам слов, точно GCC-PHAT в ≤ 6 точках, сдвиг и уход часов
05_editing/0514_teaser/daymap.py --index ... --words ... --wav16 ... · devmap.py CLIP T --daymap D1 · plan: sync: true, clip: <other camera>⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA45

Sony file seams checked by sound, not by creation time

YTEVO02 11.09: швы 0,0–1,6 — одна запись, «2,8 с потеряно» опровергнуто, C0010 не скопирован · 15.09: камера A не писала 3,16 с⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

непрерывность длинной записи Sony, разрезанной на файлы ~4,19 ГБ, проверяют по звуку на швах: скачок сэмпла, огибающая 5 мс
ffmpeg -sseof -0.4 / -t 0.4 -> f32le -> numpy⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

live
CA46

Clipped camera audio locked by multi-window GCC-PHAT on its sign

YTAgeFree08 01.06: FX3-0041 → MIC010 (резкость 380–605); ZVE1-1611 — 0 захватов по 340 файлам⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

звук камеры и петличку сшивают независимо от часовых поясов: 8 окон по 18 с, GCC-PHAT в полосе 150–5500 Гц
YTAgeFree08 project scripts (sweep_audio.py, calib.py)⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

trial

Код подхода постоянный — по нему подход называют в плане фильма и хэндоффе. new — решения Романа и Тани 02–26.10 из хэндоффов и памяти: раньше их не было ни на одной странице. Пунктир — open: в фильм только после решения Романа. Как добавить новый подход — Edit · Add.⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

Tools

Скрипты, движки, навыки и сервисы, на которых держатся подходы этой страницы; полный реестр — /map/tools/.⁠​‌​‌​​‌​​‌​‌‌​​‌​‌​​​​​‌​​‌​‌‌​‌​‌​​‌‌​‌​‌​​​​​‌​‌​‌​​​​​​‌​‌‌​‌​‌​​​‌​‌​‌​​​‌​​​‌​​‌​​‌​‌​‌​‌​​​​‌​‌‌​‌​‌​​​​‌‌​‌​​​​​‌​‌​​‌‌​‌​‌​​​‌​‌​‌​‌​​‌​​‌​​​​​‌​‌​‌​​‌‌​​‌​‌‌​‌​​‌‌​​‌​​​‌‌​​​​​​‌‌​​‌​​​‌‌​‌‌​​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌‌​​​‌​​‌​‌‌​‌​‌‌‌​‌‌​​​‌‌‌​​​⁠

5

0510_headless_cut/solo.py

script · color · edit · sound
05_editing/0510_headless_cut/solo.py

CA4CA20CA34CA7CA9

4

0513_lesson_cut/lc.py

script · edit · sound
05_editing/0513_lesson_cut/lc.py

CA9CA14CA15CA22

4

0510_headless_cut/director.py

script · edit
05_editing/0510_headless_cut/director.py

CA9CA10CA11CA4

3

0514_teaser/teaser.py

script · edit
05_editing/0514_teaser/teaser.py

CA3CA25CA41

3

0511_doc_cut/picture.py

script · edit
05_editing/0511_doc_cut/picture.py

CA1CA7CA23

3

wordsync_multicam/build_day_ingest.py

script · edit
999_extra/wordsync_multicam/build_day_ingest.py

CA18CA6CA30

2

0511_story_cut/sc_edl.py

script · edit
05_editing/0511_story_cut/sc_edl.py

CA5CA7

2

wordsync_multicam/screencast_offset.py

script · edit
999_extra/wordsync_multicam/screencast_offset.py

CA6CA43

2

0120_day_ingest/run_night.py

script · edit
01_prepare/0120_day_ingest/run_night.py

CA6CA18

2

make_ingest.py

script · edit

CA6CA18

2

01_prepare/0116_camera_audio_sync.py

script · edit

CA6CA32

2

0511_story_cut/sc_conform.py

script · edit
05_editing/0511_story_cut/sc_conform.py

CA21CA42

2

wordsync_multicam/reframe_result.py

script · edit
999_extra/wordsync_multicam/reframe_result.py

CA30CA6

1

0511_story_cut/sc_sheet.py

script · edit
05_editing/0511_story_cut/sc_sheet.py

CA24

1

YuNet

engine · color · edit · shorts

CA1

1

0510_headless_cut/gfx.py

script · edit
05_editing/0510_headless_cut/gfx.py

CA8

1

0514_teaser/trailer.py

script · color · edit · sound
05_editing/0514_teaser/trailer.py

CA7

1

0510_headless_cut/cut.py

script · edit
05_editing/0510_headless_cut/cut.py

CA10

1

tools/panel_job.py

script · color · edit · sound
0500_uxp/tools/panel_job.py

CA19

1

framing.py

script · edit

CA4

1

Apple Vision

engine · edit · shorts

CA4

1

999_extra/ytfp02_cover_crops.py

script · edit

CA5

1

ytcr06_lav_silence.py

script · edit

CA5

1

ytcr06_lipcheck.py

script · edit

CA5

1

01_prepare/0108_tx_holistic_map.py

script · edit

CA5

1

audio_finesync/finesync_run.py

script · edit
999_extra/audio_finesync/finesync_run.py

CA6

1

finesolve.py

script · edit

CA6

1

finesync_gate.py

script · edit

CA6

1

validate_ingest.py

script · edit

CA6

1

qc_html.py

script · edit

CA6

1

wordsync.py

script · edit

CA6

1

finesync.py

script · edit

CA6

1

0511_doc_cut/sync.py

script · edit
05_editing/0511_doc_cut/sync.py

CA6

1

0510_headless_cut/sync.py

script · edit
05_editing/0510_headless_cut/sync.py

CA6

1

stages/face_pos.py

script · edit
05_editing/0509_review_cycle/stages/face_pos.py

CA8

1

0511_story_cut/sc_gfx_ytevo.py

script · edit

CA8

1

1304_visual_tz/speaker_compose.py

script · edit
13_preprod/1304_visual_tz/speaker_compose.py

CA8

1

0513_lesson_cut/pravki.py

script · edit · sound
05_editing/0513_lesson_cut/pravki.py

CA9

1

0510_autocut/post.py

script · color · edit · sound
05_editing/0510_autocut/post.py

CA9

1

story_map/story_lipsync.py

script · edit · sound
999_extra/story_map/story_lipsync.py

CA12

1

0513_lesson_cut/screens_lesson.py

script · color · edit
05_editing/0513_lesson_cut/screens_lesson.py

CA15

1

999_extra/source_light_transcode.py

script · edit

CA16

1

1601_build/proxy.py

script · edit
16_proxy/1601_build/proxy.py

CA17

1

contract.py

script · edit

CA17

1

rebuild.py

script · edit

CA17

1

1603_farm/farm.py

script · edit
16_proxy/1603_farm/farm.py

CA17

1

Drive

app · edit · shorts

CA17

1

999_extra/pipeline_ch3.py

script · edit

CA18

1

rebuild_ingest_after_restructure.py

script · edit

CA18

1

0121_studio_day/ingest_src.py

script · edit
01_prepare/0121_studio_day/ingest_src.py

CA18

1

layout/sceneLayout.js

script · edit
05_editing/0500_uxp/src/ingest/layout/sceneLayout.js

CA19

1

01_prepare/0106_probe_media.py

script · edit

CA19

1

999_extra/add_clip_to_ingest.py

script · edit

CA19

1

999_extra/rebuild_ingest_with_extra_scene.py

script · edit

CA19

1

0510_headless_cut/ytcg.py

script · edit
05_editing/0510_headless_cut/ytcg.py

CA20

1

0514_teaser/avlat.py

script · edit
05_editing/0514_teaser/avlat.py

CA28

1

lipcheck.py

script · edit

CA28

1

syncnet_eval.py

script · edit

CA28

1

SyncNet

engine · edit

CA28

1

wordsync_multicam/0113_frame_align.py

script · edit
999_extra/wordsync_multicam/0113_frame_align.py

CA29

All tools ↗