IMA SDK গুলি আপনার ওয়েবসাইট এবং অ্যাপগুলিতে মাল্টিমিডিয়া বিজ্ঞাপনগুলিকে একীভূত করা সহজ করে তোলে। IMA SDK গুলি যেকোনো VAST-সম্মত বিজ্ঞাপন সার্ভার থেকে বিজ্ঞাপনের অনুরোধ করতে পারে এবং আপনার অ্যাপগুলিতে বিজ্ঞাপন প্লেব্যাক পরিচালনা করতে পারে। IMA DAI SDK গুলির সাহায্যে, অ্যাপগুলি বিজ্ঞাপন এবং কন্টেন্ট ভিডিওর জন্য একটি স্ট্রিম অনুরোধ করে—হয় VOD অথবা লাইভ কন্টেন্ট। SDK তারপর একটি সম্মিলিত ভিডিও স্ট্রিম প্রদান করে, যাতে আপনাকে আপনার অ্যাপের মধ্যে বিজ্ঞাপন এবং কন্টেন্ট ভিডিওর মধ্যে স্যুইচ করার ব্যবস্থা করতে না হয়।
আপনার আগ্রহের DAI সমাধানটি নির্বাচন করুন।
গুগল ক্লাউড ভিডিও স্টিচার এপিআই-এর সাথে নিবন্ধিত প্লে ভিওডি স্ট্রিমগুলি
এই নির্দেশিকাটি দেখায় যে কীভাবে HTML5 এর জন্য IMA DAI SDK ব্যবহার করে Google Cloud VOD স্ট্রিম সেশনের অনুরোধ করতে এবং চালাতে হয়।
এই নির্দেশিকাটি IMA DAI-এর জন্য শুরু করার নির্দেশিকা থেকে মৌলিক উদাহরণের উপর বিস্তৃত।
অন্যান্য প্ল্যাটফর্মের সাথে একীভূতকরণ বা IMA ক্লায়েন্ট-সাইড SDK ব্যবহার সম্পর্কে তথ্যের জন্য, ইন্টারেক্টিভ মিডিয়া বিজ্ঞাপন SDK দেখুন।
সম্পূর্ণ নমুনা ইন্টিগ্রেশন দেখতে বা অনুসরণ করতে, HLS বা DASH এর জন্য ক্লাউড ভিডিও স্টিচার উদাহরণটি ডাউনলোড করুন।
একটি গুগল ক্লাউড প্রোজেক্ট সেট আপ করুন
IMA SDK-তে ব্যবহারের জন্য নিম্নলিখিত ভেরিয়েবলগুলি লিখুন:- স্থান
- গুগল ক্লাউড অঞ্চল যেখানে আপনার VOD কনফিগারেশন তৈরি করা হয়েছে:
LOCATION - প্রকল্প নম্বর
- ভিডিও স্টিচার API ব্যবহার করে Google ক্লাউড প্রকল্প নম্বর:
PROJECT_NUMBER - OAuth টোকেন
ভিডিও স্টিচার ব্যবহারকারীর ভূমিকা সহ একটি পরিষেবা অ্যাকাউন্টের স্বল্পস্থায়ী OAuth টোকেন:
OAUTH_TOKEN
স্বল্পস্থায়ী OAuth টোকেন তৈরি সম্পর্কে আরও পড়ুন। OAuth টোকেনটি একাধিক অনুরোধে পুনঃব্যবহার করা যেতে পারে যতক্ষণ না এটির মেয়াদ শেষ হয়ে যায়।
- নেটওয়ার্ক কোড
বিজ্ঞাপনের অনুরোধের জন্য বিজ্ঞাপন ম্যানেজার নেটওয়ার্ক কোড:
NETWORK_CODE
- ভিওডি কনফিগারেশন আইডি
VOD স্ট্রিমের জন্য VOD কনফিগারেশন আইডি:
VOD_CONFIG_IDক্লাউড স্টিচিং-এ VOD কনফিগারেশন আইডি তৈরি সম্পর্কে আরও পড়ুন। একটি VOD কনফিগারেশন গাইড তৈরি করুন ।
একটি উন্নয়ন পরিবেশ কনফিগার করুন
IMA নমুনা অ্যাপগুলি শুধুমাত্র HLS স্ট্রিম অনুরোধগুলি প্রদর্শন করে। VideoStitcherVodStreamRequest ক্লাস তৈরি করার সময় আপনি এখনও DASH স্ট্রিম ব্যবহার করতে পারেন। আপনার DASH-সামঞ্জস্যপূর্ণ প্লেয়ার সেট আপ করার সময়, আপনার ভিডিও প্লেয়ারের অগ্রগতি ইভেন্টগুলির জন্য একটি শ্রোতা সেট আপ করতে হবে যা StreamManager.processMetadata() কে ভিডিওর মেটাডেটা সরবরাহ করতে পারে। এই ফাংশনটি তিনটি প্যারামিটার গ্রহণ করে:
type: একটি স্ট্রিং যা HLS স্ট্রিমগুলির জন্য'ID3'এবং DASH স্ট্রিমগুলির জন্য'urn:google:dai:2018'তে সেট করতে হবে।data: DASH ইভেন্ট বার্তাগুলির জন্য, এটি হল বার্তা ডেটা স্ট্রিং।timestamp: একটি সংখ্যা যা DASH স্ট্রিমগুলির জন্য ইভেন্ট বার্তা শুরুর সময়।
আপনার প্লেয়ার ইভেন্টগুলি যত তাড়াতাড়ি এবং যতবার সম্ভব মেটাডেটা পাঠান। যদি মেটাডেটা অনুপস্থিত থাকে বা সঠিক না হয়, তাহলে IMA DAI SDK বিজ্ঞাপন ইভেন্টগুলি ট্রিগার নাও করতে পারে, যার ফলে ভুলভাবে বিজ্ঞাপন ইভেন্টগুলি রিপোর্ট করা হতে পারে।
HTML5 এর জন্য IMA DAI উদাহরণগুলি ডাউনলোড করুন এবং hls_js/simple নমুনা জিপ ফাইলটি একটি নতুন ফোল্ডারে এক্সট্র্যাক্ট করুন। এই উদাহরণটি একটি ওয়েব অ্যাপ যা আপনি পরীক্ষার উদ্দেশ্যে স্থানীয়ভাবে হোস্ট করতে পারেন।
স্থানীয়ভাবে উদাহরণটি হোস্ট করতে, নতুন ফোল্ডারে নেভিগেট করুন এবং একটি ওয়েব সার্ভার শুরু করতে নিম্নলিখিত পাইথন কমান্ডটি চালান:
python3 -m http.server 8000http.server শুধুমাত্র Python 3.x তে উপলব্ধ। আপনি অন্য যেকোনো ওয়েব সার্ভার ব্যবহার করতে পারেন, যেমন Apache HTTP Server অথবা Node JS।
একটি ওয়েব ব্রাউজার খুলুন এবং localhost:8000 এ যান এবং একটি ভিডিও প্লেয়ার দেখুন। আপনার ব্রাউজারটি অবশ্যই HLS.js লাইব্রেরি সমর্থন করবে।
সবকিছু ঠিকঠাক কাজ করলে, ভিডিও প্লেয়ারের প্লে বোতামে ক্লিক করলেই "টিয়ার্স অফ স্টিল" শর্ট ফিল্মটি শুরু হয়, প্রতি 30 সেকেন্ডে বিজ্ঞাপন বিরতি সহ।
একটি VOD স্ট্রিম অনুরোধ করুন
আপনার বিজ্ঞাপন সেলাই করা VOD স্ট্রিম দিয়ে নমুনা স্ট্রিম প্রতিস্থাপন করতে, Google বিজ্ঞাপন ম্যানেজারের সাথে স্বয়ংক্রিয়ভাবে একটি বিজ্ঞাপন সেশন তৈরি করতে VideoStitcherVodStreamRequest ক্লাস ব্যবহার করুন। পর্যবেক্ষণ এবং ডিবাগিংয়ের জন্য জেনারেট করা DAI সেশনগুলি সনাক্ত করতে আপনি Google বিজ্ঞাপন ম্যানেজার UI ব্যবহার করতে পারেন।
বিদ্যমান নমুনায়, একটি VOD স্ট্রিম বা একটি লাইভস্ট্রিম অনুরোধ করার জন্য ফাংশন রয়েছে। এটি Google Cloud Video Stitcher API এর সাথে কাজ করার জন্য, আপনাকে একটি VideoStitcherVodStreamRequest অবজেক্ট ফেরত দেওয়ার জন্য একটি নতুন ফাংশন যোগ করতে হবে।
এখানে একটি উদাহরণ:
// StreamManager which will be used to request DAI streams.
let streamManager;
...
function initPlayer() {
videoElement = document.getElementById('video');
adUiElement = document.getElementById('adUi');
streamManager = new google.ima.dai.api.StreamManager(
videoElement,
adUiElement
);
streamManager.addEventListener(
[
google.ima.dai.api.StreamEvent.Type.LOADED,
google.ima.dai.api.StreamEvent.Type.ERROR,
google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED,
google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED
],
onStreamEvent, false);
hls.on(Hls.Events.FRAG_PARSING_METADATA, function(event, data) {
if (streamManager && data) {
// For each ID3 tag in our metadata, we pass in the type - ID3, the
// tag data (a byte array), and the presentation timestamp (PTS).
data.samples.forEach(function(sample) {
streamManager.processMetadata('ID3', sample.data, sample.pts);
});
}
});
videoElement.addEventListener('pause', () => {
playButton.style.display = "block";
});
playButton.addEventListener('click', initiatePlayback);
}
function initiatePlayback() {
requestVodVideoStitcherStream();
playButton.style.display = "none";
playButton.removeEventListener('click', initiatePlayback);
playButton.addEventListener('click', resumePlayback);
}
...
function requestVodVideoStitcherStream() {
const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest();
streamRequest.vodConfigId = 'VOD_CONFIG_ID';
streamRequest.region = 'LOCATION';
streamRequest.projectNumber = 'PROJECT_NUMBER';
streamRequest.oAuthToken = 'OAUTH_TOKEN';
streamRequest.networkCode = 'NETWORK_CODE';
streamManager.requestStream(streamRequest);
}
পৃষ্ঠাটি পুনরায় লোড করুন। তারপর, আপনি কাস্টম VOD স্ট্রিমটি অনুরোধ করতে এবং চালাতে পারেন।
(ঐচ্ছিক) স্ট্রিমিং সেশনের বিকল্প যোগ করুন
VideoStitcherVodStreamRequest.videoStitcherSessionOptions ব্যবহার করে ডিফল্ট ক্লাউড ভিডিও স্টিচার API কনফিগারেশন ওভাররাইড করার জন্য সেশন বিকল্পগুলি যোগ করে আপনার স্ট্রিম অনুরোধটি কাস্টমাইজ করুন। যদি আপনি একটি অচেনা বিকল্প প্রদান করেন, তাহলে ক্লাউড ভিডিও স্টিচার API একটি HTTP 400 ত্রুটির সাথে প্রতিক্রিয়া জানাবে। সহায়তার জন্য সমস্যা সমাধান নির্দেশিকাটি দেখুন।
উদাহরণস্বরূপ, আপনি নিম্নলিখিত কোড স্নিপেট ব্যবহার করে ম্যানিফেস্ট বিকল্পগুলিকে ওভাররাইড করতে পারেন, যা সর্বনিম্ন বিটরেট থেকে সর্বোচ্চ পর্যন্ত সাজানো রেন্ডিশন সহ দুটি স্ট্রিম ম্যানিফেস্টের অনুরোধ করে।
...
// The following session options are examples. Use session options
// that are compatible with your video stream.
streamRequest.videoStitcherSessionOptions = {
"manifestOptions": {
"bitrateOrder": "ascending"
}
};
streamManager.requestStream(streamRequest);
পরিষ্কার করা
এখন যেহেতু আপনি Google Cloud Video Stitcher API ব্যবহার করে সফলভাবে একটি VOD স্ট্রিম হোস্ট করেছেন এবং HTML5 এর জন্য IMA DAI SDK ব্যবহার করে এটির অনুরোধ করেছেন, তাই যেকোনো পরিবেশনকারী সংস্থান পরিষ্কার করা গুরুত্বপূর্ণ।
অপ্রয়োজনীয় সম্পদ এবং সম্পদ অপসারণের জন্য VOD পরিষ্কারের নির্দেশিকা অনুসরণ করুন।
অবশেষে, যে টার্মিনাল উইন্ডো থেকে আপনি Python 3 ওয়েব সার্ভার শুরু করেছেন, সেখানে স্থানীয় সার্ভারটি শেষ করতে ctrl+C কমান্ডটি ব্যবহার করুন।