개발자
프로그래머이거나 프로그래머가 되고 싶고, OpenShot의 새로운 기능 개발, 버그 수정 또는 사용자 인터페이스 개선에 관심이 있다면, 다음 섹션에서 시작하고 참여하는 방법을 설명합니다!
전체 개요
OpenShot Video Editor는 Python 및 PyQt 사용자 인터페이스(openshot-qt), C++ 오디오 라이브러리(libopenshot-audio), C++ 비디오 라이브러리(libopenshot)의 세 가지 주요 구성 요소로 이루어져 있습니다. Python, PyQt 또는 C++에 익숙하지 않다면 이 시점에서 연구하고 더 배우기에 좋은 주제입니다.
하지만 C++ 구성 요소가 사용자 인터페이스에 전혀 관여하지 않기 때문에 많은 버그는 Python 지식만으로도 수정할 수 있고 새로운 기능을 추가할 수 있습니다. Python은 놀라운 언어이며 배우는 것이 매우 재미있고 OpenShot 개발자가 되기 위해 필요한 유일한 전제 조건 기술입니다!
경고
다음 지침은 OpenShot 개발을 위해 구성하기 가장 쉬운 환경인 Ubuntu Linux용입니다. 다른 운영 체제를 사용 중이라면 계속 진행하기 전에 Ubuntu LTS가 설치된 가상 머신을 실행할 것을 권장합니다.
개발을 위해 Windows 또는 Mac 시스템을 사용해야 한다면, 먼저 libopenshot 위키의 빌드 노트를 참조하세요. 모든 종속성을 포함하여 라이브러리를 빌드하는 것이 가장 어려운 부분입니다.
최신 소스 코드 받기
버그를 수정하거나 기능을 추가하기 전에 소스 코드를 컴퓨터에 받아야 합니다.
git을 사용하여 세 개의 저장소를 클론하세요:
git clone https://github.com/OpenShot/libopenshot-audio.git
git clone https://github.com/OpenShot/libopenshot.git
git clone https://github.com/OpenShot/openshot-qt.git
개발 환경 구성
OpenShot을 실제로 컴파일하거나 실행하려면 시스템에 몇 가지 종속성을 설치해야 합니다. 이를 가장 쉽게 수행하는 방법은 Daily PPA 를 사용하는 것입니다. PPA는 비공식 Ubuntu 저장소로, 소프트웨어 패키지를 다운로드하고 설치할 수 있습니다.
sudo add-apt-repository ppa:openshot.developers/libopenshot-daily
sudo apt-get update
sudo apt-get install openshot-qt \
cmake \
libx11-dev \
libasound2-dev \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavformat-dev \
libavresample-dev \
libavutil-dev \
libfdk-aac-dev \
libfreetype6-dev \
libjsoncpp-dev \
libmagick++-dev \
libopenshot-audio-dev \
libprotobuf-dev \
libqt5svg5-dev \
libswscale-dev \
libunittest++-dev \
libxcursor-dev \
libxinerama-dev \
libxrandr-dev \
libzmq3-dev \
pkg-config \
python3-dev \
protobuf-compiler \
qtbase5-dev \
libqt5svg5-dev \
libxcb-xfixes0-dev \
qtmultimedia5-dev \
swig
이 시점에서 세 가지 OpenShot 구성 요소의 소스 코드를 로컬 폴더에 클론하고, OpenShot 일일 PPA를 설치했으며, 필요한 모든 개발 및 런타임 종속성을 설치했어야 합니다. 훌륭한 시작이며 이제 코드를 컴파일할 준비가 되었습니다!
libopenshot-audio (빌드 지침)
이 라이브러리는 오디오 재생 및 오디오 효과에 필요합니다. JUCE 오디오 프레임워크를 기반으로 합니다. 빌드 명령은 다음과 같습니다:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
기본적으로 libopenshot-audio/build 폴더로 이동한 후 상위 폴더에서 cmake .. 를 실행합니다. 이 명령은 종속성을 찾고 이 라이브러리를 컴파일하는 데 필요한 모든 Makefile을 생성합니다. 그런 다음 make 가 해당 Makefile을 사용해 라이브러리를 컴파일하고, make install 이 지정한 위치에 설치합니다. CMAKE_INSTALL_PREFIX 가 설정되지 않으면 기본적으로 /usr/local/ 에 설치되며, make install 실행 시 관리자 권한이 필요합니다.
libopenshot (빌드 지침)
이 라이브러리는 비디오 디코딩, 인코딩, 애니메이션 및 거의 모든 작업에 필요합니다. 비디오 편집과 재생의 핵심 작업을 수행합니다. 빌드 명령은 다음과 같습니다:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
기본적으로 libopenshot/build 폴더로 이동한 후 상위 폴더에서 cmake ..``를 실행합니다. 이 명령은 종속성을 찾고 이 라이브러리를 컴파일하는 데 필요한 모든 Makefile을 생성합니다. 그런 다음 ``make 가 해당 Makefile을 사용해 라이브러리를 컴파일합니다. 컴파일된 libopenshot-audio 설치 위치를 지정했기 때문에 시스템 버전 대신 해당 버전이 사용됩니다(있는 경우).
빌드 후에 libopenshot 을 설치하지 않는 이유는 필요하지 않기 때문입니다. 테스트 목적으로 OpenShot에 build 디렉터리에서 직접 libopenshot 을 사용하도록 지시할 수 있습니다.
언어 바인딩
libopenshot API는 SWIG 바인딩을 통해 여러 언어로 제공됩니다. Python은 OpenShot 사용자 인터페이스에서 사용되며, Ruby와 Java 바인딩도 제공합니다. Godot 게임 엔진에 비디오 편집 기능을 통합하려는 개발자를 위해 Godot 4.4 에 대한 실험적 지원도 포함되어 있습니다. 이 모든 바인딩은 동일한 C++ 코드베이스에 매핑되어 원하는 환경에서 비디오를 편집할 수 있습니다.
openshot-qt (실행 지침)
이것은 우리의 주요 PyQt Python 애플리케이션입니다. Python으로 작성되었기 때문에 실행을 위해 컴파일이 필요하지 않습니다. 새로 빌드한 libopenshot-audio 및 libopenshot 라이브러리와 함께 소스 코드에서 OpenShot을 실행하려면 다음 명령을 사용하세요:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
이 명령은 OpenShot 사용자 인터페이스를 실행해야 합니다. 소스 코드 파일(*.py Python 파일, *.ui PyQt UI 파일 등)에 가한 모든 변경 사항이 포함됩니다. 이 작업에는 libopenshot-audio 및 libopenshot 라이브러리가 필요하며, 위 단계에서 문제가 발생했다면 OpenShot이 실행되지 않을 수 있습니다.
이 시점에서 OpenShot이 실행된다면 축하합니다! 이제 로컬 소스 코드를 기반으로 실행되는 작동하는 로컬 버전의 OpenShot을 갖게 되었습니다. 소스 코드를 약간 수정한 후 OpenShot을 다시 실행해 보세요… 변경 사항이 반영된 것을 확인할 수 있을 것입니다!
GitHub 이슈
소스 코드에서 OpenShot Video Editor를 성공적으로 컴파일하고 실행했으니, GitHub에 있는 버그 보고서 목록인 OpenShot Issues 를 꼭 확인하세요. 또한, 간단한 ` 기여자 양식 <https://forms.gle/CRqkS5tLMJE1V36V8>`_ 을 작성하여 자신을 소개해 주시기 바랍니다!