2010-06-28 16 views
7

से आरटीपी के माध्यम से स्ट्रीमिंग एच .264 वीडियो यदि आप एच 264 स्ट्रीमिंग समस्या के साथ मेरी मदद कर सकते हैं तो मैं बहुत हद तक आभारी हूं कि मैं सप्ताहों के लिए हल करने की कोशिश कर रहा हूं।लाइव 555 से वीएलसी

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

यह SDP फाइल RTSP (विन्यास कि काम करता है) के माध्यम से प्रेषित है:

v=0 
o=- 1277647151953158 1 IN IP4 190.40.14.100 
s=Session streamed by "testH264VideoAudioStreamer" 
i=test-h264-mux.mpg 
t=0 0 
a=tool:LIVE555 Streaming Media v2007.05.24 
a=type:broadcast 
a=control:* 
a=source-filter: incl IN IP4 * 190.40.14.100 
a=rtcp-unicast: reflection 
a=range:npt=0- 
a=x-qt-text-nam:Session streamed by "testH264VideoAudioStreamer" 
a=x-qt-test-inf:test-h264=mux.mpg 
m=video 8554 RTP/AVP 96 
c=IN IP4 190.40.15.63/7 
a=rtpmap:96 H264/90000 
a=fmtp:96 packetization-mode=1;profile-level-id=000042;sprop-parameter-sets=H264 
a=control:track1 

लेकिन अगर मैं आरटीपी को RTSP से स्विच, यह काम नहीं करता। मैंने वीएलसी प्लेयर में उपर्युक्त एसडीपी फ़ाइल लोड करने का प्रयास किया है, लेकिन इससे मदद नहीं मिलती है।

यहाँ है वीएलसी प्लेयर 0.8.6d की डिबग आउटपुट के कुछ:

main input debug: thread 4016 (input) created at priority 1 (input/input.c:265) 
main input debug: `rtp://@190.40.15.63:8554' gives access `rtp demux' `' path `@190.40.15.63:8554' 
main input debug: creating demux: access='rtp' demux='' path='@190.40.15.63:8554' 
main demuxer debug: looking for access_demux module: 0 candidates 
main demuxer warning: no access_demux module matched "rtp" 
main input debug: creating access 'rtp' path='@190.40.15.63:8554' 
main access debug: looking for access2 module: 6 candidates 
access_udp access debug: opening server=:0 local=190.40.15.63:8554 
main access debug: net: connecting to '[]:[email protected][190.40.15.63]:8554 
main access debug: looking for netrowk module: 1 candidate 
ipv6 access debug: 190.40.15.63: Host or service not found 
main access debug: using network module "ipv6" 
main access debug: removing network module "ipv6" 
main access debug: looking for netrowk module: 1 candidate 
ipv4 access debug: resolving 190.40.15.63:8554... 
ipv4 access debug: resolving :0... 
main access debug: using network module "ipv4" 
main access debug: removing network module "ipv4" 
main access debug: using access2 module "access_udp" 
main private debug: pre buffering 
access_udp access debug: no RTP header detected 
main input debug: creating demux: access='rtp' demux='' path='@190.40.15.63:8554' 
main demuxer debug: looking for demux2 module: 45 candidates 
ts demuxer warning: TS module discarded (lost sync) 
ffmpeg demuxer debug: detected format: mp3 

(वहाँ लिखने की त्रुटियों क्योंकि मैं इसे मैन्युअल रूप से कॉपी करने के लिए किया था हो सकता है - मत पूछो :))

में वीएलसी 1.0.5 मुझे अज्ञात पेलोड प्रकार त्रुटि मिलती है, और अज्ञात नेटवर्क स्टैक त्रुटि की वजह से एसडीपी लोड नहीं किया जा सकता है। प्रदर्शित अन्य त्रुटियां एसडीपी कनेक्शन इंफोस समर्थित नहीं हैं और सैप डेमक्सर चेतावनी: अमान्य एसडीपी

किसी भी मदद की सराहना की जाएगी!

धन्यवाद,

इल्या

+1

एक त्वरित टिप्पणी: आपकी एसडीपी फ़ाइल तकनीकी रूप से अमान्य है। आपको एसपीएस और पीपीएस जानकारी बेस -64 एन्कोडिंग होना चाहिए, इसे अल्पविराम से सीमित करना चाहिए, और इसे अपने स्पॉप-पैरामीटर-सेट में जोड़ना चाहिए। आप इसे "H264" स्ट्रिंग पर सेट कर रहे हैं जो निश्चित रूप से गलत है (हालांकि दुर्भाग्य से बहुत आम है)। – kidjan

उत्तर

8

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

मैं तो क्या किया था:

  1. RTSP (विधि है कि काम करता है),
  2. उपयोग Wireshark साथ स्ट्रीम एसडीपी RTSP पर प्रसारित फ़ाइल,
  3. सहेजें एसडीपी पाठ फ़ाइल के रूप रिकॉर्ड करने के लिए विस्तार के साथ .sdp,
  4. वीएलसी में, सीधे नेटवर्क स्ट्रीम खोलने के बजाय एसडीपी फ़ाइल खोलें।

और यह जादू किया!