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

जेरेक विलकिविज़, 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 फ़ाउंडेशन फ़्रेमवर्क से AVCaptureSession क्लास का भी इस्तेमाल कर सकते हैं.  

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

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

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

शेयर करें

YouTube Data API, वीडियो शेयर करने से जुड़ी गतिविधियों के लिए भी बेहतर सुविधाएं देता है. अन्य Google Data API की तरह, YouTube API REST-आधारित प्रोटोकॉल का इस्तेमाल करता है. यह प्रोटोकॉल ऐटम, 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 डायरेक्ट Android ऐप्लिकेशन
पहली इमेज: YouTube डायरेक्ट Android ऐप्लिकेशन

सुरक्षा

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

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

वीडियो चलाएं

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

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