Video Editor
Video Editor
Video Editor MCP 서버는 Video Jungle을 기반으로 비디오 추가, 편집 및 검색 기능을 제공합니다. 이 서버를 통해 LLM은 비디오 클립을 가져오고, 자르고, 합치고, 효과를 적용하며, 메타데이터를 관리할 수 있습니다. 간편한 비디오 편집 작업부터 복잡한 프로젝트 관리까지 다양한 비디오 제작 워크플로우를 지원합니다.
특징
- 비디오 가져오기: 로컬 파일, URL, 클라우드 저장소에서 비디오 가져오기
- 기본 편집: 클립 자르기, 순서 재배열, 속도 조절, 트랜지션 적용
- 메타데이터 관리: 제목, 설명, 태그 등 비디오 메타데이터 편집
- 효과 적용: 색상 보정, 필터, 오버레이, 텍스트 삽입
- 오디오 편집: 오디오 트랙 추가, 믹싱, 볼륨 조절, 페이드 인/아웃
- 비디오 검색: 메타데이터, 콘텐츠, 시각적 요소로 비디오 검색
- 일괄 처리: 여러 비디오 파일의 일괄 처리
- 내보내기: 다양한 형식과 해상도로 비디오 내보내기
- 프로젝트 관리: 편집 프로젝트 저장, 불러오기, 관리
- 자동 변환: 다양한 포맷 간 자동 변환 및 최적화
API
도구
비디오 관리 도구
- import_video: 비디오 가져오기
- 입력: 파일 경로, URL 또는 클라우드 식별자, 가져오기 옵션
-
출력: 가져온 비디오 ID 및 메타데이터
-
create_project: 새 비디오 프로젝트 생성
- 입력: 프로젝트 이름, 해상도, 프레임 레이트, 기타 설정
-
출력: 생성된 프로젝트 ID 및 설정
-
load_project: 기존 프로젝트 불러오기
- 입력: 프로젝트 파일 경로 또는 ID
-
출력: 로드된 프로젝트 상태
-
save_project: 프로젝트 저장
- 입력: 프로젝트 ID, 저장 경로, 옵션
- 출력: 저장 결과 및 파일 정보
편집 도구
- add_clip_to_timeline: 타임라인에 클립 추가
- 입력: 프로젝트 ID, 비디오 ID, 시작 시간, 지속 시간, 트랙 번호
-
출력: 추가된 클립 ID 및 위치
-
trim_clip: 클립 자르기
- 입력: 프로젝트 ID, 클립 ID, 새 시작점, 새 끝점
-
출력: 수정된 클립 정보
-
reorder_clips: 클립 순서 변경
- 입력: 프로젝트 ID, 클립 ID 배열, 새 순서
-
출력: 재배열 결과
-
adjust_clip_speed: 클립 속도 조절
- 입력: 프로젝트 ID, 클립 ID, 속도 배율, 옵션
- 출력: 수정된 클립 정보
효과 및 전환 도구
- add_transition: 클립 간 전환 추가
- 입력: 프로젝트 ID, 클립 ID 쌍, 전환 유형, 지속 시간, 옵션
-
출력: 추가된 전환 ID 및 정보
-
apply_effect: 클립에 효과 적용
- 입력: 프로젝트 ID, 클립 ID, 효과 유형, 매개변수, 키프레임(선택적)
-
출력: 적용된 효과 ID 및 상태
-
add_text_overlay: 텍스트 오버레이 추가
- 입력: 프로젝트 ID, 클립 ID, 텍스트 내용, 위치, 시간, 스타일
-
출력: 추가된 텍스트 오버레이 ID
-
apply_color_correction: 색상 보정 적용
- 입력: 프로젝트 ID, 클립 ID, 보정 파라미터
- 출력: 적용 결과
오디오 편집 도구
- add_audio_track: 오디오 트랙 추가
- 입력: 프로젝트 ID, 오디오 파일 경로, 시작 시간, 볼륨, 옵션
-
출력: 추가된 오디오 트랙 ID
-
adjust_audio_volume: 오디오 볼륨 조절
- 입력: 프로젝트 ID, 트랙 ID, 볼륨 레벨 또는 곡선
-
출력: 조절 결과
-
add_audio_fade: 오디오 페이드 추가
- 입력: 프로젝트 ID, 트랙 ID, 페이드 유형(인/아웃), 지속 시간, 곡선
- 출력: 적용된 페이드 정보
검색 및 메타데이터 도구
- search_videos: 비디오 검색
- 입력: 검색어, 필터(날짜, 태그, 길이 등), 정렬 기준
-
출력: 검색 결과 비디오 목록
-
update_metadata: 비디오 메타데이터 업데이트
- 입력: 비디오 ID, 메타데이터 객체(제목, 설명, 태그 등)
-
출력: 업데이트 결과
-
analyze_video: 비디오 분석
- 입력: 비디오 ID, 분석 유형(장면 감지, 객체 인식 등)
- 출력: 분석 결과 데이터
내보내기 도구
- export_video: 비디오 내보내기
- 입력: 프로젝트 ID, 출력 경로, 포맷, 해상도, 품질 설정
-
출력: 내보내기 진행 상황 및 결과 파일 정보
-
generate_thumbnail: 썸네일 생성
- 입력: 비디오 ID 또는 프로젝트 ID, 시간 위치, 크기, 옵션
- 출력: 생성된 썸네일 이미지 경로
사용 방법
설치
# npm을 통한 설치
npm install -g video-editor-mcp
# 또는 GitHub 저장소에서 직접 설치
git clone https://github.com/author/video-editor-mcp
cd video-editor-mcp
npm install
필요 조건
- FFmpeg가 설치되어 있어야 합니다.
- Video Jungle 라이브러리 또는 호환 라이브러리가 필요합니다.
- Node.js 14 이상이 설치되어 있어야 합니다.
- 고성능 비디오 처리를 위한 충분한 시스템 리소스
구성
Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정할 수 있습니다:
{
"mcpServers": {
"video-editor": {
"command": "npx",
"args": ["-y", "video-editor-mcp"],
"env": {
"FFMPEG_PATH": "/usr/local/bin/ffmpeg",
"OUTPUT_DIRECTORY": "/path/to/output",
"TEMP_DIRECTORY": "/path/to/temp"
}
}
}
}
사용 예시
// 새 프로젝트 생성
const project = await create_project({
name: "여행 하이라이트",
resolution: "1920x1080",
frameRate: 30,
aspectRatio: "16:9"
});
// 비디오 가져오기
const beachVideo = await import_video({
source: "/path/to/beach_footage.mp4",
options: {
trimStart: 10.5,
trimEnd: 65.2
}
});
const cityVideo = await import_video({
source: "/path/to/city_footage.mp4"
});
// 타임라인에 클립 추가
const beachClip = await add_clip_to_timeline({
projectId: project.id,
videoId: beachVideo.id,
startTime: 0,
duration: 20,
track: 0
});
const cityClip = await add_clip_to_timeline({
projectId: project.id,
videoId: cityVideo.id,
startTime: 20,
duration: 15,
track: 0
});
// 전환 효과 추가
await add_transition({
projectId: project.id,
fromClip: beachClip.id,
toClip: cityClip.id,
type: "crossDissolve",
duration: 1.5
});
// 색상 보정 적용
await apply_color_correction({
projectId: project.id,
clipId: beachClip.id,
parameters: {
brightness: 1.1,
contrast: 1.2,
saturation: 1.15,
temperature: -5
}
});
// 제목 텍스트 추가
await add_text_overlay({
projectId: project.id,
clipId: beachClip.id,
text: "해변 휴가 2025",
position: { x: "center", y: "top" },
time: { start: 2, end: 7 },
style: {
fontFamily: "Arial",
fontSize: 48,
color: "#FFFFFF",
shadow: true
}
});
// 배경 음악 추가
await add_audio_track({
projectId: project.id,
audioFile: "/path/to/background_music.mp3",
startTime: 0,
volume: 0.8,
options: {
loop: true,
fadeIn: 2,
fadeOut: 3
}
});
// 프로젝트 저장
await save_project({
projectId: project.id,
path: "/path/to/travel_video.veproj"
});
// 비디오 내보내기
await export_video({
projectId: project.id,
output: "/path/to/travel_highlights.mp4",
format: "mp4",
codec: "h264",
resolution: "1080p",
quality: "high",
audioBitrate: "320k"
});
// 썸네일 생성
await generate_thumbnail({
projectId: project.id,
time: 5.5,
size: { width: 1280, height: 720 },
output: "/path/to/thumbnail.jpg"
});
연결된 구성 요소
- DaVinci Resolve - 더 고급 비디오 편집 기능과의 통합
- YouTube - 편집된 비디오의 유튜브 업로드 자동화
- ElevenLabs - 나레이션 및 보이스오버를 비디오에 통합
- Image Generation - AI 생성 이미지를 비디오에 통합