एंड्रॉइड कैमरा से सर्वर पर वीडियो स्ट्रीमिंग


286

मैंने सर्वर से एक एंड्रॉइड डिवाइस पर वीडियो स्ट्रीम करने के तरीके के बारे में बहुत सारी जानकारी देखी है, लेकिन अन्य तरीके से ज्यादा नहीं, अला क्यूक। क्या कोई मुझे यहाँ सही दिशा में इंगित कर सकता है, या मुझे इस बारे में कुछ सलाह दे सकता है कि इस से कैसे संपर्क किया जाए?


9
मुझे इसका उत्तर भी देखना है। क्या आप अभी तक कुछ भी लेकर आए हैं?
जेरेमी व्हाइट

नहीं, स्ट्रीमिंग पर छोड़ दिया। बस MediaRecorder एपीआई को प्रस्तुत करने में धड़कन काफी कठिन थी। आप सिप्रोइड कोड की जांच कर सकते हैं, हालांकि, वे इसे काम कर रहे हैं।
जेसीएल

वीडियो कोड हालांकि Sipdroid स्रोत में ऑनलाइन नहीं है :(
डोनल

1
आप ffserver में ffmpeg में एक घटक देख सकते हैं।
विनय

1
मेरे पास इससे संबंधित एक प्रश्न है जो आपके लिए भी रूचि का हो सकता है। जब आप वीडियो पर कब्जा कर लेते हैं और कंटेनर भाग हो जाता है, तो यह 3 जी पर वीडियो स्ट्रीम को पुश करने के बारे में है। bit.ly/vYpWGy
माइकल

जवाबों:


123

मैंने IP कैमरा में Android फ़ोन सक्षम करने के लिए एक ओपन-सोर्स प्रोजेक्ट होस्ट किया है:

http://code.google.com/p/ipcamera-for-android

लोकल सॉकेट से रॉ वीडियो डेटा प्राप्त किया जाता है, और स्ट्रीमिंग से पहले MP4 का MDAT MOOV पहले चेक किया गया था। लाइव वीडियो FLV प्रारूप में पैक किया गया है, और इसे वेब सर्वर में एक निर्माण के साथ फ़्लैश वीडियो प्लेयर के माध्यम से चलाया जा सकता है :)


26
"स्रोत" बटन पर क्लिक करें। इसके अलावा, जो कोई भी इस आदमी को नीचा दिखाता है वह एक उपकरण है।
निकोली

3
यह मुझे त्रुटिपूर्ण देता है .. जैसे, java.lang.UnsatisfiedLinkError: Teaonly को लोड नहीं कर सका: findLibrary null लौटी है .. अगर किसी के पास समाधान है तो कृपया इसे साझा करें। धन्यवाद
anddev

1
@ mpp: ऐप में NDK कोड है। आप इसे स्वयं संकलित कर सकते हैं, या "डाउनलोड" के तहत उस Google कोड परियोजना में एपीके से .so फ़ाइलों को पकड़ सकते हैं।
टर्नोलो

1
मुझे java.lang.UnsatisfiedLinkError त्रुटि भी मिल रही है। कृपया उस त्रुटि को दूर करने के लिए चरणों का संक्षेप में उल्लेख करें।

1
UnsatisfiedLinkError को न समझने वालों के लिए: आपको NDK के साथ C कोड बनाना होगा। सीधे शब्दों में कहें, भागो ndk-build। अधिक जानकारी के लिए, NDK प्रलेखन पढ़ें
पॉल लामर्ट्स्मा

70

मुझे कुछ समय लगा, लेकिन मैं आखिरकार एक ऐसा ऐप बनाता हूं जो ऐसा करता है। यदि आपकी रुचि हो तो Google कोड पृष्ठ देखें: http://code.google.com/p/spydroid-ipcamera/ मैंने अपने कोड में टिप्पणियों का भार जोड़ा (मुख्य रूप से, CameraStreamer.java को देखें), इसलिए यह होना चाहिए बहुत आत्म-व्याख्यात्मक। कठिन हिस्सा वास्तव में RFC 3984 को समझने और पैकेटेट प्रक्रिया के लिए एक उचित एल्गोरिदम को लागू करने के लिए था। (यह एल्गोरिथ्म वास्तव में mpg4 / h.264 स्ट्रीम को MediaRecorder द्वारा एक अच्छे rtp स्ट्रीम में निर्मित करता है, rfc के अनुसार)

अलविदा


2
आपका बहुत बहुत धन्यवाद! वर्तमान में मैं इसे h264 के साथ ठीक से काम नहीं कर सकता .. और मैं इसे h263 में नहीं बदल सकता (मुझे ऐसा करने का कोई सुराग नहीं है)। वैसे भी, धन्यवाद आदमी!
Yotes

1
मैं उसी का उपयोग कर रहा हूं, लेकिन जब यह एंड्रॉइड पर आरटीएसपी के साथ स्ट्रीम करने की बात आती है, तो यह कहता है कि वीडियो चलाया नहीं जा सकता। मैं VideoView का उपयोग कर रहा हूं। क्या आप मदद कर सकते हैं?
रोहित मंडीवाल

1
महान काम करता है (अब तक!) मैं इसे ग्लास से वीडियो स्ट्रीम करने के लिए उपयोग कर रहा हूं (थोड़ा काम करने के बाद / संपादन / पता लगाना), लेकिन अभी तक मैं इसे केवल विंडोज आधारित ब्राउज़र (क्रोम) से कनेक्ट करने के लिए प्राप्त कर सकता हूं vlc plugin। एंड्रॉइड / आईपैड या किसी अन्य आरटीपी प्लेयर पर वीएलसी स्ट्रीम नहीं उठाएगा (उनमें से एक अच्छा लग रहा था, लेकिन डिवाइस के नाम के आधार पर एक स्ट्रीम प्राप्त करने की कोशिश कर रहा था, जिसे यह कोड 0 के रूप में लौटा दिया गया था और इस तरह से अनपेक्षित)। फिर भी, आपको धन्यवाद देने के एक दिन बाद कोडिंग के परिणाम मिलते हैं, इसलिए कुडोस!
मैकड

@MacD क्या आप Google ग्लास में स्ट्रीमिंग के लिए स्पाइड्रॉइड-आईपीकैमरा कोड (सभी प्रोजेक्ट या केवल कुछ कक्षाएं? क्या आप मुझे बता सकते हैं?) या इस लाइब्रेरी github.com/fyhertz/libstreaming का उपयोग करते हैं? बहुत बहुत धन्यवाद!!
Bae

नमस्ते क्या आप समझा सकते हैं कि इस परियोजना को एंड्रॉइड स्टूडियो में कैसे लागू किया जाए, मैं इसे नहीं चला सकता
utdev

24

मैं इसे भी देख रहा हूं, और जब मेरे पास आपके लिए एक अच्छा समाधान नहीं है तो मैंने SIPDroid के वीडियो कोड को खोदने का प्रबंधन किया:

http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroid/sipua/ui/VideoCamera.java


उन्होंने वहां पर जो किया है, वह एक सर्वर पर आरटीपी पैकेट का उपयोग करके स्ट्रीम है। अब सवाल यह है कि सर्वर पर क्या किया जा रहा है? ट्रांस-कोडिंग क्या है और इसे कैसे स्ट्रीम किया जा रहा है
अज़लाम

नहीं .. मैं SIPDroid दृष्टिकोण के लिए जाना नहीं था, यह बहुत जटिल था .. मैं तो एक MJPEGServer साथ कुछ किया
Azlam

19

मैंने एक ओपन-सोर्स SDK बनाया है जिसे Kickflip कहा जाता है है ताकि एंड्रॉइड से स्ट्रीमिंग वीडियो को दर्द रहित अनुभव बनाया जा सके।

SDK , RTMP के FFmpeg से सीधे डिवाइस हार्डवेयर एन्कोडर के पैकेट को निर्देशित करने के लिए Android 4.3 के MediaCodec API के उपयोग को प्रदर्शित करता है। (librtmp के साथ) या HLS के करता है। H.264 / एएसी स्ट्रीमिंग। यह रियलटाइम ओपनल इफेक्ट्स (टाइटलिंग, क्रोमा की, फेड्स) और बैकग्राउंड रिकॉर्डिंग को भी प्रदर्शित करता है।

धन्यवाद एसओ, और विशेष रूप से, सनक


क्या यह किसी भी HLS- सक्षम क्लाइंट (केवल आपके सर्वर पर नहीं) को स्ट्रीम कर सकता है?
4ntoine

4
@ मैं आपकी सेवा के बारे में जानने की कोशिश करता हूं, लेकिन आपके मूल्य निर्धारण को देखने से पहले आपको मेरी लॉगिन जानकारी की आवश्यकता होगी। यह ऐसा है जैसे आप लोग ईमेल पते एकत्र कर रहे हैं। यदि यह आपका इरादा नहीं है, तो आपको मूल्य निर्धारण की जानकारी उपलब्ध करानी चाहिए: उसी तरह पार्स और ऐप इंजन और कई अन्य लोगों ने किया है।
शिक्षार्थी

क्या वीडियो कैमरा के लिए किकफ्लिप के लिए वीडियो भेजना संभव है फिर यह एंड्रॉइड फोन पर जाता है? यदि वीडियो कैमरा किस प्रकार का है, तो इसके लिए उपयुक्त है
लुटाया हुजैफा इदरीस

11

यहाँ वेब कैमरा के लिए Android कैमरा वीडियो स्ट्रीमिंग के बारे में पूरा लेख है।

एंड्रॉयड स्ट्रीमिंग वेब पेज के लिए लाइव कैमरा वीडियो

  1. उपयोग किया जाता है Android एप्लिकेशन पर
  2. सर्वर की ओर Wowza मीडिया इंजन का उपयोग वीडियो स्ट्रीम को डीकोड करने के लिए किया जाता है
  3. अंत में एक वेबपेज पर वीडियो चलाने के लिए jWplayer का उपयोग किया जाता है।

यह बंद-स्रोत घटकों का उपयोग करता है। कोई भी ओपन-सोर्स विकल्प?
राज

आप इसके लिए JavaCV का उपयोग कर सकते हैं। मैंने इसे अपने प्रोजेक्ट में एंड्रॉइड डिवाइस से लाइव स्ट्रीमिंग करने के लिए wowza मीडिया सर्वर पर भी उपयोग किया है। आप github.com/begeekmyfriend/yasea
Chinthaka Devinda

मुफ्त स्ट्रीमिंग है?
अक्र्रामो

क्या हम साउंड कार्ड डिवाइस का उपयोग इनपुट ऑडियो स्रोत के रूप में कर सकते हैं, न कि लिबस्ट्रीमिंग में माइक के लिए।
14:29 बजे user2980181

5

मैं अपने सर्वर से मोबाइल से लाइव कैमरा वीडियो भेजने में सक्षम हूं। इस लिंक को देखने के लिए लिंक देखें

उपरोक्त लिंक को देखें। उस लिंक में एक नमूना अनुप्रयोग है। बस आपको RecordActivity.class में अपनी सर्विस url सेट करनी होगी।

उदाहरण के लिए: ffmpeg_link = "rtmp: // yourserveripaddress: 1935 / live / venatat";

हम उस लिंक का उपयोग करके H263 और H264 प्रकार के वीडियो भेजने में सक्षम हो सकते हैं।


मैंने उपरोक्त लिंक का उपयोग करके कोड का उपयोग किया है, लेकिन रिकॉर्डिंग शुरू करने में भी सक्षम नहीं हो सका। एक अपवाद "स्ट्रीम करने के लिए कोई वीडियो नहीं" हो रहा है। क्या आपके पास इसके बारे में कोई विचार है?
अखिलेश Sk

उपरोक्त कोड यू का उपयोग करके @AkhileshSk अपने सर्वर पर rtmp url के माध्यम से लाइव वीडियो भेज सकता है। यह रिकॉर्डिंग उद्देश्य के लिए नहीं है। यदि आप वीडियो को रिकॉर्ड करना चाहते हैं तो आपको इसे सर्वर पर रिकॉर्ड करना होगा।
वेंकट

अरे @ वेंकट एक कैमरा से एंड्रॉइड फोन पर एक लाइव वीडियो भेजना संभव है, क्या आपके पास कुछ कोड लिंक हैं, जैसे कि यूट्यूब लाइव आदि का उपयोग करना
लुटाया हुजैफा इदरीस

@LutaayaHuzaifahIdris हाँ संभव है। मैंने पहले इस पर काम किया।
वेंकट

हाय @Venat आप इस के साथ मेरी मदद कर सकते हैं, RecordActivity.class फ़ाइल खोजने में सक्षम नहीं है
sanyam

3

यह शायद ही एक पूर्ण उत्तर है, लेकिन वेबआरटीसी वह हो सकता है जो आप खोज रहे हैं। यहाँ कार्रवाई में webRTC के कुछ त्वरित उदाहरण हैं: http://www.webrtc.org/reference-apps

यदि आप Android विशिष्ट कोड चाहते हैं, तो यह मौजूद है! http://www.webrtc.org/native-code/android


लिंक मौजूद नहीं है। 404 देते
शिवांग

1

Yasea पुस्तकालय की जाँच करें

Yasea एक एंड्रॉइड स्ट्रीमिंग क्लाइंट है। यह कैमरा और माइक्रोफोन से H.264 / AAC को YUV और PCM डेटा एनकोड करता है, FLV में इनकैप्सुलेट करता है और RTMP के जरिए ट्रांसमिट करता है।

फ़ीचर:

  1. Android मिनी एपीआई 16।
  2. H.264 / AAC हार्ड एन्कोडिंग।
  3. H.264 सॉफ्ट एन्कोडिंग।
  4. राज्य कॉलबैक हैंडलर के साथ RTMP स्ट्रीमिंग।
  5. पोर्ट्रेट और लैंडस्केप डायनेमिक ओरिएंटेशन।
  6. फ्रंट और बैक कैमरे हॉट स्विच।
  7. स्ट्रीमिंग करते समय MP4 को रिकॉर्डिंग करें।

0

Mux (मेरी कंपनी) के पास एक ओपन सोर्स एंड्रॉइड ऐप है जो RTMP को सर्वर पर स्ट्रीम करता है, जिसमें कैमरा और यूजर इंटरैक्शन शामिल है। यह Mux के लाइव स्ट्रीमिंग API पर स्ट्रीम करने के लिए बनाया गया है, लेकिन आसानी से किसी भी RTMP एंट्रीपॉइंट को स्ट्रीम कर सकता है।


-7

अपने बजट के आधार पर, आप रास्पबेरी पाई कैमरा का उपयोग कर सकते हैं जो एक सर्वर पर छवियां भेज सकते हैं। मैं यहां दो ट्यूटोरियल जोड़ता हूं जहां आप कई और विवरण पा सकते हैं:

यह ट्यूटोरियल आपको रास्पबेरी पाई कैमरा का उपयोग करने का तरीका दिखाता है और Android डिवाइस पर चित्र प्रदर्शित है

यह दूसरा ट्यूटोरियल है जहां आप कैमरा और एंड्रॉइड डिवाइस के बीच वास्तविक समय वीडियो स्ट्रीमिंग के बारे में ट्यूटोरियल की एक श्रृंखला पा सकते हैं


संदर्भ से बाहर
विकास कंडारी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.