Geliştiriciler
Eğer bir programcıysanız (veya programcı olmak istiyorsanız) ve OpenShot için yeni özellikler geliştirmek, hataları düzeltmek veya kullanıcı arayüzünü iyileştirmekle ilgileniyorsanız, aşağıdaki bölümler nasıl başlayacağınızı ve nasıl katılacağınızı açıklayacaktır!
Genel Bakış
OpenShot Video Editor’ın 3 ana bileşeni vardır: Python & PyQt kullanıcı arayüzü (openshot-qt), C++ ses kütüphanesi (libopenshot-audio) ve C++ video kütüphanesi (libopenshot). Python, PyQt veya C++ hakkında bilginiz yoksa, bu konuları araştırmak ve öğrenmek için iyi bir zamandır.
Ancak, C++ bileşenleri kullanıcı arayüzüne hiç dahil olmadığından, birçok hata sadece Python bilgisiyle düzeltilebilir ve yeni özellikler eklenebilir. Python harika bir dildir, öğrenmesi çok eğlencelidir ve OpenShot geliştiricisi olmak için gereken tek ön koşuldur!
Uyarı
Aşağıdaki talimatlar, OpenShot geliştirme için yapılandırması en kolay ortam olan Ubuntu Linux içindir. Başka bir işletim sistemi kullanıyorsanız, devam etmeden önce Ubuntu LTS ile bir sanal makine çalıştırmanızı öneririm.
Geliştirme için Windows veya Mac sistemi kullanmanız gerekiyorsa, önce libopenshot wiki’sindeki derleme notlarına bakın. Kütüphaneyi tüm bağımlılıklarıyla derlemek sürecin en zor kısmıdır.
En Son Kaynak Kodunu Alma
Herhangi bir hatayı düzeltmeden veya özellik eklemeden önce, kaynak kodunu bilgisayarınıza almamız gerekiyor.
3 depomuzu klonlamak için git kullanın:
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
Geliştirme Ortamınızı Yapılandırma
OpenShot’u derlemek veya çalıştırmak için sisteminize bazı bağımlılıkları yüklememiz gerekiyor. Bunu yapmanın en kolay yolu Daily PPA kullanmaktır. PPA, yazılım paketlerimizi indirip yükleyebileceğiniz resmi olmayan bir Ubuntu deposudur.
sudo add-apt-repository ppa:openshot.developers/libopenshot-daily
sudo apt-get update
sudo apt-get install openshot-qt \
build-essential \
cmake \
catch2 \
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 \
pkg-config \
python3-dev \
protobuf-compiler \
qtbase5-dev \
libqt5svg5-dev \
libxcb-xfixes0-dev \
qtmultimedia5-dev \
swig
OpenShot, PyQt5, PyQt6 ve PySide6’yı destekler. libopenshot, kullandığınız bağlama için doğru Qt sürümüne karşı derlenmelidir (Qt5: PyQt5, Qt6: PyQt6 veya PySide6).
PySide6 (Qt6) bağlamaları için, bu paketleri yükleyin:
sudo apt-get install \
python3-pyside6.qtcore \
python3-pyside6.qtgui \
python3-pyside6.qtwidgets \
python3-pyside6.qtstatemachine \
python3-pyside6.qtsvg \
python3-pyside6.qtuitools \
shiboken6
PyQt6 için, bu paketleri yükleyin:
sudo apt-get install \
qt6-base-dev \
qt6-base-dev-tools \
qt6-tools-dev \
qt6-svg-dev
PyQt6 çalışma zamanı, QtCore, QtGui, QtWidgets, QtSvg, QtStateMachine ve uic sağlamalıdır. Bazı dağıtımlar bu modülleri ayrı paketlere böler. Özellikle, Ubuntu 24.04’ün python3-pyqt6 paketi QtStateMachine içermemektedir. Bu sürümde, yukarıdaki PySide6 paketlerini kullanın veya tam PyQt6 wheel dosyasını bir Python sanal ortamında yükleyin:
python3 -m venv .venv
.venv/bin/python -m pip install PyQt6
OpenShot’u başlatmadan önce seçilen Qt bağlamasını ve gerekli modüllerini doğrulayın:
PYTHONPATH=src OPENSHOT_QT_API=pyqt6 .venv/bin/python -c \
"from qt_api import QT_API, QStateMachine; print(QT_API, QStateMachine)"
Bu noktada, tüm 3 OpenShot bileşeninin kaynak kodunu yerel klasörlere klonlamış, OpenShot günlük PPA’sını yüklemiş ve gerekli tüm geliştirme ve çalışma zamanı bağımlılıklarını kurmuş olmalısınız. Bu harika bir başlangıçtır ve şimdi kod derlemeye başlayabiliriz!
libopenshot-audio (Derleme Talimatları)
Bu kütüphane ses oynatma ve ses efektleri için gereklidir. JUCE ses çerçevesine dayanır. İşte derlemek için komutlar:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
Temelde, libopenshot-audio/build klasörüne geçiyoruz, ardından üst klasörde cmake .. komutunu çalıştırıyoruz. Bu, bağımlılıkları bulur ve bu kütüphaneyi derlemek için gereken tüm Makefile dosyalarını oluşturur. Sonra make bu Makefile’ları kullanarak kütüphaneyi derler ve make install belirtilen konuma kurar. Eğer CMAKE_INSTALL_PREFIX ayarlanmadıysa, dosyalar varsayılan olarak /usr/local/ dizinine kurulacak ve make install yönetici yetkileri gerektirecektir.
libopenshot (Derleme Talimatları)
Bu kütüphane video kod çözme, kodlama, animasyon ve hemen hemen her şey için gereklidir. Video düzenleme ve oynatma işlemlerinin çoğunu yapar. İşte derlemek için komutlar:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
Temelde, libopenshot/build klasörüne geçiyoruz, ardından üst klasörde cmake .. komutunu çalıştırıyoruz. Bu, bağımlılıkları bulur ve bu kütüphaneyi derlemek için gereken tüm Makefile dosyalarını oluşturur. Sonra make bu Makefile’ları kullanarak kütüphaneyi derler. Derlenmiş libopenshot-audio kurulumumuzun konumunu belirttiğimiz için, sistemdeki sürüm yerine bu sürüm kullanılacaktır (varsa).
Derledikten sonra libopenshot kütüphanesini kurmuyoruz çünkü buna gerek yok. Test amaçlı, OpenShot’a libopenshot’ı doğrudan build dizinimizden kullanmasını söyleyebiliriz.
Dil Bağlayıcıları
libopenshot API’si, SWIG bağlayıcıları aracılığıyla birkaç dilde mevcuttur. Python, OpenShot kullanıcı arayüzü tarafından kullanılır ve ayrıca Ruby ve Java bağlayıcıları sağlıyoruz. Godot oyun motoruna video düzenleme özellikleri entegre etmek isteyen geliştiriciler için deneysel Godot 4.4 desteği de dahildir. Tüm bu bağlayıcılar aynı C++ kod tabanına bağlanır, böylece tercih ettiğiniz ortamdan video düzenleyebilirsiniz.
openshot-qt (Başlatma Talimatları)
Bu, ana PyQt Python uygulamamızdır. Python ile yazıldığı için çalıştırmak için derlemeye gerek yoktur. Yeni derlenmiş libopenshot-audio ve libopenshot kütüphanelerimizle kaynak koddan OpenShot’u başlatmak için aşağıdaki komutları kullanın:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
Bu, OpenShot kullanıcı arayüzünü başlatmalıdır. Kaynak kod dosyalarında (*.py Python dosyaları, *.ui PyQt UI dosyaları vb.) yaptığınız tüm değişiklikler dahil edilecektir. Bu, libopenshot-audio ve libopenshot kütüphanelerini gerektirir ve yukarıdaki adımlarda bir sorun olursa, OpenShot muhtemelen başlatılamaz.
Eğer OpenShot bu noktada başlarsa, tebrikler! Artık yerel kaynak kodunuzdan çalışan çalışan bir OpenShot yerel sürümüne sahipsiniz. Kaynak kodda bazı değişiklikler yapmayı deneyin ve OpenShot’ı yeniden başlatın… şimdi değişikliklerinizi görmelisiniz!
Komut Satırı Başlatma Seçenekleri
Terminal veya betikten düzenleme, animasyon, toplu değişiklikler ve dışa aktarmalar için Komut Satırı Arayüzü bölümüne bakın. openshot-qt --cli intro (veya kaynaktan python3 src/launch.py --cli intro) ile başlayın. Önce --cli koyun, ardından düzenleme komutu ve seçenekleri gelsin.
Aşağıdaki başlatma seçenekleri, Windows’ta görünür terminal çıktısı için openshot-qt-cmd.exe dahil olmak üzere yüklü OpenShot uygulamasıyla çalışır. Windows CLI kullanımı için Komut Satırı Arayüzü bölümündeki konsol yürütülebilir rehberini izleyin. Kaynaktan çalıştırırken, uygulama adı yerine python3 src/launch.py kullanın. OpenShot’ın açmasını istediğiniz dosya yollarından önce seçenekleri koyun.
Seçenek |
Ne yapar |
|---|---|
|
Komut Satırı Arayüzü bölümüne girin. Düzenleme komutları için |
|
Uygulama başlatma seçeneklerini göster ve çık. Düzenleme komutları için |
|
OpenShot sürümünü yazdırır ve çıkar. |
|
Bu başlatma için seçilen arayüz dilini kullanır. Kod, |
|
Desteklenen dil kodlarını listeler ve çıkar. |
|
Python modül arama yoluna bir klasör ekler. Birden fazla klasör eklemek için bu seçeneği tekrarlayabilirsiniz. |
|
Kaydedilen ayarlarda daveti gösterildi olarak işaretlemeden başlatmada geri bildirim bildirimini gösterir. |
|
Başlatmada güncelleme bildirimini gösterir. Her iki önizleme seçeneği birlikte kullanılabilir. |
|
Geliştirme için Qt’nin veri modeli test cihazını etkinleştirir (Qt 5.11 veya sonrası gerekir). |
|
Detaylı arayüz mesajlarını günlük dosyasına ve terminale ekler. |
|
Detaylı video ve ses motoru mesajlarını günlük dosyasına ve terminale ekler. |
|
OpenShot’un her iki parçası için dosyalarda ve terminalde günlükleme seviyesini ayarlar. |
|
Her iki günlük dosyasındaki günlükleme seviyesini ayarlar. |
|
OpenShot’un her iki parçası için terminalde günlükleme seviyesini ayarlar. |
|
Detaylı arayüz mesajlarını sadece günlük dosyasına ekler. Bu eski seçenek kabul edilir ancak |
|
Detaylı arayüz mesajlarını sadece terminale ekler. Bu eski seçenek kabul edilir ancak |
|
İlk dosya yolu |
LEVEL için debug, info, warning, error, critical veya off kullanın. Günlük dosyası konumları, örnekler ve günlükleme seçenekleri hakkında daha fazla bilgi için Bir Sorunu Gidermek İçin Kayıtları Kullanma bakınız.
GitHub Sorunları
Artık OpenShot Video Editor’ü kaynak koddan başarıyla derleyip başlattığınıza göre, GitHub’daki hata raporları listemize göz atmayı unutmayın: OpenShot Issues. Ayrıca, hızlı katılımcı formumuzu doldurmanız ve kendinizi tanıtmanız teşvik edilir!