से ffserver को स्ट्रीम करने के लिए कैसे करें मुझे एक एंड्रॉइड कैमरा/फ़ाइल से रिमोट ffserver पर स्ट्रीम करने की आवश्यकता है जो मेरे वीडियो को प्रसारित करेगा। मैं की तरह एक आदेश जारी करके ubuntu में डेस्कटॉप पर ऐसा कर सकते हैं:एंड्रॉइड
ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 http://192.168.0.20:8090/cam1.ffm
या इस तरह की एक फ़ाइल स्ट्रीम:
ffmpeg -i /home/kev/share/movie.mp4 http://192.168.0.20:8090/cam1.ffm
तो बुनियादी तौर पर मैं एंड्रॉयड से ऊपर ऐसा करने में सक्षम होना चाहता हूँ। कई खोजों के बाद मैंने अभी तक यह किया है - मैं इस लिंक पर आया http://bambuser.com/opensource जिसमें से मैंने ffmpeg स्रोत डाउनलोड किया और इसे बनाया। निर्माण आउटपुट कई चीजें: 1. साझा libs [libavcodec, libavcore, libavdevice, libavfilter, libavformat, libavutil, libswscale] 2. निष्पादनयोग्य [ffmpeg, ffprobe]
नहींयकीन है कि कैसे इन संसाधनों के साथ मेरी कार्यक्षमता प्लग करने के लिए इस मैंने अभी तक कोशिश की है: 1. System.loadLibrary() का उपयोग करके मेरी गतिविधि में libs को लोड किया गया है तो ffmpeg निष्पादन योग्य को संपत्ति फ़ोल्डर में कॉपी किया गया है जो रनटाइम पर मैंने अपने एप्लिकेशन की "फ़ाइलें" निर्देशिका में कॉपी की है, फिर मैं अनुमतियां सेट करता हूं Runtime.getRuntime()। exec() का उपयोग कर निष्पादन योग्य।
Runtime.getRuntime().exec("ffmpeg -i file:///android_asset/movie.mp4http://<server>:8090/cam1.ffm");
2. कॉपी किया ffmpeg.c, साझा पुस्तकालयों और "" फ़ोल्डर है कि मेरे JNI फ़ोल्डर में निर्माण से उत्पन्न हुआ है और कहा: तो अंतिम चरण निम्नलिखित बयान के साथ जावा में यह निष्पादित करने के लिए था एक jni फ़ंक्शन जो ffmpeg.c में मुख्य() फ़ंक्शन के आसपास लपेटता है। इस दृष्टिकोण के साथ मुझे अपने आप को ndk-build के सफल होने के लिए ffmpeg स्रोत से कई शीर्षलेख फ़ाइलों की प्रतिलिपि बनाना पड़ता है और मुझे संदेह है कि यह जाने का तरीका है या नहीं।
उपर्युक्त दो दृष्टिकोण मेरे लिए काम नहीं करते हैं, मुझे यकीन नहीं है कि मैं कहां गलत हो रहा हूं, इसलिए एंड्रॉइड से एक एमपी 4 फ़ाइल की तरह एक साधारण ffmpeg स्ट्रीमिंग करने के तरीके पर कोई मदद की सराहना की जाएगी।
क्या आपके पास लापता निर्भरताओं को ठीक करने के लिए नमूना प्रोजेक्ट है? – StackOverflowed