VLC प्रोजेक्ट

इस पेज पर, तकनीकी लेखन वाले उस प्रोजेक्ट की जानकारी दी गई है जिसे Google Season of Docs के लिए स्वीकार किया गया है.

प्रोजेक्ट की खास जानकारी

ओपन सोर्स संगठन:
VLC
टेक्निकल राइटर:
अभिषेक प्रताप सिंह
प्रोजेक्ट का नाम:
वीएलसी के उपयोगकर्ता दस्तावेज़ को आधुनिक बनाना जारी रखना
प्रोजेक्ट की अवधि:
स्टैंडर्ड अवधि (तीन महीने)

प्रोजेक्ट का विवरण

दस्तावेज़ की मौजूदा स्थिति

VLC उपयोगकर्ता के दस्तावेज़ों को आधुनिक बनाया जा रहा है और उन्हें अपडेट किया जा रहा है. विकी पर मौजूद पुराने दस्तावेज़[1] को, ReadTheDocs पर होस्ट किए गए Sphinx के ज़रिए बनाए गए नए उपयोगकर्ता दस्तावेज़[2] पर ट्रांसफ़र किया जा रहा है.

टारगेट ऑडियंस

टारगेट ऑडियंस में, ऐसे उपयोगकर्ता शामिल हैं जो सामान्य मीडिया प्लेयर के अलावा, VLC मीडिया प्लेयर की सुविधाओं को भी एक्सप्लोर करना चाहते हैं. साथ ही, यह गाइड डेवलपर के लिए भी आसान रेफ़रंस के तौर पर काम करेगी. इसलिए, मेरी योजना में जीयूआई आधारित निर्देश (जहां ज़रूरी हो वहां इमेज के साथ) और सीएलआई आधारित तरीके (कोड स्निपेट के साथ) दोनों शामिल करने हैं, ताकि असली उपयोगकर्ता अपनी पसंद का काम कर सके.

मेरा मानना है कि दस्तावेज़ (खास तौर पर जीयूआई सेक्शन) की भाषा इतनी कम होनी चाहिए कि ऑपरेट किए जा रहे कंप्यूटर से थोड़ा बहुत संपर्क करने वाला व्यक्ति, इस गाइड को आसानी से समझ सके और इसका इस्तेमाल कर सके. दूसरी ओर, यह बहुत लंबा या बहुत ज़्यादा जानकारी वाला (खास तौर पर सीएलआई सेक्शन) नहीं होना चाहिए, ताकि कोडर की दिलचस्पी न हटे.

पेज की शुरुआत में ज़रूरी शर्तों के बारे में बताकर या वैकल्पिक सेक्शन जोड़कर, सही संतुलन पाया जा सकता है. इन सेक्शन को वे लोग स्किप कर सकते हैं जो इनके बारे में पहले से जानकार हैं.

अनुवाद बनाने के लिए, टारगेट ऑडियंस VLC के ऐसे डेवलपर/उपयोगकर्ता हैं जो अंग्रेज़ी और उस भाषा को अच्छी तरह समझते हैं जिसमें अनुवाद किया जाना है.

TOOLS

नया दस्तावेज़ स्फ़िंक्स की ओर से बनाया जा रहा है और इसे ReadTheDocs पर होस्ट किया जाता है. साथ ही, वर्शन कंट्रोल सिस्टम को GitLab में लागू किया जाता है. Git और GitHub को इस्तेमाल करने का मेरा पिछला अनुभव पहले से ही था. इससे मुझे GitLab को आज़माने में मदद मिली. हालांकि, कुछ ऐसी अलग सुविधाएं थीं जिन्हें सीखने में थोड़ा समय लगा.

जैसा कि स्फ़िंक्स के बारे में है, जब एक साथी ओपन-सोर्स उत्साही ने यह टिप्पणी की थी कि उसके दस्तावेज़ बनाने के लिए कितने संगठन इसका इस्तेमाल कर रहे हैं, तो मैंने इसके बारे में पढ़ा था (ब्लेंडर का प्रसिद्ध उदाहरण, जो अपनी उपयोगकर्ता मैनुअल[3] और API दस्तावेज़ तैयार करने के लिए स्फ़िंक्स का उपयोग करता है[4]).

मुझे ReadTheDocs के बारे में थोड़ी जानकारी थी. यह टूल, वर्शन बनाने और तकनीकी दस्तावेज़ों को होस्ट करने के लिए अच्छा है. इसलिए, मुझे VLC का दस्तावेज़ बनाने में कोई समस्या नहीं हुई. साथ ही, मुझे इस्तेमाल किए गए फ़ॉर्मैट, रीस्ट्रक्चर्ड टेक्स्ट के बारे में भी पता है.

अनुवाद के लिए, VLC .po फ़ाइलें जनरेट करने के लिए Babel का इस्तेमाल कर रहा है, ताकि i18n और l10n को लागू किया जा सके. फ़िलहाल, मुझे यह पता है कि बेबेल वर्कफ़्लो का इस्तेमाल कैसे किया जाता है. साथ ही, मुझे यह भी पता है कि Sprint का इस्तेमाल करके .mo फ़ाइलें कैसे बनाई जाती हैं.

ऊपर बताए गए टूल की बारीकियों के बारे में जानने के लिए, मैं बॉन्डिंग पीरियड का इस्तेमाल करना चाहता/चाहती हूं.

डिलीवर किए जाने वाले आइटम और हर हफ़्ते की टाइमलाइन

साल 2019 के प्रोजेक्ट के तहत, इंस्टॉलेशन, इंटरफ़ेस, ऑडियो, वीडियो, प्लेबैक वगैरह (ज़्यादातर बुनियादी फ़ंक्शन) के कुछ हिस्सों को पहले ही शामिल कर लिया गया है. इसलिए, मुझे 2020 के प्रोजेक्ट के लिए, उपयोगकर्ताओं के दस्तावेज़ के 'बेहतर इस्तेमाल' सेक्शन को अपडेट करना है और इस पर काम करना है.

डिलीवर किया जा सकने वाला पहला [WEEK1-2]: ट्रांसकोडिंग से जुड़े दस्तावेज़ अपडेट करें, जैसा कि #7 में बताया गया है[5].

  • ट्रांसकोड
  • एक से ज़्यादा वीडियो को ट्रांसकोड करें
  • लोगो जोड़ें
  • वीडियो को एक साथ मर्ज करना
  • ऑडियो निकालें और किसी फ़ाइल से ऑडियो निकालें
  • डीवीडी को रिप करना

डिलीवर किया जा सकने वाला दूसरा [तीसरा हफ़्ता]: Firefox 77, Chrome 83, और Edge 83 में टेस्ट करते समय, वेब-प्लग-इन के तौर पर VLC का इस्तेमाल करने के तरीके को अपडेट करें[6].

  • वीडियो के साथ वेबपेज बनाना
  • टैग एट्रिब्यूट एम्बेड करना
  • JavaScript API की जानकारी

तीसरा डेलिवरबल [पांचवां हफ़्ता]: कमांड-लाइन इंटरफ़ेस[7] के निर्देशों की जांच करें और उन्हें अपडेट करें.

  • स्ट्रीम
  • मॉड्यूल चुनना
  • आइटम के हिसाब से विकल्प
  • फ़िल्टर

छठा हफ़्ता: ऊपर बताई गई तीन डिलीवरables के लिए बफ़र वीक.

उपलब्ध 4 [सातवां हफ़्ता]: अनुवाद के लिए तैयार हो जाएं. अपडेट करने के अलावा, मैं दूसरी भाषाओं में अनुवाद करने की तैयारी करूंगा. यह ज़रूरी है, क्योंकि अनुवाद के बाद, अंग्रेज़ी न जानने वाले लोग भी दस्तावेज़ पढ़ पाएंगे. साथ ही, VLC दुनिया में सबसे ज़्यादा इस्तेमाल होने वाले प्लैटफ़ॉर्म[8] बनने के एक कदम और करीब पहुंच जाएगा.

प्रस्ताव के टूल सेक्शन में बताया गया है कि VLC फ़िलहाल, अनुवाद के लिए .po फ़ाइलें जनरेट करने के लिए Babel का इस्तेमाल करता है. मैं उपयोगकर्ता/वॉलंटियर के लिए, इस प्रोसेस का दस्तावेज़ बनाऊंगा:

  • बुनियादी दस्तावेज़ को डाउनलोड करके, उसे स्थानीय तौर पर बनाएं.
  • ज़रूरी फ़ाइलें जनरेट करने के लिए, Babel का इस्तेमाल करें.
  • स्ट्रिंग के लिए अनुवाद डालें.
  • Sphinx का इस्तेमाल करके, अनुवाद किए गए दस्तावेज़ बनाना.
  • बदलावों को कमिट करें.

पांचवां डिलीवरबल [नौवां-दसवां हफ़्ता]: मॉड्यूल के दस्तावेज़ तैयार करें. जैसा कि मैंने अपने मेंटर से बातचीत में बताया था, मेरा प्लान है कि मैं मॉड्यूल के दस्तावेज़ को दो हिस्सों में तैयार करूं.

पहला चरण: एक स्क्रिप्ट की मदद से, मॉड्यूल के आस-पास फ़ाइलें बनाना. यह स्क्रिप्ट, कोड बेस में मौजूद मान्य विकल्पों को खोजती है और उनसे जुड़े विकी पेजों से, एक लाइन में इस्तेमाल करने का तरीका (और डिफ़ॉल्ट वैल्यू) निकालती है. यह एक बुनियादी ड्राफ़्ट के तौर पर काम करेगा.

दूसरा चरण: प्लैटफ़ॉर्म के हिसाब से ऐसा स्ट्रक्चर बनाना जो किसी खास प्लैटफ़ॉर्म (Windows और समय मिलने पर Fedora के लिए भी) के सभी मॉड्यूल, प्लग इन, और विकल्पों को लिंक करता हो.

मॉड्यूल के आस-पास फ़ाइलें बनाने से यह पक्का होगा कि दस्तावेज़, सोर्स कोड के आस-पास हो. सबसे नीचे से सबसे ऊपर तक के तरीके का इस्तेमाल करके, मुख्य मॉड्यूल दस्तावेज़ को पहले हिस्से में बनाई गई फ़ाइलों को जोड़कर बनाया जाएगा. साथ ही, दूसरे हिस्से में बनाए गए स्ट्रक्चर को रेफ़रंस के तौर पर इस्तेमाल किया जाएगा.

ऑटोमेशन की मदद से बनाई गई फ़ाइलों की समीक्षा की ज़रूरत होगी. हालांकि, सबसे पहले फ़्रेमवर्क को काम करने लायक बनाना ज़रूरी है. इसके बाद, उपलब्ध समय के हिसाब से, हम विकल्पों की पुष्टि करने के लिए फ़ाइलों की समीक्षा करेंगे. फ़्रेमवर्क को प्राथमिकता दी जा रही है, क्योंकि यह उपलब्ध होने के बाद, डेवलपर और रखरखाव करने वाले लोग भी काम के उदाहरण जोड़कर योगदान दे सकते हैं.

बोनस डिलीवर किया जा सकता है [11वां हफ़्ता]: 4.0 वर्शन की रिलीज़ के लिए तैयार हो जाएं. अगर प्रोजेक्ट शेड्यूल के मुताबिक पूरा हो जाता है, तो मैं बोनस डिलीवर करने का प्रस्ताव देना चाहूंगा. जैसा कि मेंटॉर ने बताया है, 4.0 रिलीज़ की तैयारी का मतलब है कि आपके पास वर्शन 3.0 के लिए स्थिर और करीब-करीब पूरा दस्तावेज़ होना चाहिए.

इसलिए, हम यहां दिए गए सेक्शन के पहले से मौजूद दस्तावेज़ों की समीक्षा करेंगे, ताकि बताए गए तरीकों की पुष्टि की जा सके और उन्हें अपडेट किया जा सके:

  • बुनियादी इस्तेमाल: मीडिया, वीडियो चलाना, ऑडियो, वीडियो, सबटाइटल, हॉटकी, रिकॉर्डिंग, सेटिंग, सलाह और तरकीबें.
  • बेहतर तरीके से इस्तेमाल करना: प्लेयर, इंटरफ़ेस, ट्रांसकोड, स्ट्रीमिंग, असामान्य मामले.
  • ऐड-ऑन: एक्सटेंशन, स्किन.

12वां हफ़्ता: ऊपर बताई गई तीन डिलीवरables + फ़ाइनल रिपोर्ट के लिए बफ़र वीक.

इस प्रोजेक्ट के लिए मैं सही व्यक्ति क्यों हूं?

टेक्नोलॉजी के शौकीन के तौर पर, मेरे पास सॉफ़्टवेयर इस्तेमाल करने/जांच करने का अनुभव है. साथ ही, कभी-कभी उनके कोड बेस को समझने की कोशिश भी की जाती है. एक ओपन सोर्स संगठन के कोड बेस को समझने की कोशिश में ही मुझे पहली बार यह महसूस हुआ कि दस्तावेज़ की अहमियत कितनी है. इसके अलावा, संगीत के/की शौकीन, मुझे वीएलसी के साथ काम करने का काफ़ी अनुभव है :)

इसके अलावा, मैं शुरू से एक रिसर्चर और लेखक रहा हूं. जब तक मैं किसी चीज़ को लिखकर नहीं रखती, तब तक मुझे वह बात समझ नहीं आती. इस आदत की वजह से, मैं नोट लेने और दस्तावेज़ बनाने में माहिर हो गई हूं.

इन दोनों आदतों की वजह से, मैं तकनीकी दस्तावेज़ों के लिए सही व्यक्ति हूं. मैं तकनीकी पहलुओं को समझने के साथ-साथ, अपनी खोजों/प्रोसेस को इस तरह से दस्तावेज़ में दर्ज कर सकता/सकती हूं कि उपयोगकर्ता उन्हें समझ सकें.

Links: [1] https://wiki.videolan.org/Documentation:User_Guide/ [2] https://vlc-user-documentation.readthedocs.io/en/latest/index.html [3] https://docs.blender.org/manual/en/latest/ [4] https://docs.blender.org/api/current/index.html [5] https://code.videolan.org/docs/vlc-user/-/issues/7 [6] https://wiki.videolan.org/Documentation:WebPlugin/ [7] https://wiki.videolan.org/Documentation:Command_line/ [8] https://trac.videolan.org/vlc/ticket/35