
The hardest engineering challenge of VLC - VLC lead developer explains | Lex Fridman Podcast
Audio Summary
AI Summary
VLC सैंडबॉक्सिंग एक चुनौतीपूर्ण कार्य है क्योंकि यह लगभग 500 प्लगइन्स, विभिन्न प्रारूपों, प्रोटोकॉल और आर्किटेक्चर का समर्थन करता है। इसमें FFmpeg और हार्डवेयर डिकोडर जैसे ड्राइवर शामिल हैं, जो सुरक्षा जोखिम पैदा कर सकते हैं। VLC को अन्य प्रोग्रामों की तरह ही चलाया जाता है, जिससे इसे उपयोगकर्ता के दस्तावेज़ों तक पहुँच मिलती है। सैंडबॉक्सिंग का लक्ष्य खुद को सुरक्षा उल्लंघनों से बचाना है, खासकर जब VLC के भीतर तीसरा-पक्ष कोड या GPU ड्राइवर चलते हैं।
एक प्रोग्राम क्रैश होने पर हैकिंग का खतरा होता है, जिससे रैंसमवेयर या बॉटनेट जैसे दुर्भावनापूर्ण सॉफ़्टवेयर लॉन्च हो सकते हैं। मोबाइल पर सैंडबॉक्सिंग आसान है, लेकिन VLC को कई अनुमतियों की आवश्यकता होती है, जिससे एक ही सैंडबॉक्स में चलाना मुश्किल हो जाता है। समाधान VLC को कई प्रक्रियाओं (डिकोडिंग, डीमक्सिंग, फिल्टर) में विभाजित करना है, जिनमें से प्रत्येक अपने स्वयं के सैंडबॉक्स में चलती है। इससे एक भाग के क्रैश होने पर भी पूरा प्रोग्राम क्रैश नहीं होता। यह चुनौतीपूर्ण है क्योंकि सैंडबॉक्स को गीगाबिट प्रति सेकंड डेटा को संभालना होता है।
VLC में कई ऐसी सुविधाएँ हैं जो कुछ लोगों के लिए उपयोगी हैं, जैसे पहेली फ़िल्टर। यह फ़िल्टर छात्रों को बेज़ियर कर्व्स सिखाने के लिए बनाया गया था, लेकिन बाद में इसे VLC में शामिल कर लिया गया। इसी तरह, कमांड लाइन पर VLC चलाने और ASCII कला में वीडियो देखने की सुविधा मल्टीकास्ट नेटवर्क को डीबग करने जैसे विशिष्ट उपयोगों के लिए बहुत उपयोगी है। जब लाखों लोग VLC का उपयोग करते हैं, तो हर सुविधा का उपयोग होता है, चाहे वह कितनी भी अनोखी क्यों न हो।