डेवलपर्स

यदि आप एक प्रोग्रामर हैं (या प्रोग्रामर बनना चाहते हैं), और OpenShot के लिए नए फीचर्स विकसित करने, बग ठीक करने, या यूजर इंटरफेस सुधारने में रुचि रखते हैं, तो निम्नलिखित अनुभाग आपको शुरू करने और शामिल होने का तरीका बताएंगे!

बड़ी तस्वीर

OpenShot Video Editor के 3 मुख्य घटक हैं: एक Python & PyQt यूजर इंटरफेस (openshot-qt), एक C++ ऑडियो लाइब्रेरी (libopenshot-audio) और एक C++ वीडियो लाइब्रेरी (libopenshot)। यदि आप Python, PyQt, या C++ से परिचित नहीं हैं, तो इस समय इन्हें सीखना और शोध करना अच्छा रहेगा।

हालांकि, कई बग केवल Python ज्ञान से ठीक किए जा सकते हैं और नए फीचर्स जोड़े जा सकते हैं, क्योंकि C++ घटक यूजर इंटरफेस में शामिल नहीं होते। Python एक अद्भुत भाषा है, सीखने में बहुत मज़ेदार है, और OpenShot डेवलपर बनने के लिए यह एकमात्र आवश्यक कौशल है!

चेतावनी

जो निर्देश आगे दिए गए हैं वे Ubuntu Linux के लिए हैं, जो OpenShot विकास के लिए सबसे आसान वातावरण है। यदि आप कोई अन्य OS उपयोग कर रहे हैं, तो मैं सुझाव देता हूँ कि आगे बढ़ने से पहले Ubuntu LTS के साथ एक वर्चुअल मशीन चलाएं।

यदि आपको विकास के लिए Windows या Mac सिस्टम का उपयोग करना है, तो libopenshot विकि में बिल्ड नोट्स को देखें। सभी निर्भरताओं के साथ लाइब्रेरी बनाना प्रक्रिया का सबसे चुनौतीपूर्ण हिस्सा है।

नवीनतम स्रोत कोड प्राप्त करना

किसी भी बग को ठीक करने या नए फीचर्स जोड़ने से पहले, हमें स्रोत कोड आपके कंप्यूटर पर लाना होगा।

हमारे 3 रिपॉजिटरी क्लोन करने के लिए 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

इस बिंदु पर, आपके पास सभी 3 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 .. चला रहे हैं। यह निर्भरताओं को खोजता है और इस लाइब्रेरी को कंपाइल करने के लिए आवश्यक सभी Makefiles बनाता है। फिर make उन Makefiles का उपयोग करके लाइब्रेरी को कंपाइल करता है, और 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 .. चला रहे हैं। यह निर्भरताओं को खोजता है और इस लाइब्रेरी को कंपाइल करने के लिए आवश्यक सभी Makefiles बनाता है। फिर make उन Makefiles का उपयोग करके लाइब्रेरी को कंपाइल करता है। क्योंकि हमने अपने कंपाइल किए गए libopenshot-audio इंस्टॉलेशन का स्थान दिया है, इसलिए उस लाइब्रेरी का संस्करण सिस्टम संस्करण के बजाय उपयोग किया जाएगा (यदि कोई हो)।

हम अपने libopenshot को बिल्ड करने के बाद इंस्टॉल नहीं करते, क्योंकि इसकी आवश्यकता नहीं है। परीक्षण के लिए, हम OpenShot को बता सकते हैं कि वह सीधे हमारे build डायरेक्टरी से libopenshot का उपयोग करे।

भाषा बाइंडिंग्स

libopenshot API कई भाषाओं में SWIG बाइंडिंग्स के माध्यम से उपलब्ध है। OpenShot यूजर इंटरफेस Python का उपयोग करता है, और हम Ruby और Java बाइंडिंग्स भी प्रदान करते हैं। Godot 4.4 के लिए प्रायोगिक समर्थन शामिल है उन डेवलपर्स के लिए जो Godot गेम इंजन में वीडियो संपादन फीचर्स को एकीकृत करना चाहते हैं। ये सभी बाइंडिंग्स एक ही 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 वीडियो एडिटर को संकलित और लॉन्च कर लिया है, तो GitHub पर हमारे बग रिपोर्ट की सूची देखें: OpenShot Issues. साथ ही, आपसे अनुरोध है कि आप हमारा त्वरित contributor form भरें और अपना परिचय दें!

अपने परिवर्तनों को साझा करें

एक बार जब आप कोई बग ठीक कर लें या कोई शानदार नई सुविधा जोड़ दें, तो इसे OpenShot टीम के साथ साझा करना सुनिश्चित करें। आदर्श रूप से, हम इसे हमारे मुख्य स्रोत कोड शाखा में मर्ज कर सकते हैं। अपने परिवर्तनों को साझा करने का सबसे आसान तरीका है हमारे रिपॉजिटरी की एक फोर्क बनाना, अपने परिवर्तनों को GitHub पर पुश करना, और एक Pull Request बनाना। एक Pull Request OpenShot टीम को बताता है कि आपके पास मर्ज करने के लिए परिवर्तन तैयार हैं। फिर हम चीजों की समीक्षा कर सकते हैं, प्रतिक्रिया दे सकते हैं, और उम्मीद है कि आपके परिवर्तनों को मुख्य शाखा में मर्ज कर सकते हैं।