2011-12-31 8 views
16

क्या एचटीएमएल 5 और जावास्क्रिप्ट का उपयोग कर यूट्यूब वीडियो से केवल ऑडियो बजाना संभव है?एचटीएमएल 5 का उपयोग कर यूट्यूब वीडियो के ऑडियो को कैसे खेलें?

+1

यूट्यूब वीडियो परोसता है, इस प्रकार केवल उनके सर्वर से वीडियो स्ट्रीम नहीं होता है जब तक कि उनके पास ऑडियो केवल एक विकल्प न हो जो अत्यधिक असंभव है। – Joseph

उत्तर

9

वीडियो प्लेयर को एम्बेड करने और वीडियो को छिपाने के लिए सीएसएस का उपयोग करें। यदि आप इसे सही तरीके से करते हैं तो आप केवल वीडियो को छिपाने में सक्षम हो सकते हैं, न कि इसके नीचे के नियंत्रण।

हालांकि, मैं इसके खिलाफ अनुशंसा करता हूं, क्योंकि यह YouTube TOS का उल्लंघन होगा। अगर आप वास्तव में केवल ऑडियो खेलना चाहते हैं तो अपने सर्वर का प्रयोग करें।

+6

यह TOS के विरुद्ध है: YouTube प्राधिकरण के माध्यम से उपलब्ध किसी भी YouTube ऑडियोविज़ुअल सामग्री के ऑडियो या वीडियो घटकों को अलग, पृथक, या संशोधित करें; 'http://code.google.com/apis/youtube/terms .html – keyboardP

+3

ठीक है तो..मैं बस एक काले छवि के साथ वीडियो अपलोड करूँगा और एक काला पृष्ठभूमि का उपयोग करूँगा: डी – user979830

+7

क्या वास्तव में YouTube TOS का उल्लंघन करता है।जहां तक ​​मैं समझता हूं, टीओएस केवल अपने एपीआई के बारे में बात करता है। वीडियो प्लेयर को एम्बेड करना और वीडियो छिपाने के लिए सीएसएस का उपयोग करना यूट्यूब एपीआई का उपयोग नहीं करता है। तो मुझे लगता है कि यह यूट्यूब TOS का उल्लंघन नहीं करता है। – sabbir

1

मैं टॉम वैन डेर वोरडट से सहमत हूं। आप वीडियो को छिपाने के लिए सीएसएस का उपयोग कर सकते हैं (दृश्यता: छुपा या अतिप्रवाह: ऊंचाई से बाधित एक div wrapper में छिपा हुआ), लेकिन यह यूट्यूब की नीतियों का उल्लंघन कर सकता है। इसके अतिरिक्त, आप ऑडियो (रोकें, रोकें, वॉल्यूम इत्यादि) को कैसे नियंत्रित कर सकते हैं?

आप ऑडियो प्रबंधित करने के लिए http://www.houndbite.com/ जैसे संसाधनों को बदल सकते हैं।

+0

अन्य संसाधन सबसे अच्छा समाधान – user979830

3

उत्तर सरल है: jwplayer या इसी तरह के किसी तृतीय पक्ष उत्पाद का उपयोग करें, फिर इसे न्यूनतम प्लेयर आकार पर सेट करें जो ऑडियो प्लेयर आकार (केवल प्लेयर नियंत्रण दिखाता है) पर सेट करें।

वोला।

8 से अधिक वर्षों से इसका उपयोग कर रहे थे।

+6

प्रतीत होता है यह वास्तव में मौजूदा उत्तरों में कुछ भी नहीं जोड़ता है। – David

+4

यह सब करता है। यह हमें बताता है कि jwplayer एक व्यवहार्य विकल्प है। –

+5

यह एचटीएमएल 5 और जावास्क्रिप्ट का उपयोग कर एक व्यवहार्य विकल्प नहीं है। – Olathe

6

यह एक पुरानी पोस्ट हो सकता है लेकिन लोगों को अभी भी इस के लिए खोज हो सकता है इसलिए यहाँ तुम जाओ:

<div style="position:relative;width:267px;height:25px;overflow:hidden;"> 
<div style="position:absolute;top:-276px;left:-5px"> 
<iframe width="300" height="300" 
    src="https://www.youtube.com/embed/youtubeID?rel=0"> 
</iframe> 
</div> 
</div> 
-1

अधिक है कि तुलना में सरल।

<iframe width="0" height="0" src="https://www.youtube.com/embed/youtubeID?rel=0" ></iframe> 
+0

यह वही उत्तर है जैसा पहले से ही – slfan

+0

दिया गया है और आप इसे पुन: पेश कैसे करते हैं? –

+0

lsiten के लिए ऑडियो जिसे आप जानते हैं –

1

को जोड़ना JWPlayer और संभव TOS उल्लंघनों का उल्लेख है, मैं GitHub पर निम्नलिखित भंडार से जोड़ने के लिए करना चाहते हैं:

enter image description here

: YouTube Audio Player Generation Library, जो निम्न उत्पादन उत्पन्न करने के लिए अनुमति देता है पुस्तकालय के पास वीडियो यूआरएल और कॉन्फ़िगरेशन विकल्प दिए गए प्लेलिस्ट और PHP ऑटोरेन्डरिंग के लिए समर्थन है।

+2

यह एक अच्छा लिंक है, लेकिन यह फ्लैश प्लेयर का उपयोग करता है, HTML5 नहीं। – mbomb007

+0

@ mbomb007, अच्छी पकड़, पूरी तरह से शीर्षक में एचटीएमएल 5 के बारे में भूल गया! मैं जवाब छोड़ दूंगा क्योंकि लोग अभी भी इस पृष्ठ पर उतर सकते हैं यदि उनके पास HTML-केवल आवश्यकता नहीं है। – berezovskyi

2

आप इस लिंक का उपयोग कर इस विशेष वीडियो आईडी के लिए उपलब्ध सभी स्ट्रीम के लिए यूट्यूब मेटा फ़ाइल को पार्स कर सकते हैं: https://www.youtube.com/get_video_info?video_id={VID} और ऑडियो केवल स्ट्रीम निकालें।

var vid = "3r_Z5AYJJd4", 
 
    audio_streams = {}; 
 

 
$.get('https://cors-anywhere.herokuapp.com/https://www.youtube.com/get_video_info?video_id=' + vid, function(data) { 
 
    var data = parse_str(data), 
 
    streams = (data.url_encoded_fmt_stream_map + ',' + data.adaptive_fmts).split(','); 
 
    console.log(streams); 
 
    $.each(streams, function(n, s) { 
 
    var stream = parse_str(s), 
 
     itag = stream.itag * 1, 
 
     quality = false; 
 
    console.log(stream); 
 
    switch (itag) { 
 
     case 139: 
 
     quality = "48kbps"; 
 
     break; 
 
     case 140: 
 
     quality = "128kbps"; 
 
     break; 
 
     case 141: 
 
     quality = "256kbps"; 
 
     break; 
 
    } 
 
    if (quality) audio_streams[quality] = stream.url; 
 
    }); 
 
    console.log(audio_streams); 
 
    $("#youtube").attr({ 
 
    src: audio_streams['128kbps'] 
 
    }); 
 
}); 
 

 
function parse_str(str) { 
 
    return str.split('&').reduce(function(params, param) { 
 
    var paramSplit = param.split('=').map(function(value) { 
 
     return decodeURIComponent(value.replace('+', ' ')); 
 
    }); 
 
    params[paramSplit[0]] = paramSplit[1]; 
 
    return params; 
 
    }, {}); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<audio id="youtube" autoplay controls loop></audio>

, सभी वीडियो के लिए काम नहीं करता बहुत मुद्रीकरण सेटिंग या ऐसा ही कुछ पर निर्भर करता है:

यहाँ सार्वजनिक CORS प्रॉक्सी के साथ एक उदाहरण है।

संबंधित मुद्दे