LiveStreams

একটি 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
ভিডিও স্ট্রিম প্রেরণ করার জন্য ব্যবহৃত পদ্ধতি বা প্রোটোকল।

এই সম্পত্তির জন্য বৈধ মান হল:
  • dash
  • hls
  • rtmp (আরটিএমপিএস অন্তর্ভুক্ত)
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
অন্তর্মুখী ভিডিও ডেটার রেজোলিউশন।

এই সম্পত্তির জন্য বৈধ মান হল:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable : YouTube স্বয়ংক্রিয়ভাবে আপনার স্ট্রিম করা ভিডিওর রেজোলিউশন সনাক্ত করবে তা নির্দেশ করতে এই সেটিংটি ব্যবহার করুন৷ এছাড়াও আপনাকে অবশ্যই variable cdn.frameRate সেট করতে হবে।
    প্রস্তাবিত এনকোডার সেটিংসের জন্য YouTube সহায়তা কেন্দ্র দেখুন।
cdn. frameRate string
ইনবাউন্ড ভিডিও ডেটার ফ্রেম রেট৷

এই সম্পত্তির জন্য বৈধ মান হল:
  • 30fps
  • 60fps
  • variable : YouTube স্বয়ংক্রিয়ভাবে আপনার স্ট্রিম করা ভিডিওর ফ্রেম রেট সনাক্ত করবে তা নির্দেশ করতে এই সেটিংটি ব্যবহার করুন৷ আপনাকে অবশ্যই cdn.resolution variable সেট করতে হবে।
    প্রস্তাবিত এনকোডার সেটিংসের জন্য YouTube সহায়তা কেন্দ্র দেখুন।
status object
status অবজেক্টে লাইভ স্ট্রিমের স্ট্যাটাস সম্পর্কে তথ্য থাকে।
status. streamStatus string
প্রবাহের অবস্থা।

এই সম্পত্তির জন্য বৈধ মান হল:
  • active - স্ট্রিমটি সক্রিয় অবস্থায় রয়েছে যার অর্থ ব্যবহারকারী স্ট্রিমের মাধ্যমে ডেটা গ্রহণ করছে।
  • created - স্ট্রীম তৈরি করা হয়েছে কিন্তু বৈধ CDN সেটিংস নেই।
  • error - স্ট্রীমে একটি ত্রুটি শর্ত বিদ্যমান।
  • inactive - স্ট্রিমটি নিষ্ক্রিয় অবস্থায় রয়েছে যার অর্থ ব্যবহারকারী স্ট্রিমের মাধ্যমে ডেটা গ্রহণ করছেন না।
  • ready - স্ট্রীমের বৈধ CDN সেটিংস রয়েছে৷
status. healthStatus object
এই অবজেক্টে লাইভ স্ট্রিমের স্বাস্থ্যের অবস্থা সম্পর্কে তথ্য রয়েছে, যা স্ট্রিমিং সমস্যা চিহ্নিত করতে, নির্ণয় করতে এবং সমাধান করতে ব্যবহার করা যেতে পারে।
status.healthStatus. status string
এই স্ট্রিমের স্ট্যাটাস কোড।

এই সম্পত্তির জন্য বৈধ মান হল:
  • good - কোন কনফিগারেশন সমস্যা নেই যার জন্য তীব্রতা warning বা খারাপ।
  • ok - কোন কনফিগারেশন সমস্যা নেই যার জন্য তীব্রতা error
  • bad - স্ট্রিমটিতে কিছু সমস্যা রয়েছে যার জন্য তীব্রতা error
  • noData - YouTube এর লাইভ স্ট্রিমিং ব্যাকএন্ড সার্ভারগুলিতে স্ট্রিমের স্বাস্থ্যের অবস্থা সম্পর্কে কোনো তথ্য নেই৷
status.healthStatus. lastUpdateTimeSeconds unsigned long
শেষবার স্ট্রীমের স্বাস্থ্যের অবস্থা আপডেট করা হয়েছিল। মানটি সেকেন্ডে একটি UNIX টাইমস্ট্যাম্প প্রতিফলিত করে।
status.healthStatus. configurationIssues[] list
এই অবজেক্টে স্ট্রীমকে প্রভাবিত করে এমন কনফিগারেশন সমস্যাগুলির একটি তালিকা রয়েছে৷
status.healthStatus.configurationIssues[]. type string
স্ট্রীমকে প্রভাবিত করে এমন ত্রুটির ধরন সনাক্ত করে।
status.healthStatus.configurationIssues[]. severity string
স্ট্রীমের জন্য সমস্যাটি কতটা গুরুতর তা নির্দেশ করে।

এই সম্পত্তির জন্য বৈধ মান হল:
  • info - ভিডিওটি দর্শকদের কাছে সম্প্রচার করা হয় যাতে পারফরম্যান্সের উপর কোন বিরূপ প্রভাব পড়ে না।
  • warning - ভিডিওটি দর্শকদের কাছে সম্প্রচারিত হয়, কিন্তু কর্মক্ষমতা সর্বোত্তম নয়।
  • error - ভিডিওটি দর্শকদের কাছে সম্প্রচার করা যাবে না।
status.healthStatus.configurationIssues[]. reason string
সমস্যা একটি সংক্ষিপ্ত বিবরণ. লাইভস্ট্রিম রিসোর্সেস ডকুমেন্টের কনফিগারেশন ইস্যু প্রতিটি কনফিগারেশন ইস্যু প্রকারের সাথে যুক্ত কারণ চিহ্নিত করে।
status.healthStatus.configurationIssues[]. description string
সমস্যাটির বিস্তারিত বর্ণনা। যখন সম্ভব, বর্ণনাটি কীভাবে সমস্যার সমাধান করতে হয় সে সম্পর্কে তথ্য প্রদান করে। লাইভস্ট্রিম রিসোর্সেস ডকুমেন্টের জন্য কনফিগারেশন সমস্যাগুলি সমস্ত কনফিগারেশন সমস্যার ধরন এবং তাদের সম্পর্কিত বিবরণ তালিকাভুক্ত করে।
contentDetails object
content_details অবজেক্টে বন্ধ ক্যাপশন ইনজেশন URL সহ স্ট্রীম সম্পর্কে তথ্য রয়েছে।
contentDetails. closedCaptionsIngestionUrl string
ইনজেশন URL যেখানে এই স্ট্রীমের বন্ধ ক্যাপশন পাঠানো হয়।
contentDetails. isReusable boolean
স্ট্রিমটি পুনরায় ব্যবহারযোগ্য কিনা তা নির্দেশ করে, যার মানে এটি একাধিক সম্প্রচারে আবদ্ধ হতে পারে। সম্প্রচারকারীদের পক্ষে একই স্ট্রীমকে বিভিন্ন সম্প্রচারের জন্য পুনরায় ব্যবহার করা সাধারণ যদি সেই সম্প্রচারগুলি বিভিন্ন সময়ে ঘটে।

আপনি যদি এই মানটিকে false তে সেট করেন, তাহলে স্ট্রীমটি পুনরায় ব্যবহারযোগ্য হবে না, যার মানে এটি শুধুমাত্র একটি সম্প্রচারে আবদ্ধ হতে পারে। অ-পুনঃব্যবহারযোগ্য স্ট্রীমগুলি নিম্নলিখিত উপায়ে পুনঃব্যবহারযোগ্য স্ট্রীম থেকে পৃথক:
  • একটি অ-পুনঃব্যবহারযোগ্য স্ট্রীম শুধুমাত্র একটি সম্প্রচারে আবদ্ধ হতে পারে।
  • সম্প্রচার শেষ হওয়ার পরে একটি অ-পুনঃব্যবহারযোগ্য স্ট্রিম একটি স্বয়ংক্রিয় প্রক্রিয়া দ্বারা মুছে ফেলা হতে পারে।
  • liveStreams.list পদ্ধতি অ-পুনঃব্যবহারযোগ্য স্ট্রীম তালিকাভুক্ত করে না যদি আপনি পদ্ধতিটিকে কল করেন এবং mine প্যারামিটারটিকে true সেট করেন। একটি অ-পুনঃব্যবহারযোগ্য স্ট্রীমের জন্য রিসোর্স পুনরুদ্ধার করার জন্য সেই পদ্ধতিটি ব্যবহার করার একমাত্র উপায় হল স্ট্রিমটি সনাক্ত করতে id প্যারামিটার ব্যবহার করা।