What does Vibe Knowledge Video do?
Преобразуйте тему в проект Remotion с подтверждёнными источниками и экспортируемое видео. Оптимизируйте для ясности, визуального объяснения и воспроизводимости, а не для копирования идентичности конкретного автора.
Основной рабочий процесс
- Подтвердите или определите тему, аудиторию, соотношение сторон, целевую длительность, язык и необходимость озвучки. Если детали отсутствуют, используйте значения по умолчанию: китайский язык, широкая взрослая аудитория, 16:9, 60–120 секунд, 30 кадров/с, со сценарием озвучки и встроенными китайскими субтитрами.
- Исследуйте тему перед написанием. Отдавайте предпочтение первичным источникам, научным статьям, стандартам, официальной статистике и авторитетным учреждениям. Записывайте каждое фактическое утверждение в
research/sources.mdс URL, названием, датой и поддерживаемым утверждением. - Разделяйте подтверждённые факты, интерпретацию и аналогию. Удаляйте неподтверждённые утверждения. Не выдумывайте цитаты, исследования, числа, даты или причинно-следственные связи.
- Создайте
video-brief.json, используя references/brief-schema.md. Запуститеnode scripts/validate-brief.mjs video-brief.jsonперед кодированием сцен. - Создайте план сцен с сильным вопросом в первые 3 секунды, одной идеей на сцену, визуальной отдачей каждые 5–8 секунд и кратким завершением. Сохраняйте одну чёткую повествовательную линию. Удаляйте исторические сравнения, побочные факты или дополнительные временные линии, если они прерывают запрошенное объяснение, а не продвигают его. Используйте references/storyboard-guide.md.
- Если проект Remotion не существует, запустите
bash scripts/bootstrap-remotion.sh <project-directory>. Это создаёт официальный пустой шаблон и устанавливает официальные навыки Remotion Agent. Никогда не перезаписывайте существующую непустую директорию. - Реализуйте видео в Remotion. Прочитайте официальные навыки Remotion, установленные в проекте, перед редактированием. Используйте анимацию на основе кадров с
useCurrentFrame(),interpolate(),spring(),SequenceиSeries; не используйте CSS-анимации, случайные значения или время настенных часов. - Отдавайте предпочтение нативным HTML, SVG, Canvas, уравнениям, диаграммам, временным линиям, картам и целенаправленным иллюстрациям. Для узнаваемого реального объекта, такого как транспортное средство, машина, животное, человек или продукт, не используйте грубую палочную фигуру или общий геометрический контур в качестве финального визуала. Сохраняйте силуэт объекта, пропорции, определяющие компоненты и функциональную структуру. Если пользователь предоставляет справочные изображения, сначала изучите их и создайте оригинальную подробную визуализацию, а не копируйте источник. Для движущихся объектов прочитайте references/motion-direction-prompt.md и определите контактную геометрию, пропорции, связь движений, окклюзию и непрерывность сцены перед реализацией. Используйте внешние изображения или клипы только в том случае, если они существенно улучшают понимание, а их лицензия/источник задокументированы.
- Добавляйте озвучку только из предоставленного пользователем аудио или доступного авторизованного TTS-сервиса. Не загружайте молча закрытый текст во внешний голосовой сервис. Помещайте медиа в
public/и загружайте их с помощьюstaticFile(). - Если запрашивается фоновая музыка, используйте лицензированную музыку с задокументированной атрибуцией или создайте оригинальную детерминированную дорожку. Стройте музыку из аккордов, ритма, мелодии и огибающих; не используйте белый, розовый или коричневый шум в качестве слышимой музыкальной подложки. Держите музыку под озвучкой и тестируйте её на обычных динамиках телефона или ноутбука. Используйте
scripts/generate-light-science-music.pyдля нейтральной исходной точки. - Создавайте субтитры по финальному таймингу озвучки. Максимум две строки, обеспечивайте безопасные поля и поддерживайте читаемый контраст. Для покадрового тайминга используйте
@remotion/captions. - Просматривайте репрезентативные стоп-кадры перед полным рендером. Проверьте начало, середину каждой сцены, переходы и финальный кадр на переполнение текста, фактическую точность, макет, использование музыки и атрибуцию. Не рендерьте и не загружайте 10-секундный превью, если только пользователь явно не запросил его; избегайте дублирования затрат на рендер и хранение.
- Экспортируйте полный MP4, затем нормализуйте его с помощью
scripts/finalize-video.sh <input.mp4> <output.mp4>. Это создаёт видео H.264 High/yuv420p, аудио AAC-LC стерео, тегavc1и индекс MP4 с быстрым стартом. Никогда не публикуйте непроверенную копию потокового результата. - Предоставьте директорию проекта, финальное видео,
video-brief.jsonиresearch/sources.md. Включайте превью только по явному запросу. Укажите любые утверждения или медиа, которые всё ещё требуют ручной проверки.
Стандарты проекта
- Зарегистрируйте композицию
FullVideo. Добавляйте отдельную композицию для превью только в том случае, если пользователь явно запрашивает рендер превью или это существенно упрощает разработку. - Помещайте редактируемый контент в файлы данных, а не разбрасывайте копии по компонентам.
- Создавайте переиспользуемые компоненты для заголовка, субтитров, диаграммы, временной линии и перехода между сценами. Храните метаданные источников в проекте, но не встраивайте имена источников, даты или ссылки на источники в видео по умолчанию. Показывайте источник на экране только по запросу пользователя, если цитата требует атрибуции или утверждение иначе было бы вводящим в заблуждение.
- Используйте детерминированную анимацию и стабильные сиды, когда требуются процедурные графические элементы.
- Используйте безопасную типографику: сначала системные китайские шрифты, если не добавлен перераспространяемый локальный шрифт.
- Отдельно проверяйте портретный вывод; не просто обрезайте ландшафтную композицию.
- Отдавайте предпочтение непрерывному пояснительному действию, а не статическим наклейкам: держите главный объект в движении, пока метки, стрелки, диаграммы и озвучка объясняют происходящее. Свяжите трансляцию, вращающиеся части, подвеску или движение кузова, брызги или пыль и параллакс фона с тем же сигналом скорости на основе кадров.
- Если объяснение следует за путешествием, процессом, путём роста или обратным отсчётом, создайте постоянный индикатор прогресса от начала до конца. Объект должен появляться в начале, продолжать прогрессировать, пока объясняются концепции, и визуально достигать пункта назначения или конечного состояния в конце.
- Выводите вторичные физические эффекты из основного действия: скорость контролирует длину брызг, вращение колёс, кильватер, пыль, размытие или вибрацию; направление контролирует, куда эти эффекты распространяются. Не добавляйте общие украшения, игнорирующие движение объекта.
- Установите один числовой физический контактный якорь перед началом рисования и используйте его формулу в каждой сцене: колёса, лыжи, ступни, корпуса, дороги и ватерлинии должны правдоподобно встречаться. Не оценивайте на глаз разную вертикальную позицию для каждого кадра. Не помещайте весь объект ниже поверхности и не заставляйте его парить над землёй, если только объяснение явно не требует такого состояния.
- Держите трансформационную математику и математику размещения в одной и той же системе координат. Если контактные позиции вычисляются от верхнего левого угла объекта, масштабируйте и вращайте от того же начала или явно компенсируйте трансформационное начало. Тестируйте наименьший и наибольший масштабы объекта, поскольку масштабирование от центра может незаметно сместить объект ниже его контактной линии.
- Для реальной машины инвентаризируйте асимметричные функциональные части по справочным изображениям перед рисованием. Не используйте один универсальный компонент колеса, крыла, опоры или инструмента, если реальные передние и задние или левые и правые части различаются. Сохраняйте, какая часть управляет, поддерживает, движет или контактирует с окружающей средой.
- Для людей извлеките скелет позы из референса перед стилизацией: голова, шея, плечо, локоть, кисть, бедро, колено, лодыжка и стопа. Убедитесь, что руки достигают органов управления, бёдра соприкасаются с сиденьем, колени сгибаются вокруг тела, а ноги достигают подножек или земли. Заполненный торс плюс прямые штрихи конечностей — это не законченный всадник.
- Держите брендинг выключенным по умолчанию. Не добавляйте имя публичного аккаунта, имя видеоканала, хэндл создателя, логотип, водяной знак или повторяющуюся метку аккаунта, если только пользователь явно не запрашивает это или не предоставляет утверждённые бренд-активы.
- При сохранении изменений проекта или навыков для китайскоязычного пользователя используйте краткие сообщения Git на китайском языке, если пользователь не запрашивает другой язык.
- Никогда не имитируйте точный фирменный стиль, голос, аватар, логотип или характерные переходы живого создателя. Переводите высокоуровневые черты, такие как кинематографический темп или управляемая данными анимация, в оригинальную визуальную систему.
Визуальное направление по умолчанию
Используйте тёмный редакционный фон, один яркий акцентный цвет, сдержанное свечение, крупную китайскую типографику, тонкие линии сетки и целенаправленное движение. Избегайте чрезмерных частиц, карточных сеток, случайных градиентов, ложного 3D и постоянного движения камеры. Пусть концепция определяет анимацию.
Команды
npm run dev
npx remotion render FullVideo out/review-frames --frames=0,450,900,1350,1800,2250,2699 --image-format=png
npx remotion render FullVideo out/final.mp4
python3 scripts/generate-light-science-music.py --duration 90 --output public/audio/light-science-music.wav
bash scripts/finalize-video.sh out/final.mp4 out/final-compatible.mp4
На Windows передавайте параметры композиции через JSON-файл, а не встроенную оболочку JSON.
Контрольные точки завершения
Не считайте видео завершённым, пока:
- каждое фактическое утверждение не имеет источника или не явно помечено как интерпретация;
- валидатор брифов не проходит успешно;
- репрезентативные стоп-кадры из начала, середин сцен, переходов и концовки не были просмотрены;
- каждая сцена, содержащая главный объект, не была просмотрена хотя бы один раз; не утверждайте геометрию объекта только по последнему кадру;
- пояснительный текст, метки, стрелки и индикаторы прогресса не перекрывают главный объект или субтитры ни на одном просмотренном кадре;
- ни один текст не обрезается в формате 16:9 или запрошенном формате;
- узнаваемые реальные объекты визуально достоверны и не сведены к примитивным линиям-заполнителям;
- человеческие пропорции не сжаты и не растянуты видимым образом, сочленённые части соединяются естественно, а масштаб субъекта остаётся последовательным во всех сценах;
- физический контакт и окклюзия достоверны: объект непреднамеренно не погружается под воду, не пересекает землю и не проходит сквозь другие объекты;
- появления в наименьшем и наибольшем масштабе сохраняют тот же контактный якорь после трансформаций;
- асимметричные компоненты реального мира соответствуют референсам и не дублируются из общей переиспользуемой формы;
- ожидаемое механическое движение видимо и синхронизировано, например, вращение колеса или пропеллера соответствует скорости движения, с вторичным движением, таким как брызги, подвеска или наклон кузова;
- основная пояснительная последовательность использует непрерывное действие, если тема включает движение, а не полагается только на статические диаграммы;
- любое путешествие или процесс имеет связное визуальное начало, текущий прогресс и видимое завершение;
- незапрошенное имя аккаунта, название канала, логотип или водяной знак не появляются в видео;
- субтитры соответствуют озвучке;
- фоновое аудио звучит музыкально, а не как шипение, гул или статика;
- лицензии на медиа и атрибуции задокументированы;
- команда полного рендера выполняется успешно;
- доставленный MP4 проходит полное декодирование FFmpeg, и
ffprobeподтверждает H.264/yuv420p плюс AAC-LC, если присутствует аудио; - если файл загружен, загрузите или материализуйте этот загруженный артефакт и проверьте его размер, хэш и возможность декодирования, а не предполагайте, что успех загрузки означает целостность медиа.