YouTube की मदद से मोबाइल डेवलपमेंट के लिए संसाधन

Jarek Wilkiewicz, YouTube API टीम
सितंबर 2010

परिचय

जो डेवलपर अपने मोबाइल ऐप्लिकेशन में वीडियो रिकॉर्डिंग, अपलोड करने, शेयर करने, और चलाने की सुविधा जोड़ना चाहते हैं वे YouTube प्लैटफ़ॉर्म का इस्तेमाल कर सकते हैं. इससे उन्हें अपना काम आसानी से करने और अपने प्रॉडक्ट को बेहतर बनाने में मदद मिलेगी. इस लेख में कुछ ऐसी टेक्नोलॉजी के बारे में बताया गया है जिनका इस्तेमाल शायद आप अपने ऐप्लिकेशन में करें.

रिकॉर्डिंग

वीडियो रिकॉर्डिंग की प्रोसेस, डिवाइस में मौजूद मोबाइल प्लैटफ़ॉर्म का इस्तेमाल करके की जाती है. उदाहरण के लिए, आपका ऐप्लिकेशन Android पर किसी VIDEO_CAPTURE इंटेंट को ट्रिगर कर सकता है:

Intent i = new Intent();
i.setAction(MediaStore.VIDEO_CAPTURE);
startActivityForResult(i, CAPTURE_RETURN);

या iPhone iOS पर UIImagePickerController लॉन्च करें:

IImagePickerController *imagePicker = [[[UIImagePickerController alloc] init] autorelease];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
[self presentModalViewController:imagePicker animated:YES];

iOS 4 और उसके बाद के वर्शन पर रिकॉर्डिंग के ज़्यादा बेहतर विकल्पों के लिए, AV Foundation फ़्रेमवर्क से AVCaptureSession क्लास का इस्तेमाल भी किया जा सकता है.  

अपलोड हो रहा है

आपका ऐप्लिकेशन उपयोगकर्ता के YouTube खाते से संबद्ध विशेष ईमेल पते पर ईमेल भेजकर या तीन API विधियों में से किसी एक का उपयोग करके YouTube पर वीडियो और उसका मेटाडेटा अपलोड कर सकता है: ब्राउज़र आधारित अपलोड करना, सीधे अपलोड करना या फिर से प्रारंभ करने लायक अपलोड करना. मोबाइल ऐप्लिकेशन के लिए, अपलोड को सीधे तौर पर फिर से शुरू करने का विकल्प सबसे भरोसेमंद होता है. इसकी मदद से, ऐप्लिकेशन को इंटरनेट कनेक्शन से जुड़ी समस्याओं से आसानी से उबरने में मदद मिलती है. साथ ही, अपलोड को उसी जगह से फिर से शुरू किया जा सकता है जहां से यह रुका था. YouTube का फिर से अपलोड करने वाला प्रोटोकॉल, एचटीटीपी 1.1 कॉन्टेंट की रेंज/रेंज वाले तरीके का इस्तेमाल करता है. इसकी मदद से, वीडियो को कई हिस्सों में ट्रांसफ़र किया जा सकता है. साथ ही, किसी रुकावट के बाद यह पता लगाया जा सकता है कि कितने बाइट ट्रांसफ़र हुए.

वीडियो अपलोड करने के लिए, वीडियो का कॉन्टेंट सबसे ज़रूरी होता है. हालांकि, वीडियो का मेटाडेटा भी इस प्रोसेस का एक अहम हिस्सा होता है. इसकी मदद से, दर्शक खोज के नतीजों में वीडियो ढूंढ पाते हैं. साथ ही, इस लेख में आगे बताई गई अन्य सुविधाएं भी चालू होती हैं. कैटगरी, ब्यौरे, और टाइटल जैसे सामान्य एलिमेंट के अलावा, मोबाइल ऐप्लिकेशन आसानी से फ़ोन के जीपीएस डिवाइस से जियोलोकेशन का डेटा शामिल कर सकते हैं. इस डेटा की मदद से, जगह के हिसाब से खोज की सुविधा दी जा सकती है या मैप पर वीडियो की जगहें दिखाई जा सकती हैं. वीडियो अपलोड करने वाले ऐसे ऐप्लिकेशन जो उपयोगकर्ता के इंटरैक्शन को कम करना चाहते हैं उनके लिए, बिना मेटाडेटा वाले वीडियो अपलोड करने का विकल्प भी उपलब्ध है. इस बारे में ज़्यादा जानकारी के लिए, Google I/O टॉक देखें.

शेयर करें

YouTube Data API, वीडियो शेयर करने से जुड़ी गतिविधियों के लिए बेहतर सुविधाएं भी देता है. Google के अन्य डेटा एपीआई की तरह, YouTube API भी REST प्रोटोकॉल का इस्तेमाल करता है. यह प्रोटोकॉल, Atom, JSON, और JSON-C डेटा रेप्रज़ेंटेशन के साथ काम करता है. JSON-C के कॉम्पैक्ट एपीआई रिस्पॉन्स, खास तौर पर मोबाइल एनवायरमेंट के लिए बहुत अच्छे होते हैं. इनमें अक्सर संसाधनों की कमी होती है. यह एपीआई, वीडियो खोजने की सुविधाजनक सुविधा उपलब्ध कराता है; वीडियो पर टिप्पणी करने और उन्हें रेटिंग देने की सुविधा; सदस्यताओं, पसंदीदा वीडियो, प्लेलिस्ट, और सुझाव इंजन का ऐक्सेस; साथ ही, कम्यूनिटी से जुड़ी कई सुविधाएं भी उपलब्ध हैं. इनकी मदद से, अपने वीडियो को सोशल मीडिया ऐप्लिकेशन के साथ इंटिग्रेट किया जा सकता है.

इन सभी फ़ंक्शन को मोबाइल ऐप्लिकेशन में शामिल किया जा सकता है. इसके लिए, प्रोग्रामिंग भाषा के हिसाब से क्लाइंट लाइब्रेरी का इस्तेमाल करें या सीधे एचटीटीपी के ज़रिए YouTube के एपीआई सर्वर से इंटरैक्ट करें. पहले वाले अप्रोच में, ऐप्लिकेशन के बड़े फ़ुटप्रिंट की वजह से प्रोटोकॉल की मुश्किलों को कम किया गया है. बाद वाला तरीका आपको अपने ऐप्लिकेशन द्वारा उपयोग की जाने वाली विशिष्ट API सेवाओं के साथ हैंड-क्राफ़्ट इंटरैक्शन करने देता है. आखिर में, यह विकल्प अलग-अलग ऐप्लिकेशन के हिसाब से तय होता है. शुरू करने के लिए, Android के लिए Java GData लाइब्रेरी या iPhone के लिए Objective-C GData लाइब्रेरी देखें. सर्वर बैक-एंड के साथ इंटिग्रेशन से, ज़्यादा जटिल मोबाइल वीडियो ऐप्लिकेशन को फ़ायदा हो सकता है. ऐसा ही एक ऐप्लिकेशन है YouTube Direct (इमेज 1), जिसमें Google App Engine पर चलने के लिए पहले से कॉन्फ़िगर किया गया ओपन सोर्स सर्वर कोड दिया गया है. साथ ही, इसमें Android (ytd-android, इमेज 1 में दिखाया गया) और iPhone (ytd-iphone) के लिए, क्लाइंट के लिए वीडियो अपलोड करने का तरीका बताया गया है.

YouTube Direct Android ऐप्लिकेशन
इमेज 1: YouTube Direct का Android ऐप्लिकेशन

सुरक्षा

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

यह एपीआई, पुष्टि करने के तीन तरीकों के साथ काम करता है: AuthSub, OAuth, और ClientLogin. ClientLogin, मोबाइल ऐप्लिकेशन के लिए इस्तेमाल करने का सबसे आसान तरीका है. साथ ही, Android पर AccountManager का इस्तेमाल करके, आसानी से पुष्टि करने वाले टोकन पाए जा सकते हैं. हालांकि, मोबाइल क्लाइंट और कई वेब बैक-एंड को इंटिग्रेट करने वाले ऐप्लिकेशन को OAuth का इस्तेमाल करना चाहिए. इसे ओपन स्टैंडर्ड के तौर पर प्राथमिकता दी जाती है. इसके अलावा, AuthSub का इस्तेमाल भी किया जा सकता है, जो Google के लिए खास तौर पर उपलब्ध है. Android पर OAuth की पुष्टि करने की प्रक्रिया का नमूना देखने के लिए यह ऐप्लिकेशन देखें. साथ ही, iPhone iOS पर नमूने को लागू करने के लिए GDataOAuthViewControllerTouch देखें.  

वीडियो चलाएं

आखिर में, वीडियो इसलिए बनाए जाते हैं, ताकि लोग उन्हें देख सकें. YouTube प्लैटफ़ॉर्म पर, आपको कई विकल्प मिलते हैं.

  • ज़्यादातर आधुनिक मोबाइल प्लैटफ़ॉर्म, YouTube प्लेयर ऐप्लिकेशन के साथ बंडल में आते हैं. इससे, इंटिग्रेशन तुरंत हो जाता है. अगर आपके प्लैटफ़ॉर्म में YouTube प्लेयर ऐप्लिकेशन नहीं है, तो उसे डाउनलोड किया जा सकता है. कोई मोबाइल ऐप्लिकेशन, प्लैटफ़ॉर्म सेवा का इस्तेमाल करके प्लेयर लॉन्च करता है. उदाहरण के लिए, Android पर कोई ऐप्लिकेशन ACTION_VIEW इंटेंट का इस्तेमाल करता है. साथ ही, iPhone पर कोई ऐप्लिकेशन UIApplication क्लास के openURL तरीके का इस्तेमाल करके, प्लेयर को लॉन्च कर सकता है. इसके बारे में इस ब्लॉग पोस्ट में बताया गया है.
  • YouTube की मोबाइल वेबसाइट, http://m.youtube.com की मदद से, किसी वेब ऐप्लिकेशन में वीडियो चलाने की सुविधा आसानी से इंटिग्रेट की जा सकती है.
  • वीडियो चलाने के अनुभव को बेहतर बनाने के लिए, Adobe Flash की सुविधा वाले प्लैटफ़ॉर्म के ऐप्लिकेशन, AS3 YouTube प्लेयर का इस्तेमाल कर सकते हैं. इससे आपको अच्छी क्वालिटी का वीडियो चलाने की सुविधा मिलती है.