MCP HubMCP Hub
Вернуться к навыкам

c-video-edit

daxaur
Обновлено 2 days ago
2 просмотров
143
6
143
Посмотреть на GitHub
Метаvideoeditingremotioneditlyreactrenderingcreative

О программе

c-video-edit позволяет программно создавать видео, используя либо Remotion для динамических видео на основе React, либо Editly для быстрой сборки на основе JSON. Этот инструмент даёт разработчикам возможность создавать, рендерить и компоновать видео непосредственно из кода. Используйте этот навык, когда вам требуется генерировать видео программным путём, например, для динамического контента, визуализации данных или автоматизированного редактирования.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add daxaur/openpaw -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/daxaur/openpaw
Git клонированиеАльтернативный
git clone https://github.com/daxaur/openpaw.git ~/.claude/skills/c-video-edit

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация

Video Editing — Remotion & Editly

Create, render, and compose videos programmatically. Use Remotion for React-based dynamic videos or Editly for quick JSON-based assembly.

Remotion (React-based video creation)

Project Setup

# Create a new Remotion project
npx create-video@latest my-video
cd my-video

# Start interactive studio
npx remotion studio

Rendering

# Render a composition to video
npx remotion render src/index.ts MyComposition out/video.mp4

# Render a still frame (thumbnail)
npx remotion still src/index.ts MyComposition out/thumbnail.png --frame=30

# List available compositions
npx remotion compositions src/index.ts

Render Options

# Resolution and FPS
npx remotion render src/index.ts MyComp out.mp4 --width 1920 --height 1080 --fps 30

# Codec (h264, h265, vp8, vp9, prores)
npx remotion render src/index.ts MyComp out.mp4 --codec h264

# Quality (CRF 0-51, lower = better)
npx remotion render src/index.ts MyComp out.mp4 --crf 18

# Speed preset
npx remotion render src/index.ts MyComp out.mp4 --x264-preset fast

# Pass data as props
npx remotion render src/index.ts MyComp out.mp4 --props='{"title":"Hello","color":"blue"}'

# Parallel rendering (faster)
npx remotion render src/index.ts MyComp out.mp4 --concurrency 4

# Benchmark render time
npx remotion benchmark src/index.ts MyComp

Composition Structure

// src/Root.tsx — register compositions
import { Composition } from "remotion";
import { MyVideo } from "./MyVideo";

export const RemotionRoot = () => (
  <Composition id="MyVideo" component={MyVideo}
    durationInFrames={150} fps={30} width={1920} height={1080} />
);

// src/MyVideo.tsx — video content
import { useCurrentFrame, interpolate, AbsoluteFill, Sequence } from "remotion";

export const MyVideo = () => {
  const frame = useCurrentFrame();
  const opacity = interpolate(frame, [0, 30], [0, 1]);
  return (
    <AbsoluteFill style={{ backgroundColor: "black" }}>
      <Sequence from={0} durationInFrames={60}>
        <h1 style={{ color: "white", opacity }}>Hello World</h1>
      </Sequence>
    </AbsoluteFill>
  );
};

Editly (JSON-based declarative editing)

Quick Assembly

# Simple concatenation with titles
editly title:'Intro' clip1.mov clip2.mov title:'THE END' --out output.mp4

# From JSON spec
editly spec.json5 --fast --out output.mp4

# Add background music
editly spec.json5 --audio-file-path music.mp3 --out output.mp4

JSON Spec Format

{
  "width": 1920,
  "height": 1080,
  "fps": 30,
  "outPath": "output.mp4",
  "defaults": {
    "duration": 4,
    "transition": { "name": "fade", "duration": 0.5 }
  },
  "clips": [
    {
      "duration": 3,
      "layers": [{ "type": "title-background", "text": "My Video", "background": { "type": "linear-gradient" } }]
    },
    {
      "layers": [{ "type": "video", "path": "clip1.mp4", "cutFrom": 0, "cutTo": 10 }]
    },
    {
      "layers": [
        { "type": "image", "path": "photo.jpg" },
        { "type": "title", "text": "Caption", "position": "bottom" }
      ]
    }
  ],
  "audioFilePath": "background.mp3",
  "keepSourceAudio": false
}

Layer Types

  • video — video clip (cutFrom/cutTo for trimming)
  • audio — audio track
  • image — static image
  • title-background — full-screen title card with background
  • title — text overlay
  • subtitle — subtitle text
  • gl — WebGL shader transition/effect

Guidelines

  • Remotion — best for complex, data-driven, animated videos (dashboards, branded content, social media)
  • Editly — best for quick assembly (concatenation, transitions, title cards, slideshows)
  • Both require ffmpeg (installed automatically with this skill)
  • Remotion renders can be CPU-intensive — warn user about duration for long compositions
  • Always confirm output path before rendering to avoid overwriting
  • Use --fast flag with Editly for quick previews before final render

GitHub репозиторий

daxaur/openpaw
Путь: skills/c-video-edit
0
ai-agentanthropicautomationclaudeclaude-codecli

Похожие навыки

content-collections

Мета

Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.

Просмотреть навык

polymarket

Мета

Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.

Просмотреть навык

creating-opencode-plugins

Мета

Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.

Просмотреть навык

sglang

Мета

SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.

Просмотреть навык