2011-12-12 23 views
11

मुझे अभी एहसास हुआ कि ऐप्पल को आईफोन ऐप्स में वीडियो देखने के लिए HTTP लाइव स्ट्रीमिंग की आवश्यकता है। मुझे इससे पहले पता नहीं था ... अब मैं यह समझने की कोशिश कर रहा हूं कि इसमें क्या शामिल है, इसलिए मैं यह तय कर सकता हूं कि मैं काम करना चाहता हूं और वीडियो को 3 जी में उपलब्ध करा सकता हूं या वीडियो को वीडियो पर सीमित कर सकता हूं जो वाई-फाई से जुड़े हैं ।यूनिक्स पर HTTP लाइव स्ट्रीमिंग सर्वर को कैसे कार्यान्वित करें?

मैंने ऐप्पल द्वारा प्रदान किए गए overview को पढ़ा, और अब समझते हैं कि मेरे सर्वर को मेरी मीडिया फ़ाइलों को सेगमेंट और इंडेक्स करने की आवश्यकता है। मैं यह भी समझता हूं कि मुझे स्ट्रीम करने में सक्षम होने के लिए सामग्री को होस्ट करने की आवश्यकता नहीं है (मैं कहीं और होस्ट किए गए वीडियो को इंगित कर सकता हूं, है ना?)।

क्या इस बिंदु पर मेरे लिए स्पष्ट नहीं है कि क्या एक बार फिर से अपने सर्वर (Ubuntu Hardy) वास्तविक विभाजन और मक्खी (पर अनुक्रमण करने के लिए पर लागू करने के लिए, मैं वीडियो के लिए मैं चाहता हूँ की मेजबानी नहीं है सेवा कर)।

मैं एक link पाया FFmpeg और X264 स्थापित करने का तरीका बताने के लिए, लेकिन अगर यह सबसे अच्छा समाधान है मैं नहीं जानता कि (के बाद से मैं एक Ubuntu सर्वर है, मैं एप्पल लाइव स्ट्रीमिंग उपकरणों का उपयोग नहीं कर सकते, यह सही है ?)। साथ ही, मुझे समझ में नहीं आता कि किस बिंदु पर मेरा सर्वर जानता है कि किसी वीडियो को परिवर्तित करने और नौकरी शुरू करने की आवश्यकता है ...

कोई भी प्रतिक्रिया जो मुझे समझने में मदद कर सकती है कि स्ट्रीम करने में सक्षम होने के लिए सर्वर पक्ष पर क्या करना है 3 जी में मेरे आईफोन ऐप पर वीडियो की सराहना की जाएगी! (ओह, और बस इसे कोई फर्क, बनाता है मेरे ऐप बैक-एंड रेल में है)

+0

मैं सुझाव देता हूं कि एफएमएलई और लाल 5 (आरटीएमपी से अधिक) मैं बाद में जवाब दूंगा यदि कोई भी – malletjo

+0

आपके उत्तर के लिए धन्यवाद। सिर्फ एक चीज जिसे मैं स्पष्ट करना चाहता था, मुझे उन वीडियो में दिलचस्पी है जो रिकॉर्ड किए गए हैं, लाइव शो नहीं। – alex

+0

आपको अपने सर्वर से स्ट्रीम करने के लिए सामग्री को होस्ट करना होगा। होस्टिंग और सेवारत के बीच अंतर के रूप में आप क्या देखते हैं? स्वीकार्य उत्तर में आपके प्रश्न के साथ कुछ भी नहीं है, इसलिए मुझे नहीं पता कि आपने इसे स्वीकार क्यों किया। – vipw

उत्तर

8

आप अपने वेबकैम से लाइव सामग्री स्ट्रीम करना चाहते हैं: FMLE (फ्लैश मीडिया एनकोडर रहते हैं)

आप स्ट्रीम करने के लिए चाहते हैं स्थैतिक सामग्री (फिल्म): ffmpeg & xuggle

red5: red5

आप मीडिया सर्वर हो सकता है (खुला स्रोत और नि: शुल्क) या एफएमएस या Wowza। लेकिन मैंने केवल लाल 5 का उपयोग किया, मैं दूसरों के बारे में नहीं जानता। आप लाल 5 here पा सकते हैं।

आप सर्वर कहीं भी हो सकते हैं लेकिन आपको कुछ व्यवस्थापक (कम से कम आरटीएमपी के लिए 1 9 35) खोलने की आवश्यकता होगी, "व्यवस्थापक पैनल" के लिए 5080, आप सूची में 99 99 देख सकते हैं। (डॉक्टर को चेक करें) रेड 5 जावा में एक मीडिया सर्वर है, इसलिए आपको जावा jdk> = 1.6 की आवश्यकता होगी।

Red5 1.0 आरसी here पाया जा सकता है। आप विंडोज़, ओएसएक्स या लिनक्स के लिए एक संस्करण पा सकते हैं। मैंने टैरबॉल संस्करण का इस्तेमाल किया। इसे निकालें और "red5.sh" चलाएं। आपको http://localhost:5080/ पर व्यवस्थापक तक पहुंचने में सक्षम होना चाहिए और आपको एक वीडियो प्रदर्शित होने वाला भी देखना चाहिए। यदि नहीं, तो कुछ गलत है और जब तक यह काम नहीं कर रहा है तब तक आप आगे नहीं जा सकते। ffmpeg के साथ

स्ट्रीम:

आप here xuggle पा सकते हैं और आप इस here

ffmpeg -i your_file.flv -re -acodec copy -vcodec copy -f flv rtmp://localhost_or_yourred5serverip/live/livestream 

बारे में अधिक जानकारी प्राप्त कर सकते हैं ध्यान में रखें कि आप वेब केवल flv पर यह स्ट्रीम करने के लिए चाहते हैं, तो और एमपी 4 फ़्लैश प्लेयर में खेल रहा है (मुझे लगता है)। एक बार स्ट्रीमिंग हो जाने पर आपको इसे "व्यवस्थापक पैनल" here में देखने में सक्षम होना चाहिए। अपने सर्वर से कनेक्ट करें (rtmp: // localhost/live /) और दृश्य टैब पर जाएं और "livestream" डालें। आप अपने वीडियो को देखने के लिए mplayer rtmp: // localhost/live/livestream का भी उपयोग कर सकते हैं।एक फ्लैश प्लेयर में

धारा:

आप या JWPlayer (RTMP प्लगइन के साथ) Flowplayer उपयोग कर सकते हैं।

+0

और यहां एक फॉलो-अप प्रश्न है: http://stackoverflow.com/questions/8497541/installing-faad-library-for-ffmpeg-through-homebrew-on-mac-os-x-lion यदि आप सहायता कर सकते हैं फिर! धन्यवाद। – alex

+0

यह आपकी मदद कर सकता है: http://jungels.net/articles/ffmpeg-howto.html – malletjo

0

एचएलएस स्ट्रीम करने का सबसे आसान तरीका Wowza या FMIS (जिसमें से कोई भी सस्ता नहीं है) का उपयोग कर रहा है। Wowza इनपुट ले जाएगा (या तो लाइव स्ट्रीम या संग्रहीत वीओडी सामग्री और फ्लाई पर सेगमेंटेशन करें।

+0

वूज़ा के पास नि: शुल्क परीक्षण है, – onmyway133

12

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

जब तक आप लाइव नहीं चाहते वीडियो, आपको वास्तव में लाल 5 या वाह या एफएमएस या उसके जैसा कुछ भी नहीं चाहिए। एचएलएस मूल रूप से अलग-अलग बिटरेट्स पर एन्कोड किए गए लघु वीडियो खंडों (उदाहरण के लिए 5 मिनट) का एक सेट है और एक एम 3 यू प्लेलिस्ट जो आप अपने फ्लैश या HTML5 आधारित प्लेयर को देते हैं ब्राउज़र में। segme तय करने के लिए आप पर निर्भर है एनटी लंबाई या आप इसे कैसे एन्कोड करते हैं। http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx

वहाँ आप से सिर्फ उदाहरण एक निर्देशिका संरचना बनाने के लिए, उदाहरण के लिए:

यह सबसे अच्छा लेख मैं कैसे प्रस्तावों, बिटरेट, खंड आकार, आदि लेने के लिए के बारे में देखा है है

 
/data/video/video_id/original.mp4 
/data/video/video_id/quality1/chunk1.mp4 
/data/video/video_id/quality1/chunk2.mp4 
/data/video/video_id/quality2/chunk1.mp4 
etc.. 

तो फिर तुम सब मात्रा और गुणों के लिए एक m3u प्लेलिस्ट उत्पन्न करने के लिए की जरूरत है और यह गुण और अगले फ़ाइल (सबसे आधुनिक खिलाड़ियों पहले से ही है जो) खेल रहे हैं के बीच स्विचिंग को लागू करने के लिए खिलाड़ी ही है।

मैं अत्यधिक जांच करने की भी सिफारिश करता हूं: https://developer.apple.com/resources/http-streaming/ - ऐप्पल HTTP लाइव स्ट्रीमिंग के लिए वीडियो और प्लेलिस्ट तैयार करने के लिए निःशुल्क टूल का एक गुच्छा प्रदान करता है।

+0

की कोशिश करने के लायक रोमन, एक उत्कृष्ट लिंक (फ़ील्ड में अनुकूली स्ट्रीमिंग - जन ओज़र द्वारा) http: //www.streamingmedia.com/Articles/Editorial/Featured-Articles/Adaptive-Streaming-in-the-Field-73017.aspx –

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