- वेब डेवलपर, वीडियो के लिए पिक्चर में पिक्चर मोड को कंट्रोल कर सकते हैं.
- AV1 डिकोडर अब Chrome Desktop x86-64 में काम करता है.
- MSE में, क्रॉस-कोडेक और क्रॉस-बाइटस्ट्रीम बफ़रिंग और प्लेबैक की सुविधा उपलब्ध है.
- Chrome अब MSE के साथ MP4 में Opus के साथ काम करता है.
- Android पर, सुरक्षित कॉन्टेंट चलाने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
पिक्चर में पिक्चर की सुविधा का इस्तेमाल करके वीडियो देखना
पिक्चर में पिक्चर (पीआईपी) की सुविधा की मदद से, लोग फ़्लोटिंग विंडो में वीडियो देख सकते हैं. यह विंडो हमेशा दूसरी विंडो के ऊपर दिखती है. इससे लोग, दूसरी साइटों या ऐप्लिकेशन से इंटरैक्ट करते समय भी वीडियो देख पाते हैं. नए Picture-in-Picture Web API की मदद से, अपनी वेबसाइट पर वीडियो के लिए Picture-in-Picture मोड शुरू और कंट्रोल किया जा सकता है.
इसके बारे में पूरी जानकारी पाने के लिए, हमारा लेख पढ़ें.
AV1 डिकोडर
AV1, अगली पीढ़ी का कोडेक है. इसे Alliance for Open Media ने बनाया है. AV1, मौजूदा state-of-the-art वीडियो कोडेक VP9 के मुकाबले, कंप्रेस करने पर क्वालिटी को 30%से ज़्यादा बेहतर बनाता है. Chrome 70 में, Chrome Desktop x86-64 के लिए AV1 डिकोडर जोड़ा गया है. यह आधिकारिक बिटस्ट्रीम स्पेसिफ़िकेशन पर आधारित है. फ़िलहाल, यह सुविधा सिर्फ़ “मुख्य” प्रोफ़ाइल 0 के लिए उपलब्ध है. इसमें एन्कोडिंग की सुविधाएं शामिल नहीं हैं. MP4 (ISO-BMFF) कंटेनर का इस्तेमाल किया जा सकता है. कंटेनर के बारे में ज़्यादा जानने के लिए, रॉ वीडियो से लेकर वेब के लिए तैयार वीडियो तक लेख पढ़ें.
AV1 को आज़माने के लिए:
- YouTube TestTube पेज पर जाएं.
- AV1 फ़ॉर्मैट में वीडियो स्ट्रीम करने के लिए, "SD वीडियो को AV1 फ़ॉर्मैट में ही स्ट्रीम करने की कोशिश करें" या "हमेशा AV1 फ़ॉर्मैट में वीडियो स्ट्रीम करें" चुनें. ध्यान दें कि ज़्यादा रिज़ॉल्यूशन पर, AV1 फ़ॉर्मैट वाले वीडियो को चलाने में कुछ डिवाइसों पर समस्याएं आ सकती हैं.
- AV1 Beta Launch Playlist में मौजूद YouTube क्लिप चलाकर देखें.
- "तकनीकी जानकारी" में जाकर, av01 कोडेक की पुष्टि करें.
MSE में कोडेक और कंटेनर स्विच करने की सुविधा
Chrome, SourceBuffer पर नई changeType() विधि का इस्तेमाल करके, मीडिया सोर्स एक्सटेंशन में बेहतर क्रॉस-कोडेक या क्रॉस-बाइटस्ट्रीम ट्रांज़िशन के लिए सहायता जोड़ रहा है. इसकी मदद से, SourceBuffer में जोड़े गए मीडिया बाइट के टाइप को बाद में बदला जा सकता है.
MSE के मौजूदा वर्शन में मीडिया को अडैप्टिव तरीके से चलाने की सुविधा उपलब्ध है. हालांकि, अडैप्टिव तरीके से चलाने के लिए यह ज़रूरी है कि SourceBuffer में जोड़े गए सभी मीडिया, MediaSource.addSourceBuffer(type) के ज़रिए SourceBuffer बनाते समय दिए गए MIME टाइप के मुताबिक हों. उस टाइप के कोडेक और पहले से पार्स किए गए सभी शुरुआती सेगमेंट एक जैसे होने चाहिए. इसका मतलब है कि वेबसाइट को कोडेक या बाइटस्ट्रीम स्विच करने के लिए, साफ़ तौर पर कुछ चरणों का पालन करना होगा. इसके लिए, कई मीडिया एलिमेंट या SourceBuffer ट्रैक का इस्तेमाल करना होगा और उनके बीच स्विच करना होगा. इससे ऐप्लिकेशन की जटिलता और उपयोगकर्ता को दिखने वाली लेटेन्सी बढ़ जाती है. (इस तरह के ट्रांज़िशन के लिए, वेब ऐप्लिकेशन को रेंडरर के मुख्य थ्रेड पर सिंक्रोनस कार्रवाई करनी होती है). ट्रांज़िशन में लगने वाले इस समय की वजह से, ट्रांज़िशन के दौरान मीडिया को आसानी से नहीं चलाया जा सकता.
changeType() के नए तरीके की मदद से, SourceBuffer अलग-अलग बाइटस्ट्रीम फ़ॉर्मैट और कोडेक में बफ़र कर सकता है और वीडियो चला सकता है. इस नए तरीके में, पहले से बफ़र किए गए मीडिया को बनाए रखा जाता है. हालांकि, आने वाले समय में एमएसई कोडिंग वाले फ़्रेम को हटाया जा सकता है. साथ ही, यह मौजूदा एमएसई कोडिंग वाले फ़्रेम को प्रोसेस करने के एल्गोरिदम में स्प्लाइसिंग और बफ़रिंग लॉजिक का इस्तेमाल करता है.
changeType() तरीके का इस्तेमाल करने का तरीका यहां बताया गया है:
const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);
// Later on...
if ('changeType' in sourceBuffer) {
// Change source buffer type and append new data.
sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
sourceBuffer.appendBuffer(someMp4AacAvcData);
}
अगर ब्राउज़र में पास किया गया टाइप काम नहीं करता है, तो यह तरीका NotSupportedError अपवाद दिखाता है.
ऑडियो एलिमेंट के क्रॉस-कोडेक और क्रॉस-बाइटस्ट्रीम बफ़रिंग और प्लेबैक के साथ काम करने के लिए, सैंपल देखें.
Intent to Ship | Chromestatus Tracker | Chromium Bug
MSE के लिए MP4 में Opus
ओपन सोर्स और कई तरह से इस्तेमाल किया जा सकने वाला ऑडियो कोडेक Opus, Chrome 33 से <audio> और <video> एलिमेंट के साथ काम करता है. आईएसओ-बीएमएफ़ में ओपस (इसे MP4 में ओपस भी कहा जाता है) के लिए सहायता बाद में जोड़ी गई थी. अब MP4 फ़ाइल में Opus को Chrome 70 में मीडिया सोर्स एक्सटेंशन के लिए उपलब्ध कराया गया है.
यहां बताया गया है कि MP4 में Opus को MSE के साथ इस्तेमाल किया जा सकता है या नहीं, इसका पता कैसे लगाया जा सकता है:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
अगर आपको पूरा उदाहरण देखना है, तो हमारा आधिकारिक सैंपल देखें.
MP4 फ़ाइल में Opus को सही तरीके से मक्स करने के लिए, फ़िलहाल कोई टूल उपलब्ध नहीं है. इसलिए, अगर आपको सटीक ट्रिमिंग और प्रीस्किप वैल्यू चाहिए, तो आपको Chrome में SourceBuffer.appendWindow{Start,End} और SourceBuffer.timestampOffset का इस्तेमाल करना होगा, ताकि सैंपल के हिसाब से सटीक प्लेबैक मिल सके.
Intent to Ship | Chromestatus Tracker | Chromium Bug
Android पर सुरक्षित कॉन्टेंट चलाने की सुविधा को डिफ़ॉल्ट रूप से चालू करने की अनुमति दें
Android के लिए Chrome 70 में, “सुरक्षित कॉन्टेंट” साइट सेटिंग की डिफ़ॉल्ट वैल्यू “पहले पूछें” से बदलकर “अनुमति है” हो जाती है. इससे इस तरह के मीडिया को चलाने में आने वाली समस्याएं कम हो जाती हैं. यह बदलाव, कुछ हद तक इसलिए संभव हुआ है, क्योंकि कुकी और साइट के डेटा के साथ-साथ मीडिया लाइसेंस हटाने के लिए अतिरिक्त कदम उठाए गए हैं. इससे यह पक्का किया जा सकेगा कि मीडिया लाइसेंस का इस्तेमाल, उन उपयोगकर्ताओं को ट्रैक करने के लिए न किया जाए जिन्होंने ब्राउज़िंग डेटा मिटा दिया है.