2011-12-07 24 views
13

मैं समझ रहा हूं कि एक वेब ऐप कैसे बनाया जाए जो एकाधिक उपयोगकर्ताओं को अपने कंप्यूटर पर सिंक में एक ही यूट्यूब वीडियो देखने की अनुमति देता है। उदाहरण के लिए, synchtube.com या watch2gether.comएकाधिक ग्राहकों पर सिंक में YouTube वीडियो कैसे चलाएं?

मैं एक साधारण दृष्टिकोण है कि आम प्रयुक्त प्रौद्योगिकी जैसे PHP, jQuery और Apache का उपयोग कर कार्यान्वित किया जा सकता की मांग कर रहा हूँ। मैं वर्तमान में मतदान के आधार पर सोच रहा हूं (या धूमकेतु लंबे मतदान के लिए, लेकिन इसके लिए अधिक जटिल सर्वर सेटअप की आवश्यकता है जिसे मैं टालना चाहता हूं), Ajax चैट ऐप्स लागू किए जाने के समान - यह क्लाइंट लगातार वीडियो के साथ जांचने के लिए सर्वर से जांच करता है खेल रहा है। हालांकि, मुझे संदेह है कि विलंबता के मुद्दे यहां होंगे ताकि वीडियो पूरी तरह सिंक हो जाएंगे। मैं अभी तक एक बेहतर दृष्टिकोण के बारे में नहीं सोच सकता।

साथी डेवलपर समुदाय के लिए, पद्धति या कोड स्निपेट पर कोई भी मदद की सराहना की जाती है!

+0

एकमात्र चीज जिसे मैं सोच सकता हूं वह है कि प्रत्येक उपयोगकर्ता तैयार हो। एक बार सभी तैयार हो जाने के बाद, वीडियो को उन सभी को धक्का दें। मैं php का उपयोग कर एक पब/उप सेवा में देखता हूँ। मुझे यकीन नहीं है कि आप किस ब्राउज़र समर्थन को देख रहे हैं, लेकिन मुझे विभिन्न वेबसाइकिल प्रौद्योगिकियों को पब/उप के लिए काफी आसान पाया गया है। जो अधिकांश आधुनिक ब्राउज़रों में समर्थित है। – agmcleod

+1

ग्राहकों को सिंक करने के लिए सर्वर का उपयोग करें। फिर, वीडियो चलाने के लिए यूट्यूब जावास्क्रिप्ट प्लेयर एपीआई का उपयोग करें। [यह उत्तर] देखें (http://stackoverflow.com/questions/7443578/youtube-iframe-api-how-do-i-control-a-iframe-player-thats-already-in-the-html#7513356) वीडियो चलाने के लिए एक सरल, समझने योग्य विधि के लिए। अधिक जटिल कॉल के लिए, जैसे खिलाड़ी के राज्य और घटनाएं प्राप्त करना, [यह उत्तर] देखें (http://stackoverflow.com/questions/7988476/listening-for-youtube-event-in-jquery/7988536#7988536)। –

+0

यहां तक ​​कि यदि सभी उपयोगकर्ता एक ही पल में वीडियो शुरू करते हैं, तो क्या होता है यदि कुछ धीमे कनेक्शन हैं जो केवल वीडियो स्ट्रीम के साथ ही रह सकते हैं जब तक कि अन्य ऐप्स अपनी बैंडविड्थ का उपयोग नहीं कर रहे हों? क्या आप सभी क्लाइंट को रोक देते हैं ताकि कोई भी पीछे न आए? – nnnnnn

उत्तर

1

आप कई तरीकों से आप यह पूरा कर सकते हैं:

  • आदर्श समाधान एक वास्तविक समय सहयोग प्रोटोकॉल और सर्वर (जैसे XMPP और OpenFire) सेट अप का उपयोग करें और एक कस्टम मॉड्यूल विकसित करना है जो आपको आगे और आगे कस्टम stanzas पारित करने की अनुमति देगा। दुर्भाग्यवश न केवल यह शामिल तकनीक के बारे में आपकी आवश्यकताओं को पूरा करता है बल्कि यह लागू करने के लिए भी जटिल है, लेकिन परिणाम शानदार है।

  • अगला, यदि क्रॉस-ब्राउज़र संगतता कोई समस्या नहीं है, तो आप HTML 5 में वेबस्केट एपीआई का उपयोग कर सकते हैं। एचटीएमएल 5 वेबसॉकेट-सक्षम चैट बनाने के तरीके पर this guy's example देखें।

  • अंत में, आप AJAX मतदान के साथ छोड़ दिए जाते हैं, या तो सामान्य विधि या लंबी-मतदान, जिसमें आप सर्वर साइड स्क्रिप्ट निष्पादन को अवरुद्ध करते हैं जब तक कि आपके पास कुछ डेटा उपलब्ध न हो। आगे संदर्भ के लिए this link देखें।

+0

इसके अलावा, एनटीपी प्रोटोकॉल घड़ियों को सिंक्रनाइज़ करते समय नेटवर्क देरी को कैसे संभालता है इस पर एक नज़र डालें - आप कुछ ऐसा ही कार्यान्वित करना चाहेंगे – Basic

4

यहाँ WebSockets और Node.js का उपयोग कर सिंक में वीडियो रखने का एक उदाहरण है: http://softwareas.com/video-sync-with-websocket-and-node

मैं जानता हूँ कि आप इस तकनीक का उपयोग नहीं करना चाहते हैं, यह क्या दिखाने के लिए सिर्फ एक अच्छी शुरुआत है आप कर सकते हैं और कैसे।

आप PHP का उपयोग करें और चीजों को सरल रखना चाहते हैं तब अपने सबसे अच्छे समाधान वास्तविक समय संचार परत ऐसी Pusher के रूप में एक की मेजबानी की सेवा करने के लिए, जो मैं के लिए काम (उपयोगकर्ता सिंक में वीडियो रखने के लिए इस्तेमाल) आउटसोर्स करने के लिए है। इसका मतलब है कि आपको लगातार कनेक्शन बनाए रखने की आवश्यकता नहीं है और आप उपयोगकर्ताओं/ग्राहकों के बीच वीडियो राज्यों के बारे में रीयलटाइम ईवेंट देने के लिए पुशर का उपयोग कर सकते हैं।

यदि आप यूट्यूब वीडियो का उपयोग करना चाहते हैं, और एचटीएमएल 5 हमेशा उपलब्ध नहीं होगा, तो आपको Player API का उपयोग करना होगा। मुझे एक समान timeupdated ईवेंट (HTML5 वीडियो में उपलब्ध) नहीं देख सकता है, इसलिए आपको समय-समय पर वीडियो समय की जांच करनी पड़ सकती है (player status API section देखें। आप राज्य परिवर्तन घटनाओं के लिए पंजीकरण कर सकते हैं ताकि आप जान सकें कि उपयोगकर्ता कब रुकता है, वीडियो बंद करता है आदि

@ लूटने-डब्ल्यू की टिप्पणी यूट्यूब एपीआई का उपयोग कर में कुछ अच्छी अंतर्दृष्टि प्रदान करता है

नोट:। यह वास्तव में वास्तव में एक दिलचस्प ब्लॉग पोस्ट के लिए कर सकता है, इसलिए यदि आप मुझे पता है कर रहे हैं रुचि और मैं क्या देखेंगे कि मैं क्या कर सकते हैं।

0

मेरे लिए आदर्श समाधान Vynch का उपयोग करना है। इस तकनीक के साथ आप अपनी वेबसाइट में वीडियो वाले एक कमरे को एम्बेड कर सकते हैं जिसे आप सिंक्रनाइज़ कर सकते हैं। आप प्लेलिस्ट बना सकते हैं और दोस्तों और उपयोगकर्ता के साथ साझा कर सकते हैं! आपके इंप्रेशन का आदान-प्रदान करने के लिए भी एक चैट है ..

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