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 ফাউন্ডেশন ফ্রেমওয়ার্ক থেকে AVCaptureSession ক্লাসও ব্যবহার করতে পারেন।

আপলোড হচ্ছে

আপনার অ্যাপ্লিকেশন ব্যবহারকারীর YouTube অ্যাকাউন্টের সাথে যুক্ত একটি বিশেষ ইমেল ঠিকানায় একটি ইমেল পাঠিয়ে বা তিনটি API পদ্ধতির মধ্যে একটি ব্যবহার করে YouTube-এ একটি ভিডিও এবং এর মেটাডেটা আপলোড করতে পারে: ব্রাউজার-ভিত্তিক আপলোডিং, সরাসরি আপলোডিং বা সরাসরি পুনরায় শুরুযোগ্য আপলোডিং৷ মোবাইল অ্যাপ্লিকেশনের জন্য, সরাসরি পুনঃসূচনাযোগ্য আপলোড করা সবচেয়ে নির্ভরযোগ্য পছন্দ কারণ এটি একটি অ্যাপ্লিকেশনকে সংযোগের ব্যর্থতা থেকে সুন্দরভাবে পুনরুদ্ধার করতে এবং ব্যর্থতার বিন্দু থেকে আপলোড পুনরায় শুরু করতে সক্ষম করে। YouTube-এর পুনঃসূচনাযোগ্য আপলোডিং প্রোটোকল HTTP 1.1 বিষয়বস্তু-রেঞ্জ/রেঞ্জ মেকানিজম ব্যবহার করে ভিডিওগুলিকে খণ্ডে স্থানান্তর করতে এবং বাধার ক্ষেত্রে, সফলভাবে স্থানান্তরিত বাইটের সংখ্যা সনাক্ত করতে।

যদিও প্রকৃত ভিডিও সামগ্রী একটি আপলোডের সবচেয়ে গুরুত্বপূর্ণ উপাদান, ভিডিও মেটাডেটা প্রক্রিয়াটির একটি অবিচ্ছেদ্য অংশ কারণ সেই মেটাডেটা ব্যবহারকারীদের অনুসন্ধানে ভিডিওগুলি সনাক্ত করতে দেয় এবং পরবর্তীতে এই নিবন্ধে বর্ণিত অন্যান্য বৈশিষ্ট্যগুলিকে সক্ষম করে৷ একটি বিভাগ, বিবরণ এবং শিরোনামের মতো সাধারণ উপাদানগুলি ছাড়াও, মোবাইল অ্যাপ্লিকেশনগুলি সহজেই ফোনের GPS ডিভাইস থেকে ভূ-অবস্থান ডেটা অন্তর্ভুক্ত করতে পারে। এই ডেটাগুলি আপনাকে অবস্থান-ভিত্তিক অনুসন্ধান বা মানচিত্রে ভিডিও অবস্থানগুলি প্লট করতে দেয়৷ ভিডিও আপলোড অ্যাপ্লিকেশনের জন্য ব্যবহারকারীর ইন্টারঅ্যাকশন কমানোর জন্য, জিরো-মেটাডেটা আপলোড হল আরেকটি বিকল্প এবং এই Google I/O টক থেকে এই সম্পর্কে আরও তথ্য পাওয়া যায়।

শেয়ারিং

YouTube Data API এছাড়াও ভিডিও শেয়ারিং কার্যক্রমের জন্য সমৃদ্ধ কার্যকারিতা প্রদান করে। অন্যান্য Google ডেটা API-এর মতো, YouTube API একটি REST-অনুপ্রাণিত প্রোটোকল ব্যবহার করে যা Atom , JSON এবং JSON-C ডেটা উপস্থাপনাকে সমর্থন করে। JSON-C এর কমপ্যাক্ট API প্রতিক্রিয়াগুলি মোবাইল পরিবেশের জন্য বিশেষভাবে উপযুক্ত, যা প্রায়শই সংস্থান-সীমাবদ্ধ থাকে। API নমনীয় ভিডিও অনুসন্ধান কার্যকারিতা প্রকাশ করে; ভিডিওগুলিতে মন্তব্য এবং রেট দেওয়ার ক্ষমতা; সদস্যতা, প্রিয় ভিডিও, প্লেলিস্ট, এবং একটি সুপারিশ ইঞ্জিন অ্যাক্সেস; এবং অনেকগুলি সম্প্রদায় বৈশিষ্ট্য যা আপনাকে সামাজিক অ্যাপ্লিকেশনগুলিতে ভিডিও সংহত করতে সহায়তা করে৷

এই সমস্ত ফাংশন প্রোগ্রামিং ভাষা-নির্দিষ্ট ক্লায়েন্ট লাইব্রেরি ব্যবহার করে, অথবা HTTP-এর মাধ্যমে YouTube-এর API সার্ভারের সাথে সরাসরি ইন্টারঅ্যাক্ট করে একটি মোবাইল অ্যাপ্লিকেশনে অন্তর্ভুক্ত করা যেতে পারে। প্রাক্তন পদ্ধতিটি একটি বৃহত্তর অ্যাপ্লিকেশন পদচিহ্নের ব্যয়ে বেশিরভাগ প্রোটোকল জটিলতাকে বিমূর্ত করে। পরবর্তী পদ্ধতিটি আপনাকে আপনার অ্যাপ্লিকেশন ব্যবহার করে এমন নির্দিষ্ট API পরিষেবাগুলির সাথে হ্যান্ড-ক্র্যাফ্ট ইন্টারঅ্যাকশন করতে দেয়। শেষ পর্যন্ত পছন্দটি অ্যাপ্লিকেশন-নির্দিষ্ট। শুরু করতে, Android-এর জন্য Java GData লাইব্রেরি বা iPhone-এর জন্য Objective-C GData লাইব্রেরি দেখুন৷ আরো জটিল মোবাইল ভিডিও অ্যাপ্লিকেশন একটি সার্ভার ব্যাক-এন্ডের সাথে ইন্টিগ্রেশন থেকে উপকৃত হতে পারে। এরকম একটি অ্যাপ্লিকেশন হল ইউটিউব ডাইরেক্ট (চিত্র 1), যা Google অ্যাপ ইঞ্জিনে চালানোর জন্য ওপেন সোর্স সার্ভার কোড প্রি-কনফিগার করা আছে, সেইসাথে অ্যান্ড্রয়েড ( ytd-android , চিত্র 1-এ দেখানো হয়েছে) এবং iPhone এর জন্য ভিডিও আপলোডের রেফারেন্স ক্লায়েন্ট বাস্তবায়ন ( ytd-iphone )।

ইউটিউব ডাইরেক্ট অ্যান্ড্রয়েড অ্যাপ্লিকেশন
চিত্র 1: YouTube সরাসরি অ্যান্ড্রয়েড অ্যাপ্লিকেশন

নিরাপত্তা

নিরাপত্তা এবং প্রমাণীকরণ মোবাইল YouTube অ্যাপ্লিকেশন বিকাশের গুরুত্বপূর্ণ দিক। যদিও কিছু API অপারেশন অননুমোদিত ক্লায়েন্টদের জন্য উপলব্ধ, অন্যান্য অনুরোধগুলির জন্য অনুমোদনের প্রয়োজন হয়, যা API অনুরোধে জমা দেওয়া একটি প্রমাণীকরণ টোকেনের মাধ্যমে করা হয়। এই ধরনের ক্রিয়াকলাপগুলির মধ্যে ভিডিও আপলোডের পাশাপাশি ডেটা পরিবর্তন বা লেখা বা ব্যক্তিগত ব্যবহারকারীর তথ্য অ্যাক্সেস করে এমন অন্য কোনও ক্রিয়াকলাপ অন্তর্ভুক্ত।

API তিনটি প্রমাণীকরণ পদ্ধতি সমর্থন করে: AuthSub, OAuth এবং ClientLogin । ClientLogin হল মোবাইল অ্যাপ্লিকেশনের জন্য ব্যবহার করার সবচেয়ে সহজ পদ্ধতি এবং Android AccountManager- এ সহজেই প্রমাণীকরণ টোকেন পেতে ব্যবহার করা যেতে পারে। যাইহোক, যে অ্যাপ্লিকেশনগুলি একটি মোবাইল ক্লায়েন্ট এবং একাধিক ওয়েব ব্যাক-এন্ড একত্রিত করে তাদের OAuth ব্যবহার করার কথা বিবেচনা করা উচিত, যা একটি ওপেন স্ট্যান্ডার্ড হিসাবে পছন্দ করা হয়, বা AuthSub, যা Google-নির্দিষ্ট। Android-এ নমুনা OAuth প্রমাণীকরণ বাস্তবায়নের জন্য এই অ্যাপ্লিকেশনটি এবং iPhone iOS-এ নমুনা বাস্তবায়নের জন্য GDataOAuthViewControllerTouch দেখুন।

প্লেব্যাক

এবং, অবশেষে, ভিডিওগুলি বিদ্যমান যাতে লোকেরা সেগুলি দেখতে পারে৷ আবার, ইউটিউব প্ল্যাটফর্ম বেশ কয়েকটি বিকল্প অফার করে।

  • বেশিরভাগ আধুনিক মোবাইল প্ল্যাটফর্মগুলি একটি YouTube প্লেয়ার অ্যাপ্লিকেশনের সাথে একত্রিত হয়, যা দ্রুত ইন্টিগ্রেশন সক্ষম করে। আপনার প্ল্যাটফর্মে একটি YouTube প্লেয়ার অ্যাপ্লিকেশন অন্তর্ভুক্ত না হলে, আপনি একটি ডাউনলোড করতে পারেন। একটি মোবাইল অ্যাপ্লিকেশন একটি প্ল্যাটফর্ম পরিষেবা ব্যবহার করে একটি প্লেয়ার চালু করে৷ উদাহরণস্বরূপ, অ্যান্ড্রয়েডে, একটি অ্যাপ্লিকেশন ACTION_VIEW উদ্দেশ্য ব্যবহার করে এবং iPhone এ একটি অ্যাপ্লিকেশন এই ব্লগ পোস্টে কভার করা UIApplication ক্লাসের openURL পদ্ধতি ব্যবহার করে প্লেয়ারটি চালু করতে পারে৷
  • YouTube মোবাইল ওয়েবসাইট, http://m.youtube.com , আপনাকে সহজেই একটি ওয়েব অ্যাপ্লিকেশনে ভিডিও প্লেব্যাক সংহত করতে দেয়৷
  • প্লেব্যাকের অভিজ্ঞতার সূক্ষ্ম নিয়ন্ত্রণের জন্য, Adobe Flash-সক্ষম প্ল্যাটফর্মগুলিতে অ্যাপ্লিকেশনগুলি AS3 YouTube প্লেয়ারকে প্রসারিত করতে পারে, যা উচ্চ মানের প্লেব্যাক অফার করে৷