कैमरा रिकॉर्डर

अपने वेबकैम और माइक्रोफ़ोन से सीधे ब्राउज़र में वीडियो रिकॉर्ड करें और फिर फाइल डाउनलोड करें -- कोई अपलोड नहीं, कोई सर्वर नहीं।

अपने वेबकैम और माइक्रोफ़ोन से सीधे ब्राउज़र में वीडियो रिकॉर्ड करें और फिर फाइल डाउनलोड करें -- कोई अपलोड नहीं, कोई सर्वर नहीं। अपने वेबकैम और माइक्रोफ़ोन से सीधे ब्राउज़र में वीडियो रिकॉर्ड करें और फिर फाइल डाउनलोड करें -- कोई अपलोड नहीं, कोई सर्वर नहीं।

00:00

पृष्ठभूमि

ब्राउज़र रिकॉर्डिंग कैसे काम करती है

ब्राउज़र में रिकॉर्डिंग एक तीन-चरणीय पाइपलाइन है। सबसे पहले, getUserMedia() कैमरा और माइक्रोफ़ोन से एक MediaStream को कैप्चर करता है, आपकी अनुमति के बाद -- ब्राउज़र हमेशा पूछते हैं, और उन्हें एक सुरक्षित संदर्भ (HTTPS या localhost) की आवश्यकता होती है। दूसरा, एक MediaRecorder उस स्ट्रीम को उपभोग करता है और आने वाले फ्रेम्स को WebM जैसे कंटेनर प्रारूप में एन्कोड करता है, जाते-जाते डेटा को टुकड़ों (chunks) में काटता है। तीसरा, जब आप बंद करते हैं, तो टुकड़े एकल Blob में इकट्ठा हो जाते हैं जिसे चलाया और डाउनलोड किया जा सकता है। कुछ भी प्रेषित नहीं होता: एन्कोडिंग आपके डिवाइस पर होती है, यही वजह है कि ब्राउज़र रिकॉर्डर नेटवर्क बंद होने पर भी एक फाइल बना सकता है।

कंटेनर और कोडेक

कंटेनर और कोडेक आपके ब्राउज़र और प्लेटफ़ॉर्म पर निर्भर करते हैं। VP8 या VP9 वीडियो और Opus ऑडियो के साथ WebM सबसे सुरक्षित विकल्प है और Chrome, Firefox, Edge, और Safari में काम करता है। MP4 तब दिया जाता है जब ब्राउज़र इसके समर्थन की रिपोर्ट करता है, जो नए डिवाइस पर बढ़ता ही है लेकिन सार्वभौमिक नहीं। यदि आप कोई ऐसा प्रारूप चुनते हैं जिसे ब्राउज़र एन्कोड नहीं कर सकता, तो यह पृष्ठ स्वचालित रूप से WebM पर वापस आ जाता है। जब रिकॉर्डिंग समाप्त होती है, तो डाउनलोड बटन सही एक्सटेंशन (.webm या .mp4) के साथ दिखाई देता है जो वास्तव में उत्पन्न हुआ था।

गोपनीयता और अनुमतियाँ

स्ट्रीम शुरू होने से पहले, ब्राउज़र एक अनुमति संकेत दिखाता है जिससे आप चुन सकते हैं कि कौन सा कैमरा और माइक्रोफ़ोन साझा करना है -- इस पृष्ठ पर डिवाइस ड्रॉपडाउन enumerateDevices() से भरे जाते हैं, और आप डिवाइस बदल सकते हैं और स्ट्रीम फिर से खोल सकते हैं। सारी प्रक्रिया स्थानीय है: वीडियो बाइट्स आपकी मशीन कभी नहीं छोड़ते, और पृष्ठ स्वयं कुछ भी संग्रहीत नहीं करता। जब आप रिकॉर्डिंग बंद करते हैं, तो कैमरा संकेतक लाइट बंद हो जाती है और स्ट्रीम के ट्रैक रिलीज़ हो जाते हैं, इसलिए खत्म करने के बाद कोई संसाधन नहीं रुका रहता। कुछ सिस्टम पर कैमरा लाइट तब तक रहती है जब तक पृष्ठ कोई भी स्ट्रीम रखता है, चाहे म्यूट ही क्यों न हो।

व्यावहारिक नोट्स

पूर्वावलोकन सही ढंग से दर्पण (mirror) होता है (म्यूट प्लेबैक इको से बचाता है), और टाइमर रिकॉर्डिंग के दौरान बीते समय को ट्रैक करता है। लंबी रिकॉर्डिंग के लिए, ध्यान दें कि इन-मेमोरी टुकड़े अवधि के साथ बढ़ते हैं, इसलिए बहुत लंबे सत्र अधिक मेमोरी उपयोग करते हैं। यदि आपको कैमरे के बजाय स्क्रीन रिकॉर्ड करनी है, तो उसे एक अलग API (getDisplayMedia) की ज़रूरत है और यह यहाँ दायरे से बाहर है। यदि अनुमति संकेत एक बार अस्वीकृत हो गया, तो ब्राउज़र आमतौर पर साइट सेटिंग्स साफ़ करने तक विकल्प लॉक कर देते हैं।

ब्राउज़र के मूल getUserMedia और MediaRecorder APIs पर घरेलू रूप से निर्मित। रिकॉर्डिंग स्थानीय रूप से होती है; कुछ अपलोड नहीं होता।

अक्सर पूछे जाने वाले प्रश्न

पृष्ठ कैमरा/माइक्रोफ़ोन अनुमति क्यों माँगता है?
getUserMedia() गोपनीयता के लिए हमेशा स्पष्ट उपयोगकर्ता सहमति की आवश्यकता होती है। ब्राउज़र एक संकेत दिखाता है जिसमें बिल्कुल बताया जाता है कि कौन से डिवाइस साझा किए जाएँगे; आप इसे एक बार दे सकते हैं और स्ट्रीम तुरंत शुरू हो जाती है।
मेरी रिकॉर्डिंग .webm के रूप में क्यों सहेजी जाती है?
WebM (VP8/VP9 + Opus) वह कंटेनर है जिसे हर प्रमुख ब्राउज़र स्वाभाविक रूप से एन्कोड कर सकता है। MP4 केवल तब दिया जाता है जहाँ ब्राउज़र समर्थन की रिपोर्ट करता है; अन्यथा पृष्ठ स्वचालित रूप से WebM पर वापस आता है।
क्या मेरा वीडियो सर्वर पर अपलोड किया जाता है?
नहीं। एन्कोडिंग स्थानीय रूप से MediaRecorder के माध्यम से होती है और परिणाम आपके ब्राउज़र की मेमोरी में एक Blob है। कुछ भी प्रेषित नहीं होता और पृष्ठ कुछ भी संग्रहीत नहीं करता; आप नेटवर्क बंद होने पर भी रिकॉर्ड कर सकते हैं।
कैमरा लाइट चालू क्यों रहती है?
लाइट दर्शाती है कि पृष्ठ के पास एक लाइव कैमरा स्ट्रीम है। यह तब बंद होती है जब आप रिकॉर्डिंग बंद करते हैं और ट्रैक रिलीज़ होते हैं। कुछ सिस्टम तब तक लाइट रखते हैं जब तक कोई भी स्ट्रीम सक्रिय है, चाहे म्यूट या रिकॉर्ड न हो।
क्या मैं सत्र के बीच में डिवाइस बदल सकता हूँ?
हाँ। ड्रॉपडाउन में एक अलग कैमरा या माइक्रोफ़ोन चुनें और एक नई रिकॉर्डिंग शुरू करें; पृष्ठ अगली शुरुआत पर नए डिवाइस चयन के साथ स्ट्रीम को फिर से वार्ता (re-negotiate) करता है।
रिकॉर्डर के काम करने के लिए मुझे क्या चाहिए?
getUserMedia और MediaRecorder (सभी आधुनिक ब्राउज़र) का समर्थन करने वाला ब्राउज़र, एक कैमरा और माइक्रोफ़ोन, और एक सुरक्षित संदर्भ: HTTPS या localhost। यदि समर्थन अनुपस्थित है, तो पृष्ठ नियंत्रणों के बजाय एक सूचना दिखाता है।