2013-07-26 9 views
15

मैं अपने एचटीएमएल 5 प्लेयर के लिए अपने ऑडियो स्ट्रीम के यूआरएल को छिपाने की कोशिश कर रहा हूं और ऐसा करने के लिए वास्तव में सोचने के लिए संघर्ष कर रहा था और फिर मुझे एहसास हुआ कि ध्वनि क्लाउड को यूआरएल को छिपाना चाहिए उनकी धाराएं तो मैं ध्वनि क्लाउड पर गया, कंसोल खोल दिया और एक ट्रैक खेला लेकिन मुझे कोई स्पष्ट तरीका नहीं दिख रहा था कि यूआरएल छुपा हुआ है। इसके बाद मैंने डीओएम पेड़ पर एक नज़र डाली, यह देखने के लिए कि वहां कोई ऑडियो जानकारी थी या नहीं, लेकिन मुझे कुछ नहीं मिला! प्लेयर/ऑडियो के लिए एक आईडी भी नहीं है, इसलिए मैं बहुत उलझन में हूं कि ध्वनि क्लाउड ने इसे कैसे किया है।ध्वनि स्ट्रीमिंग ने ऑडियो स्ट्रीमिंग के यूआरएल को छिपाया है

अब मैंने ऑडियो यूआरएल छिपाने के साथ अब तक उतना ही अच्छा किया है जितना मैं कर सकता हूं। मैंने ट्रैक के लिए डीओएम में एक आईडी डाली है, उस आईडी को मिला जब प्ले बटन क्लिक किया गया है और डेटाबेस से उस आईडी के लिए यूआरएल पुनर्प्राप्त किया गया है। इसके साथ स्पष्ट समस्या यह है कि पर्याप्त रूप से तैयार कोई भी कंसोल पर जा सकता है और नेटवर्क घटनाओं से यूआरएल प्राप्त कर सकता है।

मैं ट्रैक डाउनलोड करने के लिए ध्वनि ध्वनि की सुरक्षा को तोड़ने की कोशिश नहीं कर रहा हूं, मुझे नहीं होना चाहिए। मैं सिर्फ इतना उत्सुक हूं कि उन्होंने यूआरएल कैसे छिपाया है। अब मैं यह भी उत्सुक हूं कि प्रत्येक ट्रैक को कैसे प्रतिष्ठित किया जाता है क्योंकि डीओएम में उन्हें कुछ अलग करने में कुछ भी नहीं है (ऐसा नहीं कि मैंने अपने संक्षिप्त रूप में वैसे भी पाया)।

तो, संक्षेप में, क्या किसी के पास कोई विचार है कि ध्वनि क्लाउड ने इसे कैसे हासिल किया है या यह कैसे प्राप्त किया जा सकता है?

उत्तर

19

ध्वनि क्लाउड काफी शुद्ध जेएस साइट है।

जैसा कि आपने कहा था, HTML के साथ लोड किए गए गीत की कोई आईडी नहीं है। जिस तरह से गाने पहचाने जाते हैं पेज यूआरएल द्वारा किया जाता है। के माध्यम से किया जाता है। इस यूआरएल (उदाहरण):

https://api.sndcdn.com/resolve?url=https%3A//soundcloud.com/hoodinternet/joywave-tongues-hood-internet-remix&_status_code_map%5B302%5D=200&_status_format=json&client_id=YOUR_CLIENT_ID

यह कुछ इस तरह प्रस्तुत करती है:

{"status":"302 - Found","location":"https://api.soundcloud.com/tracks/100270342?client_id=YOUR_CLIENT_ID"}

आगे यह स्थान यूआरएल को लोड करता है, ऊपर JSON से। इस ट्रैक के बारे में जानकारी का एक समूह देता है, जिनमें शामिल हैं:

stream_url: "https://api.soundcloud.com/tracks/100270342/stream"

तो यह इस URL को लोड करता है:

https://api.sndcdn.com/i1/tracks/100270342/streams?client_id=YOUR_CLIENT_IT

कौन इस तरह की एक प्रतिक्रिया लौटाता:

{"http_mp3_128_url":"https://ec-media.soundcloud.com/2gNVBYiZ06bU.128.mp3?ff61182e3c2ecefa438cd021sdf02d0e385713f0c1faf3b0339595664fe070de810d30a8e3a1186eda958909e9ed97799adfeceabc135efac83aee4271217a108450591db3b88\u0026AWSAccessKeyId=AKIAsdfJ4IAZE5EOIdsf7PA7VQ\u0026Expires=1374883403\u0026Signature=%2B1%2B7dfdfLN4NWP3C3bNF3gizSEVIU%3D"}

तो इस तरह वे अपने स्ट्रीम यूआरएल को छुपाते हैं। एकमात्र गैर स्पष्ट हिस्सा यह है कि वे पैरामीटर के रूप में यूआरएल के साथ एक एपीआई मारकर, गीत आईडी पाते हैं। डाउनलोड यूआरएल के साथ ट्रैक करने वाले ट्रैक पर भी किया जा सकता है।

+1

कुछ ध्वनियां गैर स्ट्रीम करने योग्य हैं? यह एक उदाहरण है http://soundcloud.com/ymcmbofficial/lil-wayne-ft-drake-and- भविष्य का कोई समाधान? – Kassem

+2

@ Kassem - यह मेरे लिए स्ट्रीम करने योग्य है। मैंने थोड़ी देर पहले यह ध्वनि क्लाउड डाउनलोडर बनाया था: https://gist.github.com/calvin-nt/6629464 - इसे इस तरह प्रयोग करें: python sc_dl.py soundcloud.com/ymcmbofficial/lil-wayne-ft-drake-and- भविष्य - इसमें अजगर के लिए अनुरोध की आवश्यकता है। –

+0

धन्यवाद @scandinavian_ मैं पायथन से परिचित नहीं हूं लेकिन जैसा कि मैं समझ सकता हूं कि उस गीत के लिए स्ट्रीमिंग यूआरएल https://api.sndcdn.com/i1/tracks/73544191/streams?client_id= मैंने कोशिश की है अपने क्लाइंट आईडी के साथ ब्राउज़र का उपयोग करना, लेकिन यह 403 वर्जित है। कोई उपाय? – Kassem

2

यदि आपको SoundCloud.com मिल गया है और अपना डीबगर खोलें (क्रोम मैं जो उपयोग कर रहा हूं)। "नेटवर्क" टैब को देखें और आपको एक स्क्रिप्ट कॉलिंग ऑडियो दिखाई देगा? Anonymous_id #########।

यह एक आरईएसटी कॉल की तरह संरचित है, जिसका अर्थ है कि वे अपने बैकएंड पर एक सेवा के लिए एक आईडी पास करते हैं, और यह ऑडियो आउटपुट गुमनाम रूप से देता है।

0
+0

ओह यूआरएल की जांच के बाद एहसास हुआ कि यूआरएल प्रतिबंधित नहीं है। : डी –

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