콘텐츠로 이동

FAQ

This content is for v0.4. Switch to the latest version for up-to-date documentation.

alpha2의 라이선스는 무엇입니까?

섹션 제목: “alpha2의 라이선스는 무엇입니까?”

MIT 라이선스이며, 저작권은 Alpha2 contributors에 있습니다. 엔진, npm 패키지, Python 패키지, Rust 크레이트가 모두 해당합니다. 서드파티 구성 요소는 THIRD_PARTY_NOTICES.md에 있습니다.

다음 두 가지는 다른 조건을 따릅니다.

  • FFmpeg. 네이티브 아카이브에는 LGPL 2.1 이상으로, GPL과 nonfree 구성 요소를 끄고 공유 라이브러리로 빌드한 FFmpeg 8이 들어 있습니다. alpha2는 이를 동적으로 링크하므로, ABI 호환되는 FFmpeg 8 빌드로 라이브러리를 바꿀 수 있습니다. 각 아카이브의 compliance/ 디렉터리에 소스를 받을 곳이 적혀 있습니다.
  • OpenH264. Cisco의 소프트웨어 H.264 인코더는 alpha2가 배포하지 않습니다. 설치하면(install --openh264) Cisco의 라이선스에 따라 Cisco에서 바이너리를 직접 내려받습니다.

아닙니다. alpha2는 엔진입니다. 타임라인 프로젝트를 프리뷰용으로는 캔버스에, export용으로는 파일로 렌더링합니다. 타임라인 UI, 미디어 빈, 메뉴는 없습니다. 이것들은 직접 만들거나, alpha2로 만든 앱을 쓰면 됩니다. studio.alpha2.sh가 그 편집기 앱입니다.

alpha2가 편집기에 주는 것은 그 밑의 어려운 부분입니다. 프로젝트 문서, 검증, 브라우저와 네이티브의 GPU 렌더링, export, 그리고 문서·명령·실행 취소와 프리뷰·export 브리지를 갖춘 @alpha2-sh/editor입니다. 편집기를 참고하십시오.

어떤 코덱과 컨테이너로 export할 수 있습니까?

섹션 제목: “어떤 코덱과 컨테이너로 export할 수 있습니까?”
컨테이너 비디오 오디오
MP4(.mp4, .m4v) H.264, HEVC, VP9, AV1, MPEG-4 Part 2 AAC, Opus
MOV H.264, HEVC, MPEG-4 Part 2 AAC
Matroska(.mkv) H.264, HEVC, VP9, AV1, MPEG-4 Part 2 AAC, Opus
WebM VP9, AV1 Opus

기본값은 H.264와 AAC이며, WebM은 VP9와 Opus입니다. 네이티브에서 실제로 인코딩할 수 있는 코덱은 머신의 인코더에 달렸습니다. 플랫폼 지원을 참고하십시오. 브라우저에서는 브라우저의 WebCodecs 인코더에 달렸습니다.

네이티브에서 alpha2-host는 FFmpeg 8로 디코딩하므로 FFmpeg가 디코딩하는 비디오, 오디오, 이미지 파일을 읽습니다. 브라우저에서는 애플리케이션이 미디어를 디코딩해(WebCodecs로, alpha2/mediabunny나 자체 디코더를 통해) 엔진에 프레임을 업로드합니다. 양쪽 모두 엔진의 확장 모듈로 SVG, 애니메이션 이미지, Lottie, OpenEXR, 이미지 시퀀스를 읽고, SRT와 WebVTT 자막도 읽습니다.

네. alpha2는 렌더링하는 동안 어떤 서버도 호출하지 않습니다.

  • 브라우저: 엔진은 여러분의 페이지가 직접 제공하는 WebAssembly입니다. 페이지와 .wasm 파일을 한 번 불러오면(또는 캐시되면) 프리뷰와 export가 기기에서 실행됩니다.
  • 네이티브: alpha2-host와 alpha2는 디스크에 있는 프로그램입니다. 설치 도구(npx @alpha2-sh/node install, python -m alpha2 install)만 한 번 내려받습니다. 자체 미러에서 설치하려면 ALPHA2_HOST_DOWNLOAD_URL을 지정하거나, 릴리스 아카이브를 직접 풀고 ALPHA2_HOST_PATH를 지정하십시오.

프리뷰와 export 결과가 같습니까?

섹션 제목: “프리뷰와 export 결과가 같습니까?”

그것이 설계의 핵심입니다. 브라우저 프리뷰, 네이티브 export, Node.js, Python, Rust가 모두 같은 렌더링 코드를 실행하므로 같은 프레임을 그립니다. 텍스트는 모든 렌더러에 같은 폰트 파일을 같은 순서로 넘길 때 같아집니다. CPU 렌더러의 결과는 어느 머신에서든, 스레드 수와 관계없이 같은 바이트입니다. 무엇이 보장되고 어떻게 시험하는지는 결정성에서 설명합니다.

Remotion이나 FFmpeg와 비교하면 어떻습니까?

섹션 제목: “Remotion이나 FFmpeg와 비교하면 어떻습니까?”
  • Remotion은 React 컴포넌트를 브라우저에서 렌더링하므로, 프레임에 웹 페이지가 담을 수 있는 무엇이든 넣을 수 있고 코드가 프레임마다 실행됩니다. alpha2는 JSON 문서를 GPU 엔진으로 렌더링합니다. DOM은 없지만, 저장하고 검증하고 생성할 수 있는 문서와 브라우저 없이 서버에서 하는 GPU 렌더링이 있습니다. Remotion에서 넘어오기를 참고하십시오.
  • FFmpeg는 스트림에 거는 필터 도구 모음입니다. alpha2는 디코딩과 인코딩에 FFmpeg를 쓰고, 필터그래프 대신 브라우저에서 프리뷰도 되는 타임라인 문서를 씁니다. FFmpeg에서 넘어오기를 참고하십시오.
  • 패키지와 프로그램은 버전 번호 하나를 공유합니다. alpha2 0.4.6은 alpha2 npm 패키지, @alpha2-sh/node, @alpha2-sh/react, @alpha2-sh/editor, Python 패키지, 크레이트, 네이티브 아카이브가 모두 0.4.6이라는 뜻입니다. 패키지는 서로를 정확히 그 버전으로 고정하며, @alpha2-sh/node는 자기 버전의 호스트 아카이브를 설치합니다.
  • 프로젝트 문서에는 schema_version이 있으며 이 릴리스에서는 1입니다. 엔진은 다른 값을 unsupported schema version으로 거부합니다. 스키마는 project.v1.schema.json입니다.
  • 이펙트와 트랜지션은 문서에서 id와 version으로 참조하므로, 프로젝트는 만들 때 쓴 정의를 정확히 지목합니다.
  • 호스트 프로토콜에는 별도의 protocolVersion(1)이 있습니다.

alpha2는 아직 1.0 이전입니다. 이 문서는 마이너 릴리스별로 버전이 나뉘며, 버전 메뉴에서 이전 버전의 페이지를 볼 수 있습니다.

이펙트를 직접 만들 수 있습니까?

섹션 제목: “이펙트를 직접 만들 수 있습니까?”

네. 런타임 이펙트는 엔진에 등록하는 WGSL 셰이더로, 브라우저와 네이티브 모두에서 쓸 수 있습니다. GPU가 필요하며, CPU 렌더러는 EFFECT_ERROR로 거부합니다. 확장을 참고하십시오.

GitHub 이슈에 올려 주십시오. 프로젝트 JSON(또는 문제를 보여 주는 가장 작은 JSON), 오류 코드와 메시지, 네이티브 export라면 alpha2-host 버전과 표준 오류에 찍힌 내용을 함께 적어 주십시오.