GitHub Trending오픈소스 · 도구오늘의 주요

dmtrKovalenko/fframes

Rust로 쓰고 GPU로 렌더링하는 고속 영상 프레임워크 fframes

원제 dmtrKovalenko/fframes

스타 1,809당일 +357Rust
Key Point

AI 에이전트가 자동으로 고품질 영상을 생성할 수 있는 프로그래밍 프레임워크로, 영상 자동화 워크플로우가 필요한 개발자와 모션 디자인 팀에게 실질적인 생산성 향상을 제공한다.

핵심 요약

  • 프로그래밍 방식으로 영상을 렌더링하는 Rust 기반 프레임워크로, Rust와 SVG로 영상을 작성하고 GPU(Metal/Vulkan)로 렌더링한다.
  • AI 에이전트가 자동으로 영상을 생성할 수 있도록 설계되었으며, 에이전트가 읽을 수 있는 형태의 프레임 정보·텍스트·수치를 출력하는 inspect, strip, frame, audio analyze 등의 명령줄 도구를 제공한다.
  • 정적 마크업은 컴파일 타임에 캐싱되고, ffmpeg의 libav 라이브러리를 직접 링크하며, SkSL과 GLSL 셰이더를 레이어로 사용할 수 있어 CPU 기반 렌더링 대비 약 10배 빠르다.
  • 모든 프레임은 Rust 함수에서 반환되는 SVG 트리로, svgr! 매크로로 작성되며, 타임라인 기반의 모션 및 음향 편집을 지원한다.
  • macOS와 Linux(arm64, x86_64)에서는 첫 빌드 시 사전 컴파일된 Skia와 ffmpeg 라이브러리를 다운로드하여 1분 이내에 완료되고, 이후 빌드는 몇 초 안에 끝난다.
  • preview 명령으로 실시간 재생 가능하고, 웹 기반 에디터에서 WebAssembly로 컴파일된 영상을 타임라인과 함께 편집할 수 있으며, render --draft로 한 장면을 절반 크기로 약 1초 안에 빠르게 렌더링할 수 있다.
  • 포함된 12개의 예제는 128초 분량의 런칭 영상부터 팟캐스트 시각화, TikTok 형식 영상까지 다양한 사용 사례를 보여주며, 모두 저장소에서 just run이나 just render로 실행 가능하다.
  • 에이전트 없이 사용할 경우 cargo fframes new 명령으로 템플릿(싱글/멀티 씬), 포맷(가로/세로/정사각형/4K), fps, 제목, 백엔드를 선택하여 프로젝트를 생성할 수 있다.
  • Skia 백엔드 대신 CPU 백엔드를 사용할 수 있으나 preview 윈도우가 없고 렌더링이 느려지며, main 브랜치 추적 설치는 --git 플래그로 가능하다.
  • Rust와 NodeJS(에디터 작업용)가 필요하며, ffmpeg의 libav 라이브러리를 정적으로 링크하는데, macOS와 Linux는 사전 빌드를 다운로드하고 다른 대상은 소스에서 컴파일한다.
  • build-portable 기능은 다른 CPU에서 실행할 때 SIGILL 오류를 피하기 위해 -march=native 플래그를 생략하며, FFMPEG_MARCH나 FFMPEG_MTUNE 환경 변수로도 제어 가능하다.
  • Windows에서는 FFmpeg 9.0 사전 빌드를 정적 링크하고 bindgen용 LLVM이 필요하며, 코덱 기능들(h264, h265 등)은 소스 빌드를 요청하므로 비활성화해야 한다.
  • MIT 라이선스로 공개되며, Cargo 기능으로 다양한 코덱(h264, h265, vp9 등)과 하드웨어 가속 라이브러리를 선택적으로 링크할 수 있다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗