একটি liveStream
রিসোর্সে ভিডিও স্ট্রীম সম্পর্কে তথ্য রয়েছে যা আপনি YouTube-এ প্রেরণ করছেন। স্ট্রিমটি এমন সামগ্রী সরবরাহ করে যা YouTube ব্যবহারকারীদের কাছে সম্প্রচার করা হবে। একবার তৈরি হয়ে গেলে, একটি liveStream
সংস্থান এক বা একাধিক liveBroadcast
সংস্থানের সাথে আবদ্ধ হতে পারে।
পদ্ধতি
API liveStreams
সম্পদগুলির জন্য নিম্নলিখিত পদ্ধতিগুলিকে সমর্থন করে:
- list
- API অনুরোধ পরামিতিগুলির সাথে মেলে এমন ভিডিও স্ট্রিমগুলির একটি তালিকা প্রদান করে৷ এখনই চেষ্টা করে দেখুন ।
- insert
- একটি ভিডিও স্ট্রিম তৈরি করে। স্ট্রীমটি আপনাকে YouTube-এ আপনার ভিডিও পাঠাতে সক্ষম করে, যা আপনার দর্শকদের কাছে ভিডিওটি সম্প্রচার করতে পারে। এখনই চেষ্টা করে দেখুন ।
- update
- একটি ভিডিও স্ট্রিম আপডেট করে। আপনি যে বৈশিষ্ট্যগুলি পরিবর্তন করতে চান তা যদি আপডেট করা না যায় তবে আপনাকে সঠিক সেটিংস সহ একটি নতুন স্ট্রিম তৈরি করতে হবে। এখনই চেষ্টা করে দেখুন ।
- delete
- একটি ভিডিও স্ট্রিম মুছে দেয়। এখনই চেষ্টা করে দেখুন ।
সম্পদ প্রতিনিধিত্ব
নিম্নলিখিত JSON গঠন একটি liveStreams
সম্পদের বিন্যাস দেখায়:
{ "kind": "youtube#liveStream", "etag": etag, "id": string, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "isDefaultStream": boolean }, "cdn": { "ingestionType": string, "ingestionInfo": { "streamName": string, "ingestionAddress": string, "backupIngestionAddress": string }, "resolution": string, "frameRate": string }, "status": { "streamStatus": string, "healthStatus": { "status": string, "lastUpdateTimeSeconds": unsigned long, "configurationIssues": [ { "type": string, "severity": string, "reason": string, "description": string } ] } }, "contentDetails": { "closedCaptionsIngestionUrl": string, "isReusable": boolean } }
বৈশিষ্ট্য
নিম্নলিখিত সারণী এই সম্পদে প্রদর্শিত বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে:
বৈশিষ্ট্য | |
---|---|
kind | string API সম্পদের ধরন সনাক্ত করে। মান হবে youtube#liveStream . |
etag | etag এই সম্পদের Etag. |
id | string স্ট্রীমটিকে অনন্যভাবে শনাক্ত করার জন্য YouTube যে আইডি বরাদ্দ করে। |
snippet | object snippet অবজেক্টে চ্যানেল, শিরোনাম এবং বিবরণ সহ স্ট্রীম সম্পর্কে প্রাথমিক বিবরণ রয়েছে। |
snippet. publishedAt | datetime তারিখ এবং সময় যে স্ট্রীম তৈরি করা হয়েছিল৷ মানটি ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) ফর্ম্যাটে নির্দিষ্ট করা হয়েছে৷ |
snippet. channelId | string ইউটিউব যে আইডিটি ব্যবহার করে সেই চ্যানেলটিকে স্বতন্ত্রভাবে শনাক্ত করতে যেটি স্ট্রিমটি ট্রান্সমিট করছে। |
snippet. title | string প্রবাহের শিরোনাম। মানটি 1 থেকে 128 অক্ষরের মধ্যে হওয়া আবশ্যক৷ |
snippet. description | string প্রবাহের বর্ণনা। মান 10000 অক্ষরের বেশি হতে পারে না। |
snippet. isDefaultStream | boolean এই প্রপার্টিটি 1 সেপ্টেম্বর, 2020 তারিখে বা তার পরে বাতিল করা হবে। সেই সময়ে, YouTube একটি ডিফল্ট স্ট্রিম তৈরি করা বন্ধ করে দেবে এবং একটি চ্যানেল লাইভ স্ট্রিমিংয়ের জন্য সক্ষম হলে ডিফল্ট সম্প্রচার বন্ধ করবে। আরও বিশদ বিবরণের জন্য অনুগ্রহ করে অবমূল্যায়ন ঘোষণাটি দেখুন। এই বৈশিষ্ট্যটি নির্দেশ করে যে এই স্ট্রিমটি চ্যানেলের জন্য ডিফল্ট স্ট্রিম কিনা।ডিফল্ট স্ট্রীম কিভাবে কাজ করে যখন একটি YouTube চ্যানেল লাইভ স্ট্রিমিংয়ের জন্য সক্ষম করা হয়, তখন YouTube একটি ডিফল্ট স্ট্রিম এবং চ্যানেলের জন্য একটি ডিফল্ট সম্প্রচার তৈরি করে৷ চ্যানেলের মালিক কীভাবে YouTube-এ লাইভ ভিডিও পাঠান তা স্ট্রিমটি সংজ্ঞায়িত করে এবং দর্শকরা কীভাবে ডিফল্ট স্ট্রিম দেখতে পারে তা সম্প্রচার করে। এই সংস্থানগুলি সনাক্ত করতে একটি চ্যানেলের মালিক liveStreams.list এবং liveBroadcasts.list পদ্ধতি ব্যবহার করতে পারেন৷একটি চ্যানেলের ডিফল্ট স্ট্রীম অনির্দিষ্টকালের জন্য বিদ্যমান, এটির সাথে সম্পর্কিত একটি শুরু বা শেষ সময় নেই, এবং মুছে ফেলা যাবে না। চ্যানেলের মালিককে শুধুমাত্র ভিডিও বিট পাঠানো শুরু করতে হবে এবং স্ট্রীম স্বয়ংক্রিয়ভাবে চলতে থাকে। একটি স্ট্রীম শেষ হলে, YouTube সম্পূর্ণ সম্প্রচারকে একটি YouTube ভিডিওতে রূপান্তর করে এবং ভিডিওটিকে একটি YouTube ভিডিও আইডি বরাদ্দ করে৷ রূপান্তর সম্পূর্ণ হওয়ার পরে, ভিডিওটি চ্যানেলের আপলোড করা ভিডিওগুলির তালিকায় অন্তর্ভুক্ত করা হয়। সম্প্রচার শেষ হওয়ার পরপরই ভিডিওটি পাওয়া যায় না এবং বিলম্বের দৈর্ঘ্য সম্প্রচারের প্রকৃত দৈর্ঘ্যের সাথে সম্পর্কিত। |
cdn | object cdn অবজেক্ট লাইভ স্ট্রিম এর কন্টেন্ট ডেলিভারি নেটওয়ার্ক (CDN) সেটিংস সংজ্ঞায়িত করে। এই সেটিংস আপনি YouTube-এ আপনার সামগ্রী স্ট্রিম করার পদ্ধতি সম্পর্কে বিশদ প্রদান করে৷ |
cdn. format | string এই সম্পত্তিটি 18 এপ্রিল, 2016 থেকে অবমূল্যায়িত করা হয়েছে এবং 17 আগস্ট, 2020 থেকে আর সমর্থিত হবে না৷ সেই তারিখ থেকে এখনও এই সম্পত্তি ব্যবহার করার অনুরোধগুলি ব্যর্থ হবে৷ পরিবর্তে, ফ্রেম রেট এবং রেজোলিউশন আলাদাভাবে নির্দিষ্ট করতে cdn.frameRate এবং cdn.resolution বৈশিষ্ট্যগুলি ব্যবহার করুন। |
cdn. ingestionType | string ভিডিও স্ট্রিম প্রেরণ করার জন্য ব্যবহৃত পদ্ধতি বা প্রোটোকল। এই সম্পত্তির জন্য বৈধ মান হল:
|
cdn. ingestionInfo | object ingestionInfo অবজেক্টে এমন তথ্য রয়েছে যা YouTube প্রদান করে যা আপনাকে YouTube-এ আপনার স্ট্রিম প্রেরণ করতে হবে। |
cdn.ingestionInfo. streamName | string স্ট্রীমের নাম যেটি YouTube ভিডিও স্ট্রীমে বরাদ্দ করে। |
cdn.ingestionInfo. ingestionAddress | string আপনি যদি RTMP, DASH, বা HLS ব্যবহার করেন তাহলে YouTube-এ ভিডিও স্ট্রিম করতে আপনার যে প্রাথমিক ইনজেশন URL ব্যবহার করা উচিত। আপনাকে অবশ্যই এই URL-এ ভিডিও স্ট্রিম করতে হবে৷ আপনার ভিডিও স্ট্রীম এনকোড করার জন্য আপনি কোন অ্যাপ্লিকেশন বা টুল ব্যবহার করেন তার উপর নির্ভর করে, আপনাকে আলাদাভাবে স্ট্রিম URL এবং স্ট্রিমের নাম লিখতে হতে পারে বা আপনাকে সেগুলিকে নিম্নলিখিত বিন্যাসে সংযুক্ত করতে হতে পারে: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo. backupIngestionAddress | string আপনি যদি RTMP, DASH, বা HLS ব্যবহার করেন তাহলে YouTube-এ ভিডিও স্ট্রিম করতে আপনার ব্যাকআপ ইনজেশন URL যেটি ব্যবহার করা উচিত৷ আপনি এই URL-এ ingestionAddress এ যে সামগ্রী পাঠাচ্ছেন তা একই সাথে স্ট্রিম করার বিকল্প আপনার কাছে রয়েছে৷ |
cdn.ingestionInfo. rtmpsIngestionAddress | string আপনি যদি RTMPS ব্যবহার করেন তাহলে YouTube-এ ভিডিও স্ট্রিম করতে আপনার যে প্রাথমিক ইনজেশন ইউআরএল ব্যবহার করা উচিত। আপনাকে অবশ্যই এই URL-এ ভিডিও স্ট্রিম করতে হবে৷ আপনার ভিডিও স্ট্রীম এনকোড করার জন্য আপনি কোন অ্যাপ্লিকেশন বা টুল ব্যবহার করেন তার উপর নির্ভর করে, আপনাকে আলাদাভাবে স্ট্রিম URL এবং স্ট্রিমের নাম লিখতে হতে পারে বা আপনাকে সেগুলিকে নিম্নলিখিত বিন্যাসে সংযুক্ত করতে হতে পারে: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo. rtmpsBackupIngestionAddress | string আপনি যদি RTMPS ব্যবহার করেন তাহলে YouTube-এ ভিডিও স্ট্রিম করার জন্য ব্যাকআপ ইনজেশন URL যেটি ব্যবহার করা উচিত। |
cdn. resolution | string অন্তর্মুখী ভিডিও ডেটার রেজোলিউশন। এই সম্পত্তির জন্য বৈধ মান হল:
|
cdn. frameRate | string ইনবাউন্ড ভিডিও ডেটার ফ্রেম রেট৷ এই সম্পত্তির জন্য বৈধ মান হল:
|
status | object status অবজেক্টে লাইভ স্ট্রিমের স্ট্যাটাস সম্পর্কে তথ্য থাকে। |
status. streamStatus | string প্রবাহের অবস্থা। এই সম্পত্তির জন্য বৈধ মান হল:
|
status. healthStatus | object এই অবজেক্টে লাইভ স্ট্রিমের স্বাস্থ্যের অবস্থা সম্পর্কে তথ্য রয়েছে, যা স্ট্রিমিং সমস্যা চিহ্নিত করতে, নির্ণয় করতে এবং সমাধান করতে ব্যবহার করা যেতে পারে। |
status.healthStatus. status | string এই স্ট্রিমের স্ট্যাটাস কোড। এই সম্পত্তির জন্য বৈধ মান হল: |
status.healthStatus. lastUpdateTimeSeconds | unsigned long শেষবার স্ট্রীমের স্বাস্থ্যের অবস্থা আপডেট করা হয়েছিল। মানটি সেকেন্ডে একটি UNIX টাইমস্ট্যাম্প প্রতিফলিত করে। |
status.healthStatus. configurationIssues[] | list এই অবজেক্টে স্ট্রীমকে প্রভাবিত করে এমন কনফিগারেশন সমস্যাগুলির একটি তালিকা রয়েছে৷ |
status.healthStatus.configurationIssues[]. type | string স্ট্রীমকে প্রভাবিত করে এমন ত্রুটির ধরন সনাক্ত করে। |
status.healthStatus.configurationIssues[]. severity | string স্ট্রীমের জন্য সমস্যাটি কতটা গুরুতর তা নির্দেশ করে। এই সম্পত্তির জন্য বৈধ মান হল:
|
status.healthStatus.configurationIssues[]. reason | string সমস্যা একটি সংক্ষিপ্ত বিবরণ. লাইভস্ট্রিম রিসোর্সেস ডকুমেন্টের কনফিগারেশন ইস্যু প্রতিটি কনফিগারেশন ইস্যু প্রকারের সাথে যুক্ত কারণ চিহ্নিত করে। |
status.healthStatus.configurationIssues[]. description | string সমস্যাটির বিস্তারিত বর্ণনা। যখন সম্ভব, বর্ণনাটি কীভাবে সমস্যার সমাধান করতে হয় সে সম্পর্কে তথ্য প্রদান করে। লাইভস্ট্রিম রিসোর্সেস ডকুমেন্টের জন্য কনফিগারেশন সমস্যাগুলি সমস্ত কনফিগারেশন সমস্যার ধরন এবং তাদের সম্পর্কিত বিবরণ তালিকাভুক্ত করে। |
contentDetails | object content_details অবজেক্টে বন্ধ ক্যাপশন ইনজেশন URL সহ স্ট্রীম সম্পর্কে তথ্য রয়েছে। |
contentDetails. closedCaptionsIngestionUrl | string ইনজেশন URL যেখানে এই স্ট্রীমের বন্ধ ক্যাপশন পাঠানো হয়। |
contentDetails. isReusable | boolean স্ট্রিমটি পুনরায় ব্যবহারযোগ্য কিনা তা নির্দেশ করে, যার মানে এটি একাধিক সম্প্রচারে আবদ্ধ হতে পারে। সম্প্রচারকারীদের পক্ষে একই স্ট্রীমকে বিভিন্ন সম্প্রচারের জন্য পুনরায় ব্যবহার করা সাধারণ যদি সেই সম্প্রচারগুলি বিভিন্ন সময়ে ঘটে। আপনি যদি এই মানটিকে false তে সেট করেন, তাহলে স্ট্রীমটি পুনরায় ব্যবহারযোগ্য হবে না, যার মানে এটি শুধুমাত্র একটি সম্প্রচারে আবদ্ধ হতে পারে। অ-পুনঃব্যবহারযোগ্য স্ট্রীমগুলি নিম্নলিখিত উপায়ে পুনঃব্যবহারযোগ্য স্ট্রীম থেকে পৃথক:
|