প্রকল্প সম্পর্কে

ReactPlayer হলো রিয়্যাক্ট কম্পোনেন্ট যা একক ইন্টারফেস ব্যবহার করে বিভিন্ন উৎস থেকে মিডিয়া প্লেব্যাক এমবেড করার জন্য তৈরি। এটি একটি মিডিয়া URL গ্রহণ করে এবং স্বয়ংক্রিয়ভাবে প্রয়োজনীয় মার্কআপ বা বহিঃস্থ SDK লোড করে প্লেব্যাক পরিচালনা করে। সমর্থিত উৎসগুলোর মধ্যে রয়েছে স্ট্যান্ডার্ড HTML5 ভিডিও ও অডিও ফাইল পথ, hls.js এর মাধ্যমে HLS স্ট্রিম, dash.js এর মাধ্যমে DASH স্ট্রিম, mux-player এলিমেন্টের মাধ্যমে Mux ভিডিও, ইউটিউব iFrame প্লেয়ার API এর মাধ্যমে ইউটিউব, Vimeo Player API এর মাধ্যমে ভিমিও, এবং Wistia Player API এর মাধ্যমে উিস্তিয়া। এই কম্পোনেন্টটি src, playing, loop, controls, volume, muted, playbackRate, width, height, preload, playsInline, crossOrigin, disableRemotePlayback এবং প্রয়োজনে picture-in-picture সাপোর্ট সহ প্লেব্যাক নিয়ন্ত্রণের জন্য সমৃদ্ধ props প্রদান করে। এতে onReady, onStart, onPlay, onPlaying, onProgress, onTimeUpdate, onDurationChange, onPause, onWaiting, onSeeking, onSeeked, onRateChange, onEnded, onError এবং picture-in-picture ইন্টার/লিভ ইভেন্ট সহ সাধারণ প্লেয়ার ইভেন্টের জন্য কলব্যাক propsও রয়েছে। YouTube, Vimeo এবং HLS এর জন্য config prop ব্যবহার করে সোর্স-নির্দিষ্ট সেটিংস কনফিগার করা যায়। ReactPlayer এ canPlay এর মতো স্ট্যাটিক হেল্পার রয়েছে যা URL সম্ভবত প্লেযোগ্য কিনা তা পরীক্ষা করে, এবং addCustomPlayer ও removeCustomPlayers ফাংশন ব্যবহার করে কাস্টম প্লেয়ার ইমপ্লিমেন্টেশন রেজিস্টার করা যায়। ref এর মাধ্যমে এক্সেস করা ইনস্ট্যান্স মেথডগুলো HTMLMediaElement ইন্টারফেসের সাথে সামঞ্জস্যপূর্ণ। পারফরম্যান্সের জন্য, ডাইনামিক ইম্পোর্ট সমর্থনকারী বিল্ড সিস্টেমের ক্ষেত্রে প্লেয়ার চাঙ্ক লেজি লোডিং সমর্থন করে, ফলে শুধুমাত্র প্রয়োজনীয় প্লেয়ার লোড হয়ে মেইন বান্ডেল সাইজ কমে যায়। অতিরিক্ত বৈশিষ্ট্যগুলোর মধ্যে রয়েছে লাইট মোড—যা প্রথমে থাম্বনেইল দেখায় এবং ব্যবহারকারীর ইন্টার্যাকশনের পর পূর্ণ প্লেয়ার লোড করে, কাস্টম থাম্বনেইল সাপোর্ট, width, height এবং aspect-ratio স্টাইলের মাধ্যমে রেসপন্সিভ সাইজিং, এবং Media Chrome এর মতো কাস্টম কন্ট্রোল UI এর সাথে সামঞ্জস্য। সংস্করণ ৩ থেকে ReactPlayer স্থানীয় HTML ভিডিও ও অডিও এলিমেন্টের মতো একাধিক সোর্স ও ট্র্যাক চাইল্ড সমর্থন করে, যা বিকল্প ফরম্যাট এবং সাবটাইটেল ট্র্যাক সক্ষম করে। README অনুযায়ী, সংস্করণ ৩ একটি বড় আর্কিটেকচারাল আপডেট এবং এটি সংস্করণ ২ এর সাথে ব্যাকওয়ার্ড কম্প্যাটিবিলিটি নেই। সংরক্ষণ এখন Mux পরিচালনা করে, তবু এটি ওপেন সোর্স হিসেবেই থাকবে।