28

मैं ऐसे ऐप पर काम कर रहा हूं जिसमें वीडियो स्ट्रीमिंग कार्यक्षमता है। मैं फायरबेस डेटाबेस और फायरबेस भंडारण का उपयोग कर रहा हूँ। मैं कुछ दस्तावेज ढूंढने की कोशिश कर रहा हूं कि फायरबेस स्टोरेज वीडियो फ़ाइलों को कैसे संभालता है, लेकिन वास्तव में बहुत कुछ नहीं मिल सकता है।फायरबेस स्टोरेज वीडियो स्ट्रीमिंग

डॉक में उल्लेख है कि फायरबेस भंडारण अन्य Google ऐप सेवाओं के साथ काम करता है ताकि सीडीएन और वीडियो स्ट्रीमिंग की अनुमति मिल सके, लेकिन सभी खोजें एक मृत अंत की ओर ले जाती हैं। कोई सलाह?

+1

जहां तक ​​मुझे पता है कि फायरबेस स्टोरेज और सीडीएन या वीडियो स्ट्रीमिंग सेवाओं के बीच कोई प्रीफैब एकीकरण नहीं है। क्या आप दस्तावेज को एक लिंक प्रदान कर सकते हैं जहां आपने यह देखा था? –

+0

"फायरबेस स्टोरेज डिफ़ॉल्ट रूप से Google ऐप इंजन ऐप के साथ साझा की गई Google क्लाउड स्टोरेज बाल्टी में आपकी फ़ाइलों को संग्रहीत करता है, जिससे उन्हें फ़ायरबेस और Google क्लाउड एपीआई दोनों के माध्यम से पहुंचा जा सकता है। इससे आपको मोबाइल क्लाइंट से फायरबेस के माध्यम से फ़ाइलों को अपलोड और डाउनलोड करने की सुविधा मिलती है और करते हैं Google क्लाउड प्लेटफ़ॉर्म का उपयोग कर छवि फ़िल्टरिंग या वीडियो ट्रांसकोडिंग जैसे सर्वर-साइड प्रसंस्करण। " https://firebase.google.com/docs/storage/#key_functions – gcas

+0

मैं तेजी से फायरबेस स्टोरेज करने का भी प्रयास कर रहा हूं, लेकिन डोमेन सेट करने में विफल रहा। मुझे लगता है कि फायरबेस होस्टिंग तेजी से काम कर सकती है, क्योंकि फायरबेस होस्टिंग का अपना सीडीएन है, मुझे लगता है कि यह फायरबेस होस्टिंग के साथ अनावश्यक है। – tenki

उत्तर

16

मुझे लगता है कि जो हमारे जवाब यहाँ बदल सकता है वीडियो स्ट्रीमिंग के कई प्रकार हैं:

  • लाइव स्ट्रीमिंग (ग्राहकों को देख रहे हैं एक घटना होता है के रूप में)
  • यूट्यूब शैली (पोस्ट एक वीडियो और अंत उपयोगकर्ताओं अपनी सुविधानुसार घड़ी)

Firebase भंडारण और Firebase रीयलटाइम डाटाबेस का उपयोग कर एक को लाइव स्ट्रीमिंग पेरिस्कोप शैली ऐप्लिकेशन बनाया करने के बाद, मैं बहुत दृढ़ता से इसके खिलाफ सलाह देते हैं - हम तीन दूसरा हिस्सा अपलोड की गई और रीयलटाइम datab के माध्यम से उन्हें सिंक किया गया ase। हालांकि यह काम करता है (आश्चर्यजनक रूप से अच्छी तरह से), बहुत अच्छा इंटरनेट पर ~ 5 सेकंड विलंबता थी, और यह भी सबसे कुशल समाधान नहीं था (आखिरकार, आप उस वीडियो को अपलोड और स्टोर कर रहे हैं, साथ ही कोई ट्रांसकोडिंग नहीं था) । मैं कुछ वेबआरटीसी शैली का उपयोग करने की सलाह देता हूं, जो वीडियो ट्रांसपोर्ट के लिए बनाया गया है, और स्ट्रीम के साथ सिग्नलिंग के लिए रीयलटाइम डेटाबेस का उपयोग कर रहा है।

दूसरी तरफ, फायरबेस सुविधाओं पर मोबाइल वाईटी बनाना निश्चित रूप से संभव है। यहां पर चाल वीडियो को ट्रांसकोड करने जा रही है (जेनकोडर या बिटमोविन जैसे कुछ का उपयोग करके: https://cloud.google.com/solutions/media/) अपने अपलोड किए गए वीडियो को विभिन्न संकल्पों के छोटे हिस्सों में अलग करने के लिए (और विभिन्न प्रारूपों, आईओएस को स्ट्रीमिंग के लिए एचएलएस की आवश्यकता होती है)। आप क्लाइंट रीयलटाइम डेटाबेस (खंड नाम, संकल्प उपलब्ध, भाग की संख्या) में खंड जानकारी संग्रहीत कर सकते हैं, और वीडियो प्रगति के रूप में स्टोरेज से कहा गया हिस्सा डाउनलोड कर सकते हैं।

+0

युक्तियों के लिए धन्यवाद और अपने अनुभव को साझा करने के लिए धन्यवाद। मेरी ऐप की आवश्यकता विकल्प 2 के समान ही है। उपयोगकर्ता छोटे वीडियो क्लिप अपलोड करने में सक्षम होंगे जो बाद में अन्य उपयोगकर्ता स्ट्रीम करने में सक्षम होंगे। मैंने वास्तव में उस लेख को पढ़ा जिसे आपने मुझे दूसरे दिन भेजा था, लेकिन उम्मीद थी कि वहां दो दस्तावेजों के बीच कुछ कठिन एकीकरण हो सकता है जो दस्तावेज नहीं है। इन कार्यों के लिए फायरबेस भंडारण और जीसीपी मूल्य निर्धारण के साथ ध्वनि, मैं वीडियो होस्टिंग के लिए एक और सेवा की तलाश में बेहतर हो सकता हूं। मैं फिलहाल स्प्राउट वीडियो और वीमियो प्रो में देख रहा हूं। – gcas

+0

मैं http://ziggeo.com/ को भी देखता हूं, वे उपयोग करने में बहुत आसान हैं और उस स्थान में सफल होने के लिए आपको आवश्यक सभी चीज़ें हो सकती हैं। –

+2

@gcas आपने वास्तव में क्या उपयोग किया है? मैं फायरबेस का उपयोग कर एक ही नाव में भी हूं। क्या आपने किसी अन्य सेवा (यानी जेनकोडर) का उपयोग करके फायरबेस स्टोरेज और ट्रांसकोडिंग का उपयोग किया था। – jasan

11

यदि आप फायरबेस स्टोरेज से एक वीडियो भापना चाहते हैं, तो यह मुझे सबसे अच्छा तरीका मिला है। यह आपकी वीडियो फ़ाइल के आकार पर निर्भर करेगा। मैं केवल 10-30 एमबी फाइलों का अनुरोध कर रहा हूं इसलिए यह समाधान मेरे लिए अच्छा काम करता है। बस एक नियमित रूप से यूआरएल के रूप में Firebase यूआरएल का इलाज:

String str = "fire_base_video_URL"; 
Uri uri = Uri.parse(str); 

videoViewLandscape.setVideoURI(uri); 
progressBarLandScape.setVisibility(View.VISIBLE); 
videoViewLandscape.requestFocus(); 
videoViewLandscape.start(); 

आप पाश वीडियो करना चाहते हैं:

:

videoViewLandscape.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.setLooping(true); 
    } 
}); 

और तुम एक प्रगति बार दिखाने के लिए पहले वीडियो शुरू होता है ऐसा करने चाहते हैं

videoViewLandscape.setOnInfoListener(new MediaPlayer.OnInfoListener() { 
    @Override 
    public boolean onInfo(MediaPlayer mp, int what, int extra) { 
     if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) { 
      progressBarLandScape.setVisibility(View.GONE); 
      return true; 
     } 
     else if(what == MediaPlayer.MEDIA_INFO_BUFFERING_START){ 
      progressBarLandScape.setVisibility(View.VISIBLE); 
      return true; 
     } 
     return false; 
    } 
}); 

यह चीजों को करने का सबसे अच्छा तरीका नहीं है, लेकिन यह तब तक मेरे लिए काम करता है जब तक कि मैं एक अच्छी वीडियो स्ट्रीमिंग सेवा नहीं ढूंढ पाता।

+1

कुछ उदाहरण कोड के लिए उपरोक्त। – theBushman

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