पर काम नहीं कर रहे आरटीएमपी स्ट्रीम को धक्का दिया है मुझे सेमी-लाइव-स्ट्रीम बनाना है। मैं Nginx-RTMP मॉड्यूल इस्तेमाल किया और फिर का उपयोग कर ffmpeg के माध्यम से इसे करने के लिए सामग्री धक्का दिया:एफएफएमपीईजी ने एंड्रॉइड और आईफोन
ffmpeg -re -i content.mp4 -r 25 -f fvl "rtmp://rtmp.server.here"
धारा ठीक चलता है जब मैं से वीएलसी में खोलने "RTMP: //rtmp.server.here"
लेकिन मुझे आईफोन और एंड्रॉइड ऐप भी बनाना है जो इन धाराओं को खेलते हैं। और यह समस्या है, स्ट्रीम एंड्रॉइड और आईफोन पर काम नहीं करती है।
यदि मैं अपने स्वयं के nginx-rtmp सर्वर की बजाय वाहजा स्ट्रीमिंग क्लाउड और Wowza क्लाउड पर स्ट्रीम करता हूं तो एंड्रॉइड & आईफोन के लिए लिखा गया एक ही ऐप स्ट्रीम को ठीक से प्लेबैक कर सकता है।
अब या तो nginx-rtmp सही काम नहीं कर रहा है, या और क्या? मैंने crtmpserver भी कोशिश की है और वही बात होती है।
क्या मैं प्राप्त करना चाहते हैं: मैं एक प्रणाली जहां हम एक सर्वर के लिए एक टीवी चैनल (इसके लिए अधिकार है) अपस्ट्रीम और तो कर सकते हैं एक वेबसाइट, Android एप्लिकेशन विकसित करने के लिए है & iPhone ऐप्लिकेशन इसलिए उपभोक्ताओं कर सकते हैं लाइव चैनल देखें।
अपलोडिंग भाग में मुझे सर्वर पर स्ट्रीम करने के लिए शायद एक टीवी ट्यूनर कार्ड और ओपन ब्रॉडकास्ट सॉफ्टवेयर का एक सुराग है। लेकिन लाइव प्लेबैक मेरे लिए नया है।
अद्यतन: मैं भी ffprobe का इस्तेमाल किया और यहां उत्पादन है। (अंतिम पंक्ति देखें)
[email protected]:~$ ffprobe rtmp://rtmp.server.here
ffprobe version 2.6.2 Copyright (c) 2007-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
libavutil 54. 20.100/54. 20.100
libavcodec 56. 26.100/56. 26.100
libavformat 56. 25.101/56. 25.101
libavdevice 56. 4.100/56. 4.100
libavfilter 5. 11.102/5. 11.102
libavresample 2. 1. 0/2. 1. 0
libswscale 3. 1.101/3. 1.101
libswresample 1. 1.100/1. 1.100
libpostproc 53. 3.100/53. 3.100
[flv @ 0x267cc60] Stream discovered after head already parsed
Last message repeated 1 times
Input #0, flv, from 'rtmp://stage.funworldpk.com/live':
Metadata:
Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
displayWidth : 320
displayHeight : 240
fps : 20
profile :
level :
Duration: 00:00:00.00, start: 288.763000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 20 fps, 20 tbr, 1k tbn, 40 tbc
Stream #0:1: Data: none
Stream #0:2: Audio: aac (LC), 22050 Hz, stereo, fltp
Unsupported codec with id 0 for input stream 1
अद्यतन 2: मैं Wowza स्ट्रीमिंग सर्वर का लाइसेंस प्रतिलिपि का उपयोग करके काम कर मेरी धारा मिला है। सब कुछ अब काम करता है। लेकिन जाहिर है यह हर किसी के लिए एक विकल्प नहीं होगा इसलिए मैं इसे उत्तर के रूप में पोस्ट नहीं कर रहा हूं।
आप अपनी स्ट्रीम और Wowza आउटपुट के बीच एन्कोडिंग अंतर हैं या नहीं, यह जांचने के लिए आप 'ffprobe' का उपयोग करने का प्रयास कर सकते हैं। – aergistal
@Aergistal मैंने ffprobe आउटपुट के साथ उत्तर अद्यतन किया है। – BlackDivine
Wowza और Nginx धाराओं के लिए 'ffprobe' आउटपुट की तुलना करें –